ESQUEMA DE BASE DE DATOS ATROPELLOS



Documentos relacionados
select nombre from profesores where categoria='aso6';

Codd propuso estos tres lenguajes como base teórica de cualquier lenguaje que quisiera cumplir con los requisitos formales del modelo.

OPERACIONES FUNDAMENTALES DEL ÁLGEBRA RELACIONAL. Bases de Datos Ingeniería de Sistemas y Computación Universidad Nacional de Colombia 2007

T2B01 Responde con verdadero o falso a las siguientes afirmaciones teniendo en cuenta el siguiente esquema entidad-relación Perros. 0..N 1..

CONSULTAS MULTITABLAS SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Álgebra Relacional. Unidad 5

Introducción al álgebra relacional. Con ejemplos en SQL

Álgebra Relacional (1 de 2)

Para manipular relaciones completas, el álgebra relacional proporciona una serie de operadores que podemos clasificar en:

Capítulo 3: Álgebra Relacional

Matrices equivalentes. El método de Gauss

BASES DE DATOS. TEMA 6. El Álgebra Relacional

S.Q.L. (Lenguaje de Consulta Estructurada) Consultas Avanzadas. Sistemas de Bases de Datos II - ITS EMT CETP

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Operaciones en el Modelo Relacional. Relacional. Relacional. Índice. Lenguajes de Consulta

CONSULTAS DE RESUMEN SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

TEMA II. El Modelo Relacional de Datos. El Modelo Relacional de Datos. El Modelo Relacional de Datos. El Modelo Relacional de Datos. Temario (cont.

4. Modelo Relacional: Manipulación de los datos.

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 10. Álgebra Relacional

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

Sistemas de numeración

El lenguaje SQL es un lenguaje estándar para el acceso y

La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx

1. DML. Las subconsultas


Cómo convertir texto de Word en una tabla de datos en Excel (todas las versiones)

Estrategias Didácticas B-Learning: ÁLGEBRA RELACIONAL

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

Unidad Didáctica. Códigos Binarios

Ecuaciones de primer grado con dos incógnitas

Manual de rol gestor de GAV para moodle 2.5

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora

Sistemas de Bases de Datos I. Modelo Lógico Modelo Relacional

Trabajar con Consultas.

TEMA 5. INTRODUCCIÓN AL MANEJO DE ORIGIN 6.1

Base de datos relacional

Consultas con combinaciones

Este es un ejemplo muy sencillo, un esquema de empleados que trabajan en proyectos, en una relación muchos a muchos.

SITEMA BINARIO, OCTAL Y HEXADECIMAL: OPERACIONES

Anterior Sistemas binarios: Aritmética binaria Siguiente ARITMÉTICA BINARIA. Operaciones elementales con números binarios

VII. Estructuras Algebraicas

3. Modelo relacional: Estructura e integridad.

PESTAÑA DATOS - TABLAS EN EXCEL

UNIVERSIDAD NACIONAL DE ASUNCION FACULTAD POLITÉCNICA CARRERA: LCIK MATERIA: Bases de Datos I Prof: Lic. Lilian Riveros Unidad 2: Modelo Relacional

Ficheros y Bases de Datos Curso Ingeniería Técnica de Informática Primer Parcial. 1-Junio Nombre:

TEMA 4. Diseño Lógico de bases de datos relacionales.

TPVFÁCIL. Caja Real. Definiciones.

Bases de Datos 2. Teórico

ESTRUCTURAS ALGEBRAICAS

Ingeniería en Informática

BASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases.

Algebra Relacional Jos e Ram on Param a Gab ıa

LECCIÓN 4ª Operaciones Numéricas

Lección 24: Lenguaje algebraico y sustituciones

TALLER #5 ACCESS CONSULTAS. objeto Consulta en la vista lateral izquierda de la ventana Base de datos. Aparece esta ventana.

SISTEMAS DE NUMERACIÓN. Sistema de numeración decimal: = =8245,97

TEMA 3: EN QUÉ CONSISTE?

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access)

1. Objetivos. 2. Idea Principal. Teoría de Autómatas y Lenguajes Formales. Boletín de Autoevaluación 3: Cómo se minimiza un AFD?.

SQL (Structured Query Language)

Módulo 9 Sistema matemático y operaciones binarias

Seminario ESTALMAT Valladolid Fernando Tejada Presa

SISTEMAS DE NUMERACIÓN (11001, 011) = = (32,12)

El sistema decimal, es aquél en el que se combinan 10 cifras (o dígitos) del 0 al 9 para indicar una cantidad específica.

Qué son los monomios?

Teoría formal de la normalización de esquemas relacionales. Definición formal de las tres primeras Formas Normales

LAS SUBCONSULTAS SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Fórmulas. Objetivos y Definición. Definir fórmulas nos brinda una forma clave de compartir conocimiento y obtener código generado optimizado

BREVE MANUAL DE SOLVER

Estructuras algebraicas

Bases de Datos Modelo Relacional

3.- DETERMINANTES. a 11 a 22 a 12 a 21

1.- INTRODUCCIÓN 2.- PARÁMETROS

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

Hoja1!C4. Hoja1!$C$4. Fila

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales

BASES DE DATOS TEMA 3. MODELO RELACIONAL

EJERCICIOS SOBRE : DIVISIBILIDAD

Bases de datos relacionales y el modelo entidad-relación

Selectividad Junio 2008 JUNIO 2008 PRUEBA A

Temario. Índices simples Árboles B Hashing

ESTRUCTURAS ALGEBRAICAS. Parte 1

1 UNIDAD 2 FUNCIONES LÒGICAS Y ANIDADAS

Manual para la utilización de PrestaShop

ÁLGEGRA RELACIONAL AUTORÍA ÁNGEL LUIS COBO YERA TEMÁTICA BASES DE DATOS ETAPA CICLOS FORMATIVOS.

Importador Universal - Operaciones

4 Integridad de datos relacional: llaves candidatas y temas relacionados.

LABORATORIO Nº 3 PRÁCTICA DE FUNCIONES EN MICROSOFT EXCEL

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

SISTEMAS DE COORDENADAS SISTEMA COORDENADO UNIDIMENSIONAL

Análisis de los datos

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

CURSO TECNOLOGÍA TECNOLOGÍA 4º ESO TEMA 5: Lógica binaria. Tecnología 4º ESO Tema 5: Lógica binaria Página 1

1. ESPACIOS VECTORIALES

28.- Manejo de los Feriados

DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO

LAS CONSULTAS ACCESS Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Unidad 1 números enteros 2º ESO

TEMA 4. Sistema Sexagesimal. Sistema Octal (base 8): sistema de numeración que utiliza los dígitos 0, 1, 2, 3, 4, 5,

Transcripción:

ESQUEMA DE BASE DE DATOS ATROPELLOS 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 COCHES DNI nombre edad matricula marca modelo 21 JUAN 18 1B SEAT CORDOBA 22 MARI 20 2B SEAT TOLEDO 23 PEPE 55 3B AUDI A3 24 JUANI 31 4B TOYOTA CELICA 55 BARTOLO 102 5B RENAULT MEGANE 56 FROILAN 5 6B SEAT 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 los peatones 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 los peatones 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 3 nombre BARTOLO FROILAN JUAN JUANI MARI PEPE dni nombre edad 21 JUAN 18 22 MARI 20 56 FROILAN 5 4 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 nombre edad BARTOLO 102 PEATONES ATROPELLADOS nombre edad dni matricula BARTOLO 102 55 1B BARTOLO 102 55 2B 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 PEATONES ATROPELLADOS COCHES nombre edad dni matricula marca modelo BARTOLO 102 55 1B SEAT CORDOBA BARTOLO 102 55 2B SEAT TOLEDO BARTOLO 102 55 3B AUDI A3 BARTOLO 102 55 4B TOYOTA CELICA BARTOLO 102 55 5B RENAULT MEGANE BARTOLO 102 55 6B SEAT CORDOBA JUAN 18 21 1B SEAT CORDOBA JUAN 18 21 6B SEAT CORDOBA PEPE 55 23 1B SEAT CORDOBA

Peatones ( toda información disponible de los ) select * from peatones PEATONES Nombre de los peatones select nombre from peatones PEATONES [nombre] 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 nombre from peatones where edad <= 30 select nombre from peatones where edad >= 20 and edad <= 30 select nombre from peatones where edad>=20 and edad<=30 PEATONES donde edad<=30 [nombre] PEATONES donde (edad >= 20 y edad <= 30) [nombre] PEATONES donde (edad>=20 y edad<=30) [nombre, edad] o PEATONES [nombre, edad] donde (edad>=20 y edad<=30) Dni de los peatones atropellados select dni from atropellados ATROPELLADOS [dni] Dni de los peatones select dni from peatones PEATONES [dni] Dni de los peatones que no han sido atropellados nunca Nombre de los peatones que no han sido atropellados nunca select dni from peatones MINUS select dni from atropellados select nombre from peatones where dni not in (select dni from atropellados) PEATONES [dni] (ATROPELLADOS [dni] ) PEATONES [dni] (ATROPELLADOS [dni] ) PEATONES [nombre] operación Operador binario necesita relaciones compatibles conmutativa asociativa atributos iguales necesita orden entre los atributos basico selección donde f NO NO SI proyección [ ] NO NO SI producto SI NO SI SI NO NO SI cartesiano concatenación SI NO SI SI SI NO NO natural unión SI SI SI SI NO SI SI intersección SI SI SI SI NO SI NO diferencia SI SI NO NO NO SI SI división SI NO NO NO SI SI NO

Operadores operador símbolo acción ejemplo observaciones selección donde selecciona filas R donde condición ( ) < > <= >= <> y o proyección [ ] concatenación natural división unión intersección diferencia producto cartesiano selecciona columnas R[c,d,e] combina filas R S filas de una tabla que se relacionan con todas las de otra igual que conjuntos igual que conjuntos igual que conjuntos R S R S R S R S R S Orden de precedencia de operadores elimina duplicados al menos un atributo común, proyección automática sobre los datos comunes necesita columnas comunes, orden entre columnas casi siempre en combinación con otro operador Subexpresiones entre paréntesis primero; en cualquier otro caso de izquierda a derecha.

SOLUCIONES 1. nombre de los peatones PEATONES[nombre] 2. peatones de menos de 30 años PEATONES donde edad < 30 3. nombre de los peatones de menos de 30 años PEATONES donde edad < 30 [nombre] 4. nombre de los peatones y marca y modelo del coche que los ha atropellado ATROPELLADOS PEATONES COCHES [nombre, marca, modelo] 5. nombre y edad de los peatones atropellados ATROPELLADOS PEATONES [nombre, edad] 6. nombre y edad de los peatones atropellados por un seat o por un renault ATROPELLADOS PEATONES COCHES donde marca = seat o marca = renault [nombre, edad] 7. nombre y edad de los peatones atropellados por un seat y por un renault ATROPELLADOS PEATONES COCHES donde marca = seat [nombre, edad] (ATROPELLADOS PEATONES COCHES donde marca = renault [nombre, edad]) 8. nombre y edad de los peatones atropellados por todos los coches ATROPELLADOS [dni, matricula] (COCHES [matricula]) PEATONES [nombre, edad] 9. nombre de los peatones atropellados (al menos una vez) por un SEAT CORDOBA ATROPELLADOS PEATONES COCHES donde marca = seat y modelo = córdoba [nombre, edad] 10. nombre de los peatones atropellados sólo (únicamente) por SEAT ATROPELLADOS [dni] (ATROPELLADOS COCHES donde marca <> seat [dni]) PEATONES [nombre, edad] 11. todas las posibles combinaciones de (dni, marca) PEATONES [dni] (COCHES [marca]) 12. nombre y edad de los peatones atropellados por todos los coches ATROPELLADOS[dni, matrícula] (COCHES [matrícula]) PEATONES [nombre, edad] 13. nombre del anciano del grupo DEFINE ALIAS P1 para PEATONES DEFINE ALIAS P2 para PEATONES P1 (P1 P2 donde P1.edad < P2.edad [P1.dni, P1.nombre, P1.edad]) [nombre]

ALGUNAS OPERACIONES QUE SE PUEDEN REALIZAR EN ÁLGEBRA RELACIONAL Filtrar filas La tabla resultado sólo muestra un subconjunto de todas las filas posibles Descartar columnas Relacionar Contar Máximos y mínimos La tabla resultado sólo muestra un subconjunto de todas las columnas posibles Unir la información que está dispersa en varias tablas; debe existir al menos un atributo en una tabla común al de otra tabla que haga de punto de unión, esto es, que se pueda comparar y, en caso de igualdad, concatenar las filas de una y otra tabla. En preguntas que exigen que se cumpla un número X de ocurrencias (peatón con más de X atropellos, con menos de X, con exactamente X...) hay que utilizar el producto cartesiano sobre la misma tabla tantas veces como valga X. Del conjunto de filas resultante del producto (todas las posibles combinaciones de una fila con todas las demás, incluida ella misma) hay que elegir aquellas que tengan toda su información referida al mismo sujeto y comprobar que los atributos objeto de la cuenta son todos distintos. Por ejemplo, peatón atropellado más de 1 vez, es lo mismo que peatón atropellado 2 o más veces: si multiplicamos ATROPELLADOS por si misma, y filtramos y desechamos las filas donde el DNI de peatón sea distinto, las filas resultantes contienen las matrículas de 2 coches (que pueden ser el mismo) que han atropellado a un determinado peatón. Si las dos matrículas son distintas es que 2 coches distintos han atropellado al mismo peatón; no sabemos si hay más coches que le hayan atropellado pero al menos 2 lo han hecho. En preguntas del tipo Peatón de mayor edad se ha de combinar la diferencia con el producto cartesiano. El producto, de forma similar a como se utiliza para contar, se usa para comparar la edad de parejas de peatones. De esta forma, siguiendo con nuestro ejemplo, se obtienen los peatones que son más jóvenes que algún otro. Para obtener, finalmente, el más viejo, se resta el resultado intermedio anterior del total de peatones y obtendremos la tupla de Bartolo (o de varios si es que hubiera varios peatones con el máximo valor de edad)

RESTRICCIONES AL USO DE LOS OPERADORES Selección Proyección La única restricción es que necesita que las columnas a las que se hace referencia en la condición del operador donde esten disponibles en el resultado intermedio inmediatamente anterior. Por ejemplo: PEATON[nombre] donde 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. Concatenación Producto cartesiano Unión Intersección Diferencia División 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 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 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

ESTRUCTURA 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 aplicación de operadores implica que en cada operación se tiene en 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: PEATON 1 ATROPELLADO 2 [dni, nombre, matricula] 3 COCHE 4 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.matricula] 4 [PEATON.dni, PEATON.nombre, ATROPELLADO.matricula, COCHE.marca, COCHE.modelo] Selección R donde condición Proyección R[c1,..., cn] Concatenación R S Producto cartesiano R S Unión R S Intersección R S Diferencia R S División R[b1..bn,c1..cm] (S[c1..cm]) todas las columnas de R las columnas especificadas de R todas las columnas de R y las no comunes (distinto nombre y/o dominio) de S todas las columnas de R y 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 de R todas las columnas no comunes de R