Solucion - base de datos - peatones, atropellados
PEATONES
(dni: domDNI, nombre: domNombre, edad: domEdad) CP(dni)
COCHES
(matrícula: domMat, marca: domCad, modelo: domCad) CP(matrícula)
ATROPELLADOS
(dni: domDNI,
matrícula: domMat)
CP (dni, matrícula) CAj (dni) → PEATONES CAj (matrícula) → COCHES
OCURRENCIA DEL ANTERIOR ESQUEMA
PEATONES DNI nombre 21 JUAN 22 MARI 23 PEPE 24 JUANI 55BARTOLO 56 FROILAN
edad 18 20 55 31 102 5
COCHES matricula 1B 2B 3B 4B 5B 6B
marca SEAT SEAT AUDI TOYOTA RENAULT SEAT
modelo CORDOBA TOLEDO A3 CELICA MEGANE CORDOBA
ATROPELLADOS DNI Matricula 55 1B 55 2B 55 3B 55 4B 55 5B 55 6B 21 1B 21 6B 23 1B Responde a cada una de las siguientes consultas a la BD 1. peatones 2. nombre de los peatones 3. peatones de menos de 30 años 4. nombre de lospeatones de menos de 30 años 5. nombre de los peatones y marca y modelo del coche que los ha atropellado 6. nombre y edad de los peatones atropellados 7. nombre y edad de los peatones atropellados por un seat o por un renault 8. nombre y edad de los peatones atropellados por un seat y por un renault 9. nombre de los peatones atropellados (al menos una vez) por un SEAT CORDOBA 10.nombre de lospeatones atropellados sólo (únicamente) por SEAT 11.todas las posibles combinaciones de (dni, marca) 12.nombre y edad de los peatones atropellados por todos los coches 13.nombre del anciano del grupo
TABLAS SOLUCIÓN 2 nombre BARTOLO FROILAN JUAN JUANI MARI PEPE 3 dni 21 22 56 4 nombre JUAN MARI FROILAN edad 18 20 5 PEATONES ∞ ATROPELLADOS nombre edad dni matricula BARTOLO 102 55 1B BARTOLO 102 552B BARTOLO 102 55 3B BARTOLO 102 55 4B BARTOLO 102 55 5B BARTOLO 102 55 6B JUAN 18 21 1B JUAN 18 21 6B PEPE 55 23 1B
Nombre FROILAN JUAN MARI 5 nombre marca modelo BARTOLO AUDI A3 BARTOLO RENAULT MEGANE BARTOLO SEAT CORDOBA BARTOLO SEAT TOLEDO BARTOLO TOYOTA CELICA JUAN SEAT CORDOBA PEPE SEAT CORDOBA 6 nombre edad BARTOLO 102 JUAN 18 PEPE 55 7 nombre edad BARTOLO 102 JUAN 18 PEPE 55 8 nombreedad BARTOLO 102
PEATONES ∞ ATROPELLADOS ∞ COCHES nombre edad dni matricula marca BARTOLO 102 55 1B SEAT BARTOLO 102 55 2B SEAT BARTOLO 102 55 3B AUDI BARTOLO 102 55 4B TOYOTA BARTOLO 102 55 5B RENAULT BARTOLO 102 55 6B SEAT JUAN 18 21 1B SEAT JUAN 18 21 6B SEAT PEPE 55 23 1B SEAT modelo CORDOBA TOLEDO A3 CELICA MEGANE CORDOBA CORDOBA CORDOBA CORDOBA
Peatones (“toda información disponible delos …”) Nombre de los peatones Nombre de los peatones de menos de 30 años Nombre de los peatones de entre 20 y 30 años Nombre y edad de los peatones de entre 20 y 30 años
select * from peatones
PEATONES PEATONES [nombre] PEATONES donde edad= 20 y edad =20 y edad=20 y edad 20 daría resultado vacío (de tuplas) ya que la columna edad ha sido descartada por la proyección inmediatamente anterior.Igual que la selección, que la columna por la que queremos proyectar exista en la relación resultado de la operación inmediatamente anterior. El operador ∞ compara automáticamente las columnas con el mismo nombre y dominio que se encuentran en las dos tablas operando. Si las columnas que queremos utilizar no tienen el mismo nombre (evidentemente, para poder compararlas deben estar definidas sobreel mismo dominio) debemos utilizar el producto cartesiano, la selección y la proyección para simular la concatenación natural. No tiene restricciones. Las tablas deben ser compatibles, esto es, las columnas de una y otra tabla deben estar definidas sobre el mismo dominio (pero no necesariamente van a tener el mismo nombre). Esta condición depende del orden de las columnas, es decir, la primeracolumna de una tabla debe ser del mismo dominio que la primera columna de la otra, lo mismo para las segundas, ... Igual que la unión Igual que la unión Es obligatorio que las últimas columnas de la tabla dividendo tengan el mismo nombre y dominio que todas las columnas de la tabla divisor y, además, en el mismo orden
Proyección
Concatenación
Producto cartesiano Unión
Intersección...
Regístrate para leer el documento completo.