Cap 4 Modelo Relacional PDF
Document Details
Uploaded by BountifulAsteroid8566
Escuela Politécnica Nacional
Carla Parra
Tags
Summary
This document discusses relational database design concepts and characteristics. It covers mappping of conceptual schema to relational schema and relational algebra and calculus.
Full Transcript
Capítulo 4: Modelado relacional Conceptos y características Mapeo del esquema conceptual al esquema relacional (tablas, dominios, claves) Álgebra relacional Cálculo relacional 1 Carl...
Capítulo 4: Modelado relacional Conceptos y características Mapeo del esquema conceptual al esquema relacional (tablas, dominios, claves) Álgebra relacional Cálculo relacional 1 Carla Parra Introducción a los Sistemas de Bases de Datos Capítulo 4: Modelo relacional (I) Modelo Base de Mundo Modelo Entidad datos: real Relacional Relación SGDB Modelo Modelo lógico Modelo físico conceptual CarlaIng. Carla Parra | Parra 2 Introducción a los Sistemas de Bases de Datos Capítulo 4: Modelo relacional (II) El modelo de Una base de datos datos Relación Tabla Fichero relacional relacional es organiza y una colección Tupla Fila Registro representa de relaciones [tablas] Atributo Columna Campos los datos en Grado N. de Filas N. Campos forma de Cardinalidad N. Columnas N. registros tablas o relaciones Modelo SGBD Sistema de relacional(teoría) (Implementación) Ficheros CarlaIng. Carla Parra | Parra 3 Introducción a los Sistemas de Bases de Datos Capítulo 4: Modelo Relacional (III) Grado de Relación Dominio Atributo Tupla Cardinalidad una relación Estructura Conjunto Representa Es una básica. Se válido de las ocurrencia representa valores que propiedade de una Numero de Número de mediante toma un s de una relación. atributos o filas o una tabla. atributo. relación. Se columnas. tuplas de Se representa una representa mediante relación. por una una fila. columna. CarlaIng. Carla Parra | Parra 4 Introducción a los Sistemas de Bases de Datos Capítulo 4: Modelo Relacional – Ejemplo (IV) No existen orden ni en las tuplas ni en atributos No existen tuplas duplicadas (concepto de clave primaria) CarlaIng. Carla Parra | Parra 5 Introducción a los Sistemas de Bases de Datos Capítulo 4: Modelo Relacional(Restricciones) Restricciones Restricciones Restricciones Restricciones de integridad semánticas semánticas inherentes de la entidad (i) (ii) Ningún atributo Clave primaria: un atributo Integridad referencial No puede haber que forme parte (o conjunto de atributos) clave foránea o clave dos tuplas de la clave que son PK no pueden externa(foreign key) es un iguales(obligatori primaria puede repetirse ni ser valores campo o conjunto de edad PK) tomar un valor nulos campos en una tabla que nulo establece una relación con El orden de las Unicidad (unique): los la clave primaria de otra tuplas y de valores de los atributos tabla. Su principal función atributos no es no pueden repetirse, se es mantener la integridad significativo pueden usar claves referencial entre tablas, lo alternativas que significa que ayuda a asegurar que las Obligatoriedad (not relaciones entre datos en null): atributos que no diferentes tablas sean admite valores nulos válidas. 6 CarlaIng. Carla Parra | Parra 6 Introducción a los Sistemas de Bases de Datos Capítulo 4: Modelo Relacional – Claves (I) Claves candidatas Claves Atributo o candidatas, atributos que Automóvil identifican de ¿a qué? A ser manera única claves una tupla primarias dada Toda relación debe tener al menos una Un automóvil puede identificarse por clave candidata la matrícula o por el número del motor CarlaIng. Carla Parra | Parra 7 Introducción a los Sistemas de Bases de Datos Capítulo 4: Modelo Relacional – Claves (II) Clave primaria Clave alternativa Clave Las demás primaria, quedan como Automóvil claves elegida a partir alternativas o de las claves secundarias (si candidatas las hay) Conjunto de atributos seleccionados para identificar Regla de integridad de las claves unívocamente las tuplas primarias: ningún componente de la de una relación ¿Clave clave primaria acepta nulos compuesta? CarlaIng. Carla Parra | Parra 8 Introducción a los Sistemas de Bases de Datos Capítulo 4: Modelo Relacional – Claves (III) ID _departamento es PK en la relación “Departamento” y pasa a ser FK en la Clave relación “Empleado” Clave (FK) de foránea o una relación ajena, R2 que es atributo que clave primaria puede ser en R1 compuesto Especifica de forma explícita la forma en R1=Departamento que dos tablas se relacionan R2=Empleado CarlaIng. Carla Parra | Parra 9 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (I) Se transforma Empleado Notación (cédula, nombre, R(A1,A2,A3…) dirección, salario) CarlaIng. Carla Parra | Parra 10 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (II) identificador Por cada entidad se crea Para cada atributo una relación, una tabla. compuesto se crean tantos Por cada atributo simple se atributos(columnas) como crea una columna. hojas tenga la estructura El identificador del modelo Primary key entidad relación pasa a ser Nombre de la la Primary Key (debe ser relación o tabla señalado) CarlaIng. Carla Parra | Parra 11 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (III) Entidad débil Clave primaria: (clave primaria de la entidad fuerte + discriminador) + atributos: atributos propios de la entidad débil 12 CarlaIng. Carla Parra | Parra 12 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (IV) Relación muchos a muchos(i) En este caso se crea una nueva tabla donde se almacenan las claves primarias de las dos entidades que participan en la relación, las cuales serán claves primarias de la nueva tabla. Si la relación contiene algún atributo, se deberán añadir a la nueva tabla. CarlaIng. Carla Parra | Parra 13 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (V) Muchos a muchos (ii) Habrá casos donde los atributos de la relación formen parte de la clave primaria de la nueva tabla. Ejemplos: atributos tipo fecha, cuando sea necesario almacenar un histórico de las relaciones entre las entidades en función de las fechas CarlaIng. Carla Parra | Parra 14 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (VI) Relación uno a muchos o muchos a uno Las relaciones con cardinalidad 1:N no generan una tabla, la clave primaria de la entidad con 1 pasará como atributo a formar parte de la tabla de entidad con cardinalidad N (muchos). CarlaIng. Carla Parra | Parra 15 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (VII) Relación uno a uno: Como norma general, las relaciones con cardinalidad 1:1 ,la clave primaria de una entidad pasará a formar parte de la tabla de la otra entidad, y pasará como un atributo. Participación La participación de cada una de las (1,1)…(0,1) entidades será lo que nos ayude a decidir cuál será la entidad que pasará su clave primaria a la otra entidad. Excepción: Sólo existe un caso donde una relación con cardinalidad 1:1 genera una nueva tabla, y será cuando la participación de las dos entidades sea de tipo (0,1)..(0..1). CarlaIng. Carla Parra | Parra 16 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (VIII) Relación uno a uno: En este caso, como la participación de las dos entidades es de (1,1) podemos Participación resolverlo de tres formas. (1,1)…(1,1) Primera, la clave primaria de la primera entidad se almacena como atributo en la segunda entidad. CarlaIng. Carla Parra | Parra 17 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (IX) Relación uno a uno: Segunda, la clave primaria de la Participación (1,1)…(1,1) segunda entidad se almacena como atributo en la primera entidad. CarlaIng. Carla Parra | Parra 18 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (X) Relación uno a uno: Participación Tercera, las claves primarias de (1,1)…(1,1) ambas entidades se guardan en la tabla de la otra entidad. CarlaIng. Carla Parra | Parra 19 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (XI) Relación uno a uno: (0,1) a (0,1), se crea una nueva Participación tabla donde se almacenan las (0,1)…(0,1) claves primarias de las dos entidades que participan en la relación. La clave primaria de la nueva tabla será una de las dos claves ajenas que se reciben. CarlaIng. Carla Parra | Parra 20 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (XII) Reflexivas 1:N En este caso la clave primaria se almacena en la misma tabla como atributo. La tabla Empleado vuelve a guardar su clave primaria como atributo haciendo referencia al id del jefe, le llamaremos id_jefe CarlaIng. Carla Parra | Parra 21 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (XIII) Reflexivas N:N En este caso tendremos dos tablas en el modelo relacional: la nueva tabla tendrá dos PK, de la entidad y la que hace referencia a la relación CarlaIng. Carla Parra | Parra 22 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (XIV) Cardinalidad N:N:N En este caso creamos una tabla. La clave primaria de la nueva tabla estará formada por las tres claves de las entidades que participan en la relación. Se_matricula(id_alumno, id_asignatura, id_curso_escolar) CarlaIng. Carla Parra | Parra 23 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (XV) Generalización/Especializa- ción exclusiva i. Crear una única tabla para la superclase ii. Crear una tabla sólo para las subclases iii. Solución 3: Crear una tabla para cada una de las entidades (se propaga la clave primaria de la superentidad). CarlaIng. Carla Parra | Parra 24 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (XVI) Generalización/Especializa- ción inclusiva i. Crear una única tabla para la superclase (clave primaria + todos los atributos de la superclase + atributos subclases+ atributos relaciones) ii. Crear una tabla sólo para las subclases iii. Solución 3: Crear una tabla para cada una de las entidades. CarlaIng. Carla Parra | Parra 25 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (XVII) Atributos multivaluados: Por cada atributo multivaluado (ya sea de entidad o de relación) se crea una tabla. teléfono teléfono Se agregan atributos que representan la clave primaria de la tabla a la cual pertenece el multivaluado más el propio atributo. La clave está formada por todos sus atributos. CarlaIng. Carla Parra | Parra 26 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (XVIII) beneficiario zona denominación provincia dirección id_proyecto objetivo cif tipo NIT nombre 1:N 1:N país Proyecto realiza Asociación tiene Socio 1:N subpro dirección fecha provincia yecto trabaja 1:N NIT cuota nombre Trabajador fecha_ingreso sueldo cargo edad Asalariado Voluntario profesión seguro horas_servicio IRPF CarlaIng. Carla Parra | Parra 27 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (XIX) Solución 1 –Forma clásica de representación Relación recursiva 1:N Proyecto(id_proyecto, beneficiario, objetivo, país, zona, id_subproyecto) Asociación(cif, provincia, denominación, tipo, dirección, id_proyecto) Relación Socio(nit, dirección, nombre, provincia, fecha, cuota, cif_asociación) realiza 1:N Relación tiene Trabajador(nitT, nombre, fecha, ingreso, cif_asociación) Relación 1:N Asalariado(nit_trabajador, sueldo, cargo, seguro, irpf) trabaja 1:N Voluntario(nit_trabajador, edad, profesión, horas_servicio) Generalización CarlaIng. Carla Parra | Parra 28 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (XX) Ejercicio: Fábrica de Lácteos “Cayambe” Solicitan nuestros servicios para resolver el almacenamiento de datos de un sistema de gestión de la producción de la fábrica de Lácteos “Cayambe”. La fábrica se compone de una serie de plantas, cada una identificada por un color. De las plantas conocemos la superficie en metros cuadrados y la lista de procesos que se llevan a cabo dentro de ellas; de estos procesos sólo conocemos su nombre y un grado de complejidad asociado. Dentro de cada planta se encuentran las máquinas. Cada máquina es de una marca y un modelo, y se identifica por un número; este número es único a lo largo de todas las plantas. Cada máquina es operada por técnicos, debemos conocer en qué rango de fechas los técnicos estuvieron asignados a esa máquina, y además en qué turno (mañana, tarde o noche). Delos técnicos conocemos su DNI, nombre, apellido y fecha de nacimiento, aparte de una serie de números telefónicos de contacto. Existen situaciones normales en las que una máquina sale de servicio y debe ser reparada, lo único que nos interesa conocer aquí es cuál otra máquina está asignada para tomar el trabajo que ella no puede realizar. CarlaIng. Carla Parra | Parra 29 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (XXI) Modelo E-R al modelo relacional N:N 1:N *Cardinalidad 1:N, no genera tabla* N:N Planta (color, superficie, nombre, grado complejidad) Máquina(número, marca, modelo, color) Color:Foreign Key de Planta (color) CarlaIng. Carla Parra | Parra 30 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (XXII) Del modelo E-R al modelo relacional N:N 1:N *Reflexiva* N:N Reemplaza(número, número_reemplaza) número es FK de Máquina(número) número_reemplaza es FK de Máquina(número) CarlaIng. Carla Parra | Parra 31 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (XXIII) Del modelo E-R al modelo relacional N:N 1:N * *Cardinalidad N:N* Máquina(número, marca, modelo, color) N:N Técnicos (DNI, nyAp, fecha_nacimiento) Opera(número, DNI, turno, fecha_inicio, fecha_fin) número es FK de Máquina (número) DNI es FK de Técnicos *Multivaluado* Teléfono(DNI, teléfono) DNI es FK de Técnico (DNI) CarlaIng. Carla Parra | Parra 32 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (XXIV) Solución 2: Diagrama “Crows foot” CarlaIng. Carla Parra | Parra 33 Introducción a los Sistemas de Bases de Datos Capítulo 4: Del modelo E-R al modelo relacional (XXV) Del modelo E-R al modelo relacional Taller (descargar en el aula virtual) CarlaIng. Carla Parra | Parra 34 Introducción a los Sistemas de Bases de Datos