Taller Administracion Base de Datos
1. Crear las tablas director y despachos con sus respectivas restricciones.
CREATE TABLE directores (
DNI VARCHAR(8) CONSTRAINT PK_directores PRIMARY KEY,
NomApels VARCHAR(255),DNIJefe VARCHAR(8) NOT NULL,
Despacho INT NOT NULL,
CONSTRAINT FK2_DNIJefe FOREIGN KEY(DNIJefe) REFERENCES directores (DNI) ON DELETE CASCADE);
CREATE TABLE despachos (
Numero intPRIMARY KEY,
Capacidad int);
ALTER TABLE directores add (CONSTRAINT FK1_Despacho FOREIGN KEY (Despacho) REFERENCES despachos (Numero) ON DELETE CASCADE);
2. Mostrar el DNI, nombre y apellidosde todos los directores.
SELECT DNI, NomApels FROM DIRECTORES;
3. Mostrar los datos de los directores que no tienen jefes
SELECT NomApels FROM directores WHERE DNIJefe IS NULL;
4.Mostrar el nombre y apellido de cada director junto con la capacidad del despacho en que se encuentra.
SELECT d.NomApels, c.Capacidad FROM directores d join despachos c on d.despacho = c.numero ;5. Mostrar el número de directores que hay en cada despacho
Select COUNT(d.NomApels) from directores d join despacho c on d.despacho = c.numero and d.despacho is not null;
6. Mostrar losdatos de los directores cuyos jefes no tienen jefes
select d.NomApels from directores d where d.DNIJefe is null;
7. Mostrar los nombres y apellidos de los directores junto con los de sujefe.
select d.NomApels as "nombre directores", c.DNIJefe as "nombre jefe" from directores d join directores c on d.NomApels c.DNIJefe where c.DNIJefe is not null;
8. Mostrar el número dedespachos que están sobreutilizados
No lo entendi
9. Añadir un nuevo director llamado Juan arrieta, DNI 123456, sin jefe y situado en el despacho 124.
INSERT INTO directores (DNI, NomApels,DNIJefe, Despacho) VALUES (123456, 'jorge carreño', null, 124);
10. Despedir a todos los directores , excepto a los que no tienen jefe.
delete from directores where DNIJefe is not null;
Regístrate para leer el documento completo.