You are on page 1of 3

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,
direccin 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 aadir las restricciones en la tabla departamentos para controlar que la
fecha de alta sea menor que la fecha de consolidacin y salario con respecto de
presupuesto:

ALTER TABLE EMPLEADOS
ADD CONSTRAINT FECHAS_CK CHECK Fecha_Alta <Fecha_consolidacin,
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,
ao DATE
);

CREATE TABLE INTEGRANTES
(
num_integrante INT,
num_grupo INT,
nom_integrante VARCHAR(20),
ape_integrante VARCHAR(30),
Ao_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),
ao_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
)

You might also like