Solucion – base de datos – peatones, atropellados

ESQUEMA DE BASE DE DATOS ATROPELLOS PEATONES (dni: dom DNI, nombre: domNombre, edad: domEdad) CP(dni) COCHES (matrícula: domMat, marca: domCad, modelo: domCad) CP(matrícula) ATROPELLADOS (dni: domDNl, matrícula: domMat) PACE 1 ors cp (dni, matr[cula) C (matrícula) — to View nut*ge OCURRENCIA DEL AN PEATONES DNI nombre 21 JUAN 22 MARI 23 PEPE 24JUANl 55 BARTOLO 56 FROILAN edad 1820 5531 1025 COCHES matricula 2B 3B 48 68 marca SEAT SEAT AUDI TOYOTA RENAULT SEAT modelo CORDOBA TOLEDO A3 CELICA MEGANE CORDOBA ATROPELLADOS DNI Matricula 55 IB 55 23 55 38 55 48 55 53 55 6B 21 IB 21 68 23 IB Responde a cada una de las siguientes onsultas a la BD 1. oeatones 2. nombre de los oeatones 3. SEAT CORDOBA 1 0. nombre de los peatones atropellados sólo (únicamente) por SEAT 1 1 -todas las posibles combinaciones de (dm, 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 IB BARTOLO 102 55 28 BARTOLO 102 55 33 BARTOLO 102 55 48 BARTOLO 102 55 BARTOLO 102 55 68 JUAN 1821 IBJIJAN 1821 PEPE 5523 IB

Nombre FROILAN JUAN MARI 5 nombre marca modelo BARTOLO AUDI A3 BARTOLO RENAULT MEGANE BARTOLO SEAT CORDOBA BARTOLO SEAT TOLEDO BARTOLO TOYOTA CELICAJUAN SEAT CORDOBA PEPE SEAT CORDOBA 6 nombre edad BARTOLO 102 JUAN 18 PEPE 55 7 nombre edad BARTOLO 102 JUAN 18 PEPE 55 8 nombre edad BARTOLO 102 PEATONES ATROPELLADOS COCHES nombre edad dni matricula marca BARTOLO 102 55 IB SEAT BARTOLO 102 55 28 SEAT BARTOLO 102 55 3B AUDI BARTOLO 102 55 43 TOYOTA BARTOLO 102 55 58 RENAULT BARTOLO 102 55 68 SEAT JUAN 18 21 IB SEAT JUAN 18 21 63 SEAT PEPE 55 23 IB SEAT modelo CORDOBA TOLEDO A3 CELICA MEGANE CORDOBA CORDOBA CORDOBA CORDOBA Peatones («toda información disponible de los Nombre de los peatone RI_IFS 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 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 ompara 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 sobre el 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 ecir, la primera column 31_1fS tener el mismo nombre).

Esta condición depende del orden de las columnas, es decir, la primera columna 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 Unlón Intersección Diferencia División ESTRUCWRA DE LA TABLA RESULTADO DE LA APLICACIÓN DE LOS OPERADORES Las tablas que resultan de la aplicación de los operadores monarios y binarios definidos para el álgebra relacional tienen una estructura (las columnas que las definen) que depende de los operandos y del operador en sí. Todas las columnas tienen un nombre que se compone del nombre de la tabla y del nombre de la columna (R. c, por ejemplo) pero en situaciones en las que no hay ambigüedad (un nombre de columna de una tabla operando no se repite en la otra tabla operando) se puede omitir el nombre de tabla.

La sucesiva aplicacion de operadores implica que en cada operación se tiene en cuenta la estructura de la tabla ntermedia resultado de la operación anterior. Recuérdes 406 S cuenta la estructura de la tabla intermedia resultado de la operación anterior. Recuérdese que la primera operación siempre es el contenido completo de una tabla: PEATONI ATROPELLAD02 [dni, nombre, matricula] COCHE4 La expresión anterior tiene los siguientes resultados intermedios y final: 1 [PEATON. dni, PEATON. nombre, PEATON. edad] 2 [PEATON. dni, PEATON. nombre, PEATON. edad, ATROPELLADO. matricula] 3 [PEATON. dni, PEATON. nombre, ATROPELLADO. matncula] 4 [PEATON. ni, PEATON. nombre, ATROPELLADO. matricula, COCHE. marca, COCHE. modeIo] Selección R donde condición Proyección R[cl cn] Concatenación Producto cartesiano RxS Unión RUS Intersección Diferencia DIVisión R[bl .. bn,cl .. cm] * (S[cl .. cm]) todas las columnas de R las columnas especificadas de R todas las columnas de Ry las no comunes (distinto nombre y/ o dominio) de S todas las columnas de Ry de S. Si hay alguna columna de R que se llame igual que alguna de S hay que especificar, si utilizamos esas columnas en alguna expresión, la tabla a la que pertenece todas las columnas de R todas las columnas de R todas las columnas no comunes de R SÜFS