Está en la página 1de 3

CREATE DOMAIN dom_nombres AS varchar(30); CREATE DOMAIN dom_distribuidores AS varchar(40); CREATE DOMAIN dom_estudios AS varchar (40); CREATE DOMAIN

dom_formatos AS varchar (40); CREATE DOMAIN dom_generos AS varchar (40); CREATE DOMAIN dom_peliculas AS varchar (40); CREATE TABLE DISTRIBUIDORES( ID_DISTRIBUIDOR int NOT NULL, NOMBRE_DISTRIBUIDOR dom_distribuidores NOT NULL, DIRECCION varchar(30) NOT NULL, TELEF_DISTRIBUIDOR char(11), FAX_DISTRIBUIDOR char(7), PRIMARY KEY(ID_DISTRIBUIDOR) ); CREATE TABLE ESTUDIOS( ID_ESTUDIO int NOT NULL, NOMBRE_ESTUDIO dom_estudios NOT NULL, ESTATUS char(1) NOT NULL, PRIMARY KEY(ID_ESTUDIO) ); CREATE TABLE FORMATOS( ID_FORMATO int NOT NULL, NOMBRE_FORMATO dom_formatos NOT NULL, PRIMARY KEY (ID_FORMATO) ); CREATE TABLE GENEROS( ID_GENERO int NOT NULL, NOMBRE_GENERO dom_generos NOT NULL, PRIMARY KEY(ID_GENERO) ); CREATE TABLE PELICULAS( ID_PELICULA int NOT NULL, NOMBRE_PELICULA dom_peliculas NOT NULL, DURACION int NOT NULL, NACION_PELICULA varchar (20) NOT NULL, FEC_ESTENO date NOT NULL, ID_DISTRIBUIDOR int REFERENCES DISTRIBUIDORES(ID_DISTRIBUIDOR), ID_ESTUDIO int REFERENCES ESTUDIOS(ID_ESTUDIO), SINOPSIS text NOT NULL, PRECIO real NOT NULL, EXISTENCIA smallint NOT NULL, CONSTRAINT clave_pelicula PRIMARY KEY(ID_PELICULA) );

CREATE TABLE SOCIOS( ID_SOCIO int NOT NULL, NOMBRE_SOCIO dom_nombres NOT NULL, FEC_AFILIACION date NOT NULL, FEC_CADUCARNET date NOT NULL, DIRECCION varchar(30) NOT NULL, TELEFONO char(11) NOT NULL, FOTO_S char(1), CHECK (FECHA_CADUCARNET > FECHA_AFILIACION), CONSTRAINT clave_socio PRIMARY KEY (ID_SOCIO) ); CREATE TABLE ALQUILERES( ID_PELICULA_A int REFERENCES PELICULAS(ID_PELICULA) NOT NULL, ID_SOCIO_A int REFERENCES SOCIOS(ID_SOCIO) NOT NULL, FECHA_ALQUILER date NOT NULL, DIAS_ALQUILER int NOT NULL, FECHA_DEVOLUCION date NOT NULL, CHECK ((DIAS_ALQUILER > 1) AND (DIAS_ALQUILER < 30)), CONSTRAINT clave_alquiler PRIMARY KEY (ID_PELICULA_A, ID_SOCIO_A, FECHA_ALQUILER), CONSTRAINT fecha_alquiler CHECK (FECHA_DEVOLUCION > FECHA_ALQUILER) ); CREATE TABLE ACTORES( ID_ACTOR int NOT NULL PRIMARY KEY, NOMBRE_ACTOR dom_nombres NOT NULL, NACION_ACTOR varchar(10) NOT NULL, FEC_NACIMIENTO date NOT NULL, FEC_FALLECIMIENTO date NOT NULL, LUGAR_NAC varchar(30) NOT NULL, FOTO_A char(1) NOT NULL, CHECK (FECHA_FALLECIMIENTO > FECHA_NACIMIENTO) ); CREATE TABLE DIRECTORES( ID_DIRECTOR int NOT NULL PRIMARY KEY, NOMBRE_DIRECTOR dom_nombres NOT NULL, NACIO_DIRECTOR varchar(15) NOT NULL, FEC_NACIMIENTO date NOT NULL, FEC_FALLECIMIENTO date NOT NULL, LUGAR_NACIMIENTO varchar(30) ); CREATE TABLE PELICULAS_ACTOR( ID_PELICULA_PA int REFERENCES PELICULAS(ID_PELICULA) NOT NULL, ID_ACTOR_PA int REFERENCES ACTORES(ID_ACTOR) NOT NULL, PERSONAJE varchar(30) NOT NULL, PRIMARY KEY (ID_PELICULA_PA, ID_ACTOR_PA) );

CREATE TABLE DIRECTOR_PELICULAS( ID_DIRECTOR_DP int REFERENCES DIRECTORES(ID_DIRECTOR) NOT NULL, ID_PELICULA_DP int REFERENCES PELICULAS(ID_PELICULA) NOT NULL, PRIMARY KEY(ID_DIRECTOR_DP, ID_PELICULA_DP) ); CREATE INDEX IDX_GENERO ON GENEROS(NOMBRE_GENERO); CREATE INDEX IDX_FORMATO ON FORMATOS(NOMBRE_FORMATO);

También podría gustarte