domingo, 25 de septiembre de 2011

Codigo para crear tablas en SQL

A continuacion se presentara una sentencia de codigos para la realizacion de tablas con sus respetivos campos y tipos de datos asi como ciertas restricciones dentro de los campos, que dentro del material proporcionado una caracteristica de este su contenido era erroneo.

CREATE TABLE pelicula (

cip VARCHAR2 (10) NOT NULL,
titulo_p VARCHAR2 (45) NOT NULL,

ano_produccion NUMBER (4) NOT NULL,

titulo_s VARCHAR2 (45),

nacionalidad VARCHAR2 (15),

presupuesto NUMBER (11) CHECK (presupuesto > 0),

duración NUMBER (3)
CHECK (duracion > 0),
CONSTRAINT pk_pelicula

PRIMARY KEY (cip),

UNIQUE (titulo_p, ano_produccion)
);

CREATE TABLE personaje (

nombre_persona VARCHAR2 (25) NOT NULL,
nacionalidad_persona VARCHAR2 (15),

sexo_persona CHAR (1) CHECK (sexo_persona IN (‘H’, ‘M’)),

CONSTRAINT pk_personaje

PRIMARY KEY (nombre_persona)
);

CREATE TABLE tarea (

tarea VARCHAR2 (30) NOT NULL,
sexo_tarea CHAR (1) CHECK (sexo_ tarea IN (‘H’, ‘M’, ‘N’))
CONSTRAINT pk_tareaPRIMARY KEY (tarea) );

CREATE TABLE trabajo(

cip VARCHAR2 (25) NOT NULL,
tarea VARCHAR2 (35) NOT NULL,

nombre_persona VARCHAR2(25) NOT NULL

CONSTRAINT fk_Tra_Pel FOREING KEY (cip) REFERENCES pelicula (cip) ON DELETE CASCADE,

CONSTRAINT fk_tra_per FOREIGN KEY (nombre_persona) REFERENCES Personaje (nombre_persona) ON DELETE CASCADE,

CONSTRAINT fk_tra_tar FOREIGN KEY (tarea) REFERENCES tarea (tarea) ON DELETE CASCADE );

CREATE TABLE festival (

festival VARCHAR2 (40) NOT NULL,
fundacion DATE,

CONSTRAINT pk_festival

PRIMARY KEY (festival),

CHECK (festival = INITCAP (festival)) );


CREATE TABLE certamen (

festival VARCHAR2 (40) NOT NULL,
certamen NUMBER (4) NOT NULL,

organizador VARCHAR2 (60),

CONSTRAINT pk_certamen

PRIMARY KEY (festival, certamen),

CONSTRAINT fk_cer_fes FOREIGN KEY (festival) REFERENCES Festival (festival) ON DELETE CASCADE );

CREATE TABLE premio (

premio VARCHAR2 (50),
tarea VARCHAR (50),

CONSTRAINT pk_premio

PRIMARY KEY (premio),

CONSTRAINT fk_pre_tar FOREIGN KEY (tarea) REFERENCES Tarea (tarea) );

CREATE TABLE festival_premio (

festival VARCHAR2 (45) NOT NULL,
premio VARCHAR2 (50) NOT NULL,

galardon VARCHAR2 (50),

CONSTRAINT pk_festiva_premio

PRIMARY KEY (festival, premio),

CONSTRAINT fk_fepr_fes FOREIGN KEY (festival) REFERENCES Festival (festival) ON DELETE CASCADE,

CONSTRAINT fk_fepr_pre FOREIGN KEY (premio) REFERENCES Premio (premio) ON DELETE CASCADE );


CREATE TABLE otorgo (

festival VARCHAR2 (50) NOT NULL,
certamen NUMBER (4) NOT NULL,

premio VARCHAR2 (40) NOT NULL,

cip VARCHAR2 (10) NOT NULL,

CONSTRAINT pk_otorgo

PRIMARY KEY (festival, certamen, premio),

CONSTRAINT fk_otor_fepr FOREIGN KEY (festival, premio) REFERENCES Festival_Premio (festival, premio) ON DELETE CASCADE,

CONSTRAINT fk_otor_cer FOREIGN KEY (festival,certamen) REFERENCES certamen (festival,certamen) ON DELETE CASCADE );


CREATE TABLE reconocimiento (

festival VERCHAR2 (45) NOT NULL,
certamen NUMBER (4) NOT NULL,

premio VARCHAr2 (40)NOT NULL,

nombre_persona VARCHAR2 (35) NOT NULL,

CONSTRAINT pk_recononocimiento

PRIMARY KEY (festival, certamen, premio),

CONSTRAINT fk_reco_fepr FOREIGN KEY (festival, premio) REFERENCES certamen (festival, certamen) ON DELETE CASCADE,

CONSTRAINT fk_reco_per
FOREIGN KEY (nombre_persona) REFERENCES personaje (nombre_persona) ON DELETE CASCADE );


CREATE TABLE cine (

cine VARCHAR2 (25) NOT NULL,
ciudad_cine VARCHAR2 (25),

direccio_cine VARCHAR2 (65),

CONSTRAINT pk_cine

PRIMARY KEY (cine),

CONSTRAINT ck_cin

CHECK (cine=INITCAP (cine)) );

CREATE TABLA sala (

cine VARCHAR2 (25) NOT NULL,
sala NUMBER (2) NOT NULL,

aforo NUMBER(4),

CONSTRAINT pk_sala

PRIMARY KEY (cine,sala),

CONSTRAINT fk_sal_cin
FOREIGN KEY (cine) REFERENCES cine (cine) ON DELETE CASCADE,
CONSTRAINT ck_afr

CHECK (aforo > 0));

CREATE TABLA proyeccion(

cine VARCHAR2 (25) NOT NULL,
sala NUMBER(2) NOT NULL,

cip VARCHAR2 (10) NOT NULL,

fecha_estreno DATE NOT NULL,

dias_ estreno NUMBER(3),

espectadores NUMBER(6),

recaudación NUMBER(8),

CONSTRAINT pk_proyeccion

PRIMARY KEY (cine,sala,cip,fecha_estreno),

CONSTRAINT fk_pro_sal FOREIGN KEY (cine,sala) REFERENCES sala(cine, sala) ON DELETE CASCADE,

CONSTRAINT fk_pro_pel FOREIGN KEY (cip) REFERENCES pelicula (cip) ON DELETE CASCADE,

CONSTRAINT ck_dia

CHECK (dias_estreno > 0) );



por lo tanto podemos concluir que el lenguaje de oracle es similar que al de SQL SERVER ya que los dos emplean PL/SQL un lenguaje de Quinta generación y por lo tanto asi quedaria nuestras lineas de código sin errores, deacuerdo a la estructura correcta de elaboracion.

No hay comentarios:

Publicar un comentario