CREATE SCHEMA "ADMINISTRATOR";
CREATE TABLE "ADMINISTRATOR"."BARES" (
"CODB" VARCHAR(3) NOT NULL,
"NOMBRE" VARCHAR(15) NOT NULL,
"CIF" VARCHAR(10),
"LOCALIDAD" VARCHAR(20) NOT NULL
)
DATA CAPTURE NONE IN "USERSPACE1";
CREATE TABLE "ADMINISTRATOR"."CERVEZAS" (
"CODC" VARCHAR(3) NOT NULL,
"ENVASE" VARCHAR(10) NOT NULL,
"CAPACIDAD" DECIMAL(6 , 3) NOT NULL,
"STOCK" INTEGER NOT NULL
)
DATA CAPTURE NONE IN "USERSPACE1";
CREATE TABLE "ADMINISTRATOR"."EMPLEADOS" (
"CODE" VARCHAR(3) NOT NULL,
"NOMBRE" VARCHAR(30) NOT NULL,
"SUELDO" INTEGER NOT NULL
)
DATA CAPTURE NONE IN "USERSPACE1";
CREATE TABLE "ADMINISTRATOR"."REPARTO" (
"CODE" VARCHAR(3) NOT NULL,
"CODB" VARCHAR(3) NOT NULL,
"CODC" VARCHAR(3) NOT NULL,
"FECHA" DATE NOT NULL,
"CANTIDAD" INTEGER NOT NULL
)
DATA CAPTURE NONE IN "USERSPACE1";
ALTER TABLE "ADMINISTRATOR"."BARES" ADD CONSTRAINT "SQL110915083013030" PRIMARY KEY
("CODB");
ALTER TABLE "ADMINISTRATOR"."CERVEZAS" ADD CONSTRAINT "SQL110915090449660" PRIMARY KEY
("CODC");
ALTER TABLE "ADMINISTRATOR"."EMPLEADOS" ADD CONSTRAINT "SQL110915083625520" PRIMARY KEY
("CODE");
ALTER TABLE "ADMINISTRATOR"."REPARTO" ADD CONSTRAINT "SQL110915083904570" PRIMARY KEY
("CODE",
"CODB",
"CODC");
ALTER TABLE "ADMINISTRATOR"."REPARTO" ADD CONSTRAINT "SQL110915084519020" FOREIGN KEY
("CODE")
REFERENCES "ADMINISTRATOR"."EMPLEADOS"
("CODE");
ALTER TABLE "ADMINISTRATOR"."REPARTO" ADD CONSTRAINT "SQL110915084537220" FOREIGN KEY
("CODB")
REFERENCES "ADMINISTRATOR"."BARES"
("CODB");
ALTER TABLE "ADMINISTRATOR"."REPARTO" ADD CONSTRAINT "SQL110915090459180" FOREIGN KEY
("CODC")
REFERENCES "ADMINISTRATOR"."CERVEZAS"
("CODC");
GRANT CREATEIN ON SCHEMA "ADMINISTRATOR" TO PUBLIC;
*Nota: el script crea la base de datos vacía.
Algunos ejemplos de querys en SQL, usando unas tablas diferentes pero se puder dar una idea.
ResponderEliminar1. Obtener el nombre de los conductores con categoría 15.
SELECT DISTINCT conductores.nombre
From conductores
where conductores.categ = '15'
2. Obtener la descripción de los proyectos en los que se haya realizado trabajos durante los días 11 al 15 de septiembre de 2002.
select distinct proyecto.descrip
from proyecto, trabajos
where trabajos.fecha between '2002-09-11' AND '2002-09-15'
and trabajos.codp = proyecto.codp
3. Obtener el nombre de los conductores que hayan trabajado con una Hormigonera, ordenados descendentemente.
select distinct conductores.nombre
from conductores, maquina, trabajos
Where trabajos.codc = conductores.codc
and trabajos.codm = maquina.codm
and maquina.nombre = 'Hormigonera'
order by nombre desc
4. Obtener el nombre de los conductores que hayan trabajado con una Hormigonera en proyectos de Arganda.
select distinct conductores.nombre
from conductores, maquina, trabajos, proyecto
Where trabajos.codc = conductores.codc
and trabajos.codm = maquina.codm
and trabajos.codp = proyecto.codp
and maquina.nombre = 'Hormigonera'
and proyecto.localidad = 'Arganda’
5. Obtener el nombre de los conductores y descripción del proyecto, para aquellos conductores que hayan trabajado con una Hormigonera en proyectos de Arganda durante los días 12 al 17 de Septiembre
select conductores.nombre, proyecto.descrip
from conductores, maquina, trabajos, proyecto
where trabajos.fecha between '2002-09-12' AND '2002-09-17'
and trabajos.codc = conductores.codc
and trabajos.codm = maquina.codm
and trabajos.codp = proyecto.codp
and maquina.nombre = 'Hormigonera'
and proyecto.localidad = 'Arganda'
6. Obtener los conductores que trabajan en los proyectos de José Pérez
select distinct conductores.nombre
from conductores, proyecto, trabajos
where trabajos.codp = proyecto.codp
and trabajos.codc = conductores.codc
and proyecto.cliente = 'Jose Perez'
7. Obtener el nombre y localidad de los conductores que no trabajan en los proyectos de José Pérez
select distinct conductores.nombre, conductores.localidad, trabajos.fecha
from conductores, proyecto, trabajos
where trabajos.codp = proyecto.codp
and trabajos.codc = conductores.codc
and proyecto.cliente != 'Jose Perez'
8. Obtener todos los datos de los proyectos realizados en Rivas o que sean de un cliente llamado José
select *
from proyecto
where proyecto.localidad = 'Rivas'
or proyecto.cliente = 'Jose Perez'
9. Obtener los conductores que habiendo trabajado en algún proyecto, figuren sin horas trabajadas.
select distinct conductores.nombre, trabajos.tiempo
from conductores, trabajos
where trabajos.codc = conductores.codc
and trabajos.tiempo is null
10. Obtener los empleados que tengan como apellido Pérez y hayan trabajado en proyectos de localidades diferentes a las suya
select distinct conductores.nombre, trabajos.tiempo
from conductores, proyecto, trabajos
where trabajos.codc = conductores.codc
and trabajos.codp = proyecto.codp
and proyecto.localidad != 'Rivas'
and conductores.nombre like '%Perez%'
oiga pana , le faltan 4 consultas mas
Eliminar11.- Obtener el nombre de los conductores y la localidad del proyecto, para aquellos conductores que hayan trabajado con máquinas con precio hora comprendido entre 10000 y 15000 ptas.
12.- Obtener el nombre de los conductores y el nombre y localidad de los clientes, en los que se haya utilizado la máquina con precio hora más elevado.
13.- Obtener por cada uno de los clientes el tiempo total empleado en sus proyectos.
14.- Obtener los conductores que hayan trabajado en todos los proyectos de la localidad de Arganda