soluciones al ejercicio ddl 2 y 3 empresa y musica
TRANSCRIPT
EJERCICIOS TEMA 5. ALGEBRA RELACIONAL
SOLUCIONES A LOS EJERCICIOS.
BASE DE DATOS EMPRESA; CREATE DATABASE EMPRESA; CREATE TABLE PERSONA ( dni VARCHAR(9)PRIMARY KEY, nombre VARCHAR(20)NOT NULL UNIQUE, dirección VARCHAR (50)NOT NULL, telefono VARCHAR (9) ); CREATE TABLE EMPLEADO ( dni VARCHAR(9)PRIMARY KEY, fecha_alta DATE NOT NULL, fecha_consolidacion DATE NOT NULL, salario MONEY, departamento CHAR(3)UNIQUE, jefe VARCHAR(9) CONSTRAINT EMP_FK FOREIGN KEY (jefe) REFERENCES EMPLEADO (DNI) ON UPDATE CASCADE ON DELETE CASCADE, CONSTRAINT PER_FK FOREIGN KEY (DNI) REFERENCES PERSONA (DNI) ON UPDATE CASCADE ON DELETE CASCADE, CONSTRAINT DEP_FK FOREIGN KEY (Departamento) REFERENCES DEPARTAMENTO (cod_dep) ON UPDATE CASCADE ON DELETE CASCADE ); CREATE TABLE DEPARTAMENTO ( cod_dep CHAR(3) PRIMARY KEY, nombre VARCHAR(20)UNIQUE, presupuesto MONEY );
Ahora voy a añadir las restricciones en la tabla departamentos para controlar que la
fecha de alta sea menor que la fecha de consolidación y salario con respecto de
presupuesto:
ALTER TABLE EMPLEADOS
ADD CONSTRAINT FECHAS_CK CHECK Fecha_Alta <Fecha_consolidación,
ADD CONSTRAINT SALARIO_CK CHECK SALARIO<(PRESUPUESTO*0.10)
EJERCICIOS TEMA 5. ALGEBRA RELACIONAL
SOLUCIONES A LOS EJERCICIOS.
EJERCICIO 3 – MUSICA.
CREATE DATABASE MUSICA;
CREATE TABLE GRUPO
(
num_grupo INT PRIMARY KEY,
nom_grupo VARCHAR(50) NOT NULL,
año DATE
);
CREATE TABLE INTEGRANTES
(
num_integrante INT,
num_grupo INT,
nom_integrante VARCHAR(20),
ape_integrante VARCHAR(30),
Año_nacimiento DATE,
CONSTRAINT int_pk PRIMARY KEY (num_integrante , num_grupo ),
CONSTRAINT gru_fk FOREIGN KEY (num_grupo) REFERENCES grupo
(num_grupo)
ON UPDATE CASCADE ON DELETE CASCADE
);
CREATE TABLE DISCOS
(
num_disco INT NOT NULL,
num_grupo INT NOT NULL,
titulo VARCHAR(25),
año_creacion DATE,
CONSTRAINT dis_pk PRIMARY KEY (num_disco , num_grupo ),
CONSTRAINT gru_fk FOREIGN KEY (num_grupo) REFERENCES grupo
(num_grupo) ON UPDATE CASCADE ON DELETE CASCADE
);
EJERCICIOS TEMA 5. ALGEBRA RELACIONAL
SOLUCIONES A LOS EJERCICIOS.
CREATE TABLE CANCIONES
(
num_grupo INT NOT NULL,
num_disco INT NOT NULL,
num_cancion INT NOT NULL,
titulo VARCHAR(20),
duracion numeric(4,2),
CONSTRAINT can_pk PRIMARY KEY (num_grupo , num_disco , num_cancion ),
CONSTRAINT GRUP_FK FOREIGN KEY (num_grupo) REFERENCES GRUPO
(num_grupo) ON UPDATE CASCADE ON DELETE CASCADE,
CONSTRAINT DISC_FK FOREIGN KEY (num_disco) REFERENCES DISCOS
(num_disco) ON UPDATE CASCADE ON DELETE CASCADE
)