Notaciones de Entidad Relación ER Diseño de Bases de Datos 1. Modelo Entidad-Relación Objetivos: z z Conocer los conceptos y notación del modelo conceptual de datos entidad-relación. Comprender los significados del concepto de “nulo” en el modelo entidad-relación. Contenidos: 1. Introducción e historia del modelo 2. Conceptos básicos del modelo 3. Notaciones del modelo. Modelo Entidad-Relación Bibliografía y notaciones. [EN 2002] Elmasri, R.; Navathe, S.B. Fundamentos de Sistemas de Bases de Datos. 3ª ed. Addison-Wesley, (Cap. 3 y 4) [MPM 1999] De Miguel, A.; Piattini, M.; Marcos, E. Diseño de bases de datos relacionales. Ra-Ma. (Cap. 2) [CBS 1998] Connolly, T.; Begg C.; Strachan, A. Database Systems: A Practical Approach to Design, Implementation and Management. 2nd ed. AddisonWesley. (Cap. 5) [SKS 1998] Silberschatz, A;Korth, H; Sudarshan, S. Fundamentos de Bases de Datos. 3ª edición. Madrid: McGraw-Hill. (Cap. 2) 1.1. Introducción e historia del modelo Entidad-Relación { { { { Modelo de datos conceptual de alto nivel Propuesto por Peter P. Chen en 1976 z Extensiones/aportaciones de muchos otros autores » No existe un único MER, sino una FAMILIA DE MODELOS Describe el “mundo real” como un conjunto de ENTIDADES y de RELACIONES entre ellas Gran difusión z z Muy extendido en los métodos de diseño de bases de datos Soportado por herramientas software de diseño (CASE) 2.2. Conceptos básicos del modelo ENTIDAD { Cosa u objeto del mundo real con existencia propia y distinguible del resto { Objeto con existencia... z z { física o real (una persona, un libro, un empleado) abstracta o conceptual (una asignatura, un viaje) “Persona, lugar, cosa, concepto o suceso, real o abstracto, de interés para la empresa” (ANSI, 1977) 2.2. Conceptos básicos del modelo Tipos de atributos { { { { Simples o Compuestos Almacenados o Derivados Monovalorados o Multivalorados Opcionales 2.2. Conceptos básicos del modelo Atributos Simples o Compuestos { Atributos compuestos z Pueden dividirse en otros con significado propio fechanacim dirección día mes z { año calle ciudad provincia codpostal Valor compuesto = concatenación de valores de componentes Atributos simples z No divisibles. Atómicos genero 2.2. Conceptos básicos del modelo Atributos Almacenados o Derivados { Atributos derivados z z Valor calculado a partir de otra información ya existente (atributos, entidades relacionadas) Son información redundante... edad [de EMPLEADO], cálculo a partir de fechanacim atributo derivado del valor de otro atributo numcopias [de una PELICULA], cuenta del número de entidades COPIA relacionadas con cada película concreta { atributo derivado de entidades relacionadas { { Atributos almacenados fechanacim [de cada EMPLEADO] nacionalidad [de una PELICULA] 2.2. Conceptos básicos del modelo Atributos Monovalorados o Multivalorados { Atributos monovalorados (monovaluados) z { sólo un valor para cada entidad fechanacim [de un EMPLEADO particular] añoestreno [de cada PELICULA concreta] Atributos multivalorados (multivaluados) z z más de un valor para la misma entidad nacionalidad [ PELICULA coproducida por varios países ] telefono [ EMPLEADO con varios teléfonos de contacto] pueden tener límites superior e inferior del número de valores por entidad nacionalidad (1-2) telefono (0-3) 2.2. Conceptos básicos del modelo Atributos Opcionales (nulos) { El nulo (null value) es usado cuando... z z Se desconoce el valor de un atributo para cierta entidad { El valor existe pero falta altura [de un EMPLEADO] { No se sabe si el valor existe o no telefono [de un EMPLEADO] La entidad no tiene ningún valor aplicable para el atributo: fechaalquiler [PELICULA sólo en vídeo-venta (no alquiler)] 2.2. Conceptos básicos del modelo Notación para atributos [MPM1999] [EN2002] calle ciudad provincia codpostal dirección fechanacim (0,3) (0,1) telefono EMPLEADO nombre altura calle ciudad provincia codpostal fechanacim dirección (0,3) nombre telefono EMPLEADO altura (1,2) nss dni edad nacionalidad D nss dni edad (1,2) nacionalidad 2.2. Conceptos básicos del modelo Atributos Clave { Atributo con valor distinto para cada instancia de un tipo de entidad dni en EMPLEADO { { Una clave identifica de forma única cada entidad concreta Ö atributo identificador Notación EMPLEADO dni [EN2002] EMPLEADO dni [MPM1999] 2.2. Conceptos básicos del modelo Atributos Clave (ii) { Una clave puede estar formada por varios atributos Ö clave compuesta z Combinación de valores distinta para cada instancia (nombre, fechanacim) en el tipo de entidad EMPLEADO z { Una clave compuesta debe ser mínima Un tipo de entidad puede tener más de una clave Ö claves candidatas Claves o Identificadores Candidatos de EMPLEADO: z z z dni nss (nombre, fechanacim) 2.2. Conceptos básicos del modelo Atributos Clave (iii) { Atributo identificador principal (IP) z z z { Clave Principal Elegido (por el diseñador) de entre los identificadores candidatos (IC), para ser el medio principal de identificación de las instancias del tipo de entidad dni en EMPLEADO Atributos identificadores alternativos (IA) z z z Claves Alternativas El resto de IC’s nss y (nombre, fechanacim) en EMPLEADO 2.2. Conceptos básicos del modelo Notación para atributos clave [EN2002] codpostal dirección fechanacim n-f nombre provincia ciudad calle [MPM1999] (0,3) (0,1) EMPLEADO nss (1,2) altura nacionalidad IP dni telefono edad calle ciudad provincia codpostal fechanacim dirección (0,3) nombre telefono EMPLEADO altura n-f nss D dni edad (1,2) nacionalidad En el MER es obligatorio que todo tipo de entidad tenga un identificador 2.2. Conceptos básicos del modelo RELACIÓN (relationship) { { También “interrelación” Asociación, vínculo o correspondencia entre instancias de entidades relacionadas de alguna manera en el “mundo real” z z z el director “Alejandro Amenábar” ha rodado la película “Mar adentro” el empleado 87654321 trabaja en el local de videoclub “principal” la película “El imperio contraataca” es una continuación de la película “La guerra de las galaxias” 2.2. Conceptos básicos del modelo TIPO DE RELACIÓN (relationship set) { Estructura genérica o abstracción del conjunto de relaciones existentes entre dos o más tipos de entidad un DIRECTOR ha rodado PELICULA’s { Notación DIRECTOR HA_RODADO PELICULA 2.2. Conceptos básicos del modelo Grado de un tipo de relación { Número de tipos de entidad que participan en el tipo de relación z Binaria: grado 2 (el más frecuente) z Ternaria: grado 3 z Reflexiva (o recursiva): grado 1 ACTOR ACTUA_EN CLIENTE CONTINUACION DE PELICULA PELICULA ALQUILA LOCAL_VIDEOCLUB PELICULA 2.2. Conceptos básicos del modelo Restricciones estructurales sobre tipos de relación { { Limitan las posibles combinaciones de entidades que pueden participar en las relaciones Extraídas de la situación real que se modela “Una película debe haber sido dirigida por uno y sólo un director” “Un director ha dirigido al menos una película y puede haber dirigido muchas” { Clases de restricciones estructurales: z z Razón de cardinalidad (o tipo de correspondencia) Razón de participación 2.2. Conceptos básicos del modelo Razón de Cardinalidad Notación EN2002 { Número máximo de instancias de tipo de relación en las que puede participar una misma instancia de tipo de entidad z z { la cardinalidad de HA_RODADO es “1 a N” HA_RODADO es de tipo “1 a N” DIRECTOR Notación z z etiqueta en la línea que une entidad y relación Ojo: da la sensación de que se representa “al revés” 1 HA_RODADO N PELICULA 2.2. Conceptos básicos del modelo Razón de Cardinalidad Notación EN2002 { Razones de cardinalidad más comunes: z 1:1 (“uno a uno”) z 1:N (“uno a muchos”) z M:N (“muchos a muchos”) trabajador 1 TRABAJA_EN 1 lugar trabajo EMPLEADO encargado 1 SUPERVISA sucursal N LOCAL_VIDEOCLUB ACTOR personaje M ACTUA_EN N film PELICULA 2.2. Conceptos básicos del modelo Razón de Cardinalidad Notación [MPM1999] { { Número máximo de instancias de un tipo de entidad que pueden estar relacionadas con una instancia del otro tipo de entidad Notación z z Etiqueta (1:1, 1:N, M:N…) junto al tipo de relación, o Flecha en sentido “... a N” trabajador 1:1 TRABAJA_EN ACTOR EMPLEADO encargado 1:N SUPERVISA M:N ACTUA_EN sucursal lugar trabajo LOCAL_VIDEOCLUB PELICULA 2.2. Conceptos básicos del modelo Razón de Cardinalidad Notación [SKS1998] { { Número máximo de instancias de un tipo de entidad a las que otra instancia puede estar asociada, vía un conjunto de relaciones Notación z flecha en el sentido “... a 1” trabajador EMPLEADO encargado TRABAJA_EN SUPERVISA ACTOR ACTUA_EN sucursal lugar trabajo LOCAL_VIDEOCLUB PELICULA 2.2. Conceptos básicos del modelo Razón de Participación Notación [EN2002] { { { Especifica si toda la extensión de un tipo de entidad participa en un tipo de relación, o sólo parte de la extensión Indica si hay dependencia en existencia de un tipo de entidad respecto de un tipo de relación Clases de participación: z z Participación total (dependencia en existencia) Participación parcial 3.2. Conceptos básicos del modelo Razón de Participación (ii) { [EN2002] Notación z Líneas dobles o simples DIRECTOR 1 trabajador 1 TRABAJA_EN 1 lugar trabajo EMPLEADO encargado 1 SUPERVISA sucursal N LOCAL_VIDEOCLUB HA_ RODADO N PELICULA ACTOR personaje M ACTUA_EN N film PELICULA 2.2. Conceptos básicos del modelo Cardinalidad de tipo de entidad Notación [EN2002] { { Números mínimo y máximo de instancias del tipo de relación en las que puede intervenir una instancia del tipo de entidad Notación z (min, max) en la línea que une entidad y relación (1,n) PERSONA (0,n) USA POSEE (0,m) (1,1) EDIFICIO 2.2. Conceptos básicos del modelo Cardinalidad de tipo de entidad (iii) 1 TRABAJA_EN EMPLEADO 1 ACTOR SUPERVISA ACTUA_EN N 1 LOCAL_VIDEOCLUB (1,1) TRABAJA_EN (1,1) [EN2002] M N PELICULA EMPLEADO (0,n) ACTOR SUPERVISA ACTUA_EN (1,1) LOCAL_VIDEOCLUB (1,n) (0,m) PELICULA 2.2. Conceptos básicos del modelo Cardinalidad de tipo de entidad Notación MPM1999] { { Números mínimo y máximo de instancias de un tipo de entidad que pueden estar relacionadas con una instancia del otro tipo de entidad Notación z (min, max) en la línea que une entidad y relación PERSONA (0,m) (1,1) USA POSEE (1,n) (0,n) EDIFICIO 2.2. Conceptos básicos del modelo Cardinalidad de tipo de entidad (v) { Comparación de notaciones [EN2002] PERSONA (0,n) PERSONA POSEE (1,1) EDIFICIO EDIFICIO POSEE p1 POSEE ( PERSONA(0,n) : EDIFICIO(1,1) ) e1 e2 p2 e3 [MPM1999] PERSONA (1,1) POSEE (0,n) EDIFICIO p3 e4 POSEE( PERSONA(1,1) : EDIFICIO(0,n) ) { En toda notación, la cardinalidad de una entidad es la etiqueta de la línea que la une a la relación Cardinalidad de tipo de entidad Comparación de notaciones (ii) [EN2002] EMPLEADO 1 SUPERVISA N LOCAL VIDEOCLUB 1:N [MPM1999] [SKS1998] EMPLEADO EMPLEADO (1,1) SUPERVISA LOCAL (0,n) VIDEOCLUB SUPERVISA LOCAL VIDEOCLUB Cardinalidad de tipo de entidad Cardinalidad de tipos de entidad recursivos superior (0,n) [EN2002] subalterno EMPLEADO (0,1) N continuación (0,1) PELICULA precuela (0,1) 1 JEFE DE SECUELA DE 1:1 [MPM1999] versión (0,n) PELICULA original (0,1) VERSIONA N:1 Atributos de tipos de relación [EN2002] horas EMPLEADO 1 1 TRABAJA_EN SUPERVISA fechainicio N 1 LOCAL_VIDEOCLUB [MPM1999] M:N ACTOR (0,m) ACTUA_EN papel salario (1,n) PELICULA 2.2. Conceptos básicos del modelo Atributos de tipos de relación (ii) { Conceptualmente pertenecen a la relación z z Un atributo de una M:N es propio de la relación Un atributo de una 1:1 o 1:N “se puede llevar” a uno de los tipos de entidad participantes 1 horas TRABAJA_EN EMPLEADO 1 SUPERVISA fechainicio N 1 LOCAL_VIDEOCLUB [EN2002] horas horas fechainicio