La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

2. Modelo Entidad-Relación

Presentaciones similares


Presentación del tema: "2. Modelo Entidad-Relación"— Transcripción de la presentación:

1 2. Modelo Entidad-Relación
Diseño de Bases de Datos 2. Modelo Entidad-Relación Objetivos: Conocer los conceptos y notación del modelo conceptual de datos entidad-relación extendido. Comprender los significados del concepto de “nulo” en el modelo entidad-relación extendido. Contenidos: 1. Introducción e historia del modelo 2. Conceptos básicos del modelo 3. Extensiones del modelo El objetivo principal de este tema es trasladar a los alumnos los conceptos del modelo entidad-relación extendido, y mostrar cómo representarlos gráficamente a través de varias notaciones. Tras introducir brevemente el modelo entidad-relación, describiremos algunos de los conceptos de modelado básicos que ofrece. Después, abordaremos algunas de las extensiones propuestas para el MER que permiten el modelado de requisitos de datos más complejos.

2 Modelo Entidad-Relación
Bibliografía [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. Addison-Wesley. (Cap. 5) [SKS 1998] Silberschatz, A;Korth, H; Sudarshan, S. Fundamentos de Bases de Datos. 3ª edición. Madrid: McGraw-Hill. (Cap. 2) La bibliografía que recomendamos para seguir este tema es la siguiente: [EN 2002 ] (capítulos 3 y 4) – el 4 contiene las extensiones del MER [CBS 1998] (cap. 5) [MPM 1999] (cap. 2) [SKS 1998] (cap. 2)

3 2.1. Introducción e historia del modelo Entidad-Relación
Modelo de datos conceptual de alto nivel Propuesto por Peter P. Chen en 1976 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 Muy extendido en los métodos de diseño de bases de datos Soportado por herramientas software de diseño (CASE)

4 MER En el proceso de diseño...
2.1. Introducción e historia del modelo Entidad-Relación En el proceso de diseño... Requisitos de datos DISEÑO CONCEPTUAL ... En este tema veremos los diferentes conceptos que proporciona el MER para describir esquemas conceptuales de bases de datos. Esquema Conceptual MER

5 2.1. Introducción e historia del modelo Entidad-Relación
Esquema conceptual Descripción concisa de los requisitos de información de los usuarios Descripciones detalladas de TIPOS DE DATOS RELACIONES ENTRE DATOS RESTRICCIONES que los DATOS deben cumplir Sin detalles de implementación Más fácil de entender Comunicación con el usuario no técnico Vehículo de comunicación adecuado entre los analistas/diseñadores y el usuario no técnico

6 2.2. Conceptos básicos del modelo
Entidad ( entity ) Atributo ( attribute ) Dominio ( values set ) Relación ( relationship ) El término “Relationship” suele traducirse también por “Interrelación”

7 ENTIDAD 2.2. Conceptos básicos del modelo
Cosa u objeto del mundo real con existencia propia y distinguible del resto Objeto con existencia... 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) El término OBJETO se utiliza en el sentido que tiene en el lenguaje común, y no con el que suele darse en el paradigma de la Orientación a Objetos. ANSI = American National Standards Institute, < Instituto de estándares Americano ANSI (1977): The ANSI/X3/SPARC DBMS Framework. Report on the Study Group on Database Management Systems. D. Tsichiritzis y A. Klug (eds). Montvalle, N.J.: AFIP Press, 1977.

8 ATRIBUTO 2.2. Conceptos básicos del modelo
Propiedad o característica de una entidad Una entidad particular es descrita por los valores de sus atributos: titulo = El alquimista impaciente genero = Thriller nacionalidad = España añoestreno = 2002 p1 ... Los valores de los atributos q describen cada entidad son una parte importante de los datos almacenados en la base de datos. nss = dni = nombre = Cristina Aliaga Gil nacionalidad = España e1 ...

9 TIPO DE ENTIDAD (entity set)
2.2. Conceptos básicos del modelo TIPO DE ENTIDAD (entity set) Define un conjunto de entidades que poseen los mismos atributos PELICULA: titulo, genero, nacionalidad, añoestreno,numcopias EMPLEADO: dni, nss, nombre, fechanacim, direccion, telefono, altura, nacionalidad, edad Notación EMPLEADO PELICULA DIRECTOR Cada tipo de entidad es descrito por su nombre y la lista de nombres de sus atributos LOCAL VIDEOCLUB ACTOR CLIENTE

10 Instancia de un tipo de entidad
2.2. Conceptos básicos del modelo Instancia de un tipo de entidad También... Ocurrencia Realización Ejemplar Entidad concreta o individual PELICULA titulo = El señor de los anillos genero = Fantasía nacionalidad = EEUU añoestreno = 2001 p2 ... titulo = Amores perros genero = Drama nacionalidad = Méjico añoestreno = 1999 p3 ... titulo = Amelie genero = Comedia nacionalidad = Francia añoestreno = 2001 p4 ... En realidad, utilizaremos el término ENTIDAD como sinónimo de TIPO DE ENTIDAD

11 Intensión y Extensión 2.2. Conceptos básicos del modelo
Un tipo de entidad describe el esquema o intensión para un conjunto de entidades que poseen la misma estructura EMPLEADO: dni, nss, nombre, dirección, telefono, altura, fechanacim, nacionalidad, edad Las instancias del tipo de entidad se agrupan en un conjunto de entidades o extensión e1  ( , , “Cristina Aliaga Gil”, “Libertad, 2. Yecla. Murcia ”, , 1’60, 28/07/1979, España, 23) e2  ( , , “Antonio Gil Sánchez”, “Paz, 5. Murcia. Murcia.30012”, , 1’76, 14/04/1944, España, 58) e3  ( , , “Julia Sauce”, “Justicia, 20. Yecla. Murcia ”, , 1’59, 23/05/1947, España, 55) ...

12 Tipos de atributos 2.2. Conceptos básicos del modelo
Simples o Compuestos Almacenados o Derivados Monovalorados o Multivalorados Opcionales Los valores de los atributos q describen cada entidad son una parte importante de los datos almacenados en la base de datos.

13 Atributos Simples o Compuestos
2.2. Conceptos básicos del modelo Atributos Simples o Compuestos Atributos compuestos Pueden dividirse en otros con significado propio Valor compuesto = concatenación de valores de componentes Atributos simples No divisibles. Atómicos fechanacim dia mes año direccion calle ciudad provincia codpostal No explicar cuándo utilizar un atributo compuesto o bien varios atributos simples, pues esta norma de diseño se estudiará en el “Tema 4.- Diseño Conceptual” genero

14 Atributos Almacenados o Derivados
2.2. Conceptos básicos del modelo Atributos Almacenados o Derivados Atributos derivados 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]

15 Atributos Monovalorados o Multivalorados
2.2. Conceptos básicos del modelo Atributos Monovalorados o Multivalorados Atributos monovalorados (monovaluados) sólo un valor para cada entidad fechanacim [de un EMPLEADO particular] añoestreno [de cada PELICULA concreta] Atributos multivalorados (multivaluados) 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)

16 Atributos Opcionales (nulos)
2.2. Conceptos básicos del modelo Atributos Opcionales (nulos) El nulo (null value) es usado cuando... 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)] Nulo = Cardinalidad Mínima 0 Valor que existe, pero falta “fechanacim” [de un empleado] Valor no aplicable: “fechajubilacion” [de una persona que aún está en activo]

17 Notación para atributos
2.2. Conceptos básicos del modelo Notación para atributos [EN2002] [MPM1999] (0,3) dirección (1,2) (0,1) EMPLEADO nombre fechanacim telefono calle provincia ciudad codpostal edad nss dni altura nacionalidad fechanacim dirección telefono calle provincia ciudad codpostal dni edad altura (0,3) D nss nombre nacionalidad (1,2) EMPLEADO Señalar que para representar gráficamente los conceptos de modelado que ofrece el MER vamos a emplear principalmente dos notaciones: la seguida en el libro [EN2002] y la empleada en el libro [MPM1999]. Indicar que la notación de [EN2002] es muy similar a la original definida por Chen en 1976. Las notaciones empleadas en las otras referencias: [CBS1998] y [SKS1998] coinciden con la de [EN2002], salvo que se indique otra cosa. A la vista de esta diapositiva, destacar: Atributos simples / compuestos Atributos monovalorados / multivalorados Atributos opcionales / obligatorios Atributos derivados / almacenados Los casos normales no se muestran en el diagrama: cardinalidad del atributo es (1,1) almacenado obligatorio CARDINALIDAD DE UN ATRIBUTO Nº mínimo y máximo de valores que puede tomar un atributo, en una instancia de un Tipo Entidad (o de Relación) Sean a atributo, E Tipo de Entidad card_min(a, E) = 0; a puede NO TOMAR VALOR; a PUEDE SER NULO. card_min(a, E) = 1; a DEBE TOMAR OBLIGATORIAMENTE UN VALOR. card_max(a, E) = 1; a TOMARÁ como mucho, UN VALOR individual a la vez. card_max(a, E) > 1; a puede TOMAR MÁS DE UN VALOR para la misma instancia de entidad (o de relación); a es MULTIVALUADO.

18 Atributos Clave 2.2. Conceptos básicos del modelo
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 EMPLEADO La restricción de unicidad prohíbe que dos entidades tengan simultáneamente el mismo valor para el atributo clave. La notación [CBS1998] y [SKS1998] coincide con la de [EN2002]. dni dni [EN2002] [MPM1999]

19 Atributos Clave (ii) 2.2. Conceptos básicos del modelo
Una clave puede estar formada por varios atributos  clave compuesta Combinación de valores distinta para cada instancia (nombre, fechanacim) en el tipo de entidad EMPLEADO 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: dni nss (nombre, fechanacim) Una clave compuesta debe ser MINIMA, es decir, no debe contener atributos superfluos = que podrían quitarse y el resto seguiría siendo clave Ejemplo: la clave compuesta (nombre, telefono, fechanacim) no es mínima, sobra “telefono”. Otros ejemplos de claves candidatas: PROFESOR: (nif), (nombre, despacho, facultad) ALUMNO: (nif), (numexpediente), (fechanacim, nombre, telefono) NO COMMENT: Según [EN2002] una entidad puede no tener clave, en ese caso, es una entidad débil

20 Atributos Clave (iii) 2.2. Conceptos básicos del modelo
Atributo identificador principal (IP) 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) Claves Alternativas El resto de IC’s nss y (nombre, fechanacim) en EMPLEADO

21 Notación para atributos clave
2.2. Conceptos básicos del modelo Notación para atributos clave [EN2002] [MPM1999] (0,3) (1,2) (0,1) EMPLEADO nombre fechanacim telefono calle provincia ciudad codpostal edad nss dni altura nacionalidad n-f dirección IP fechanacim EMPLEADO dirección telefono calle provincia ciudad codpostal dni edad altura (0,3) D nss nacionalidad (1,2) n-f nombre NO COMMENT: Lo de crear un nuevo atributo compuesto para la clave alternativa lo he sacado de [EN2002] p.47, lin. 7. NO COMMENT: lo de que sea obligatoria la clave lo he sacado de [MPM1999] p.56. Es una restricción inherente del MER. La notación [CBS1998] y [SKS1998] coincide con la de [EN2002]. En el MER es obligatorio que todo tipo de entidad tenga un identificador

22 2.2. Conceptos básicos del modelo
DOMINIO (values set) Conjunto de valores Cada atributo simple está asociado a un dominio, que especifica sus valores válidos Atributo Dominio Descripción Dominio nombre NOMBRES cadenas de hasta 30 caracteres alfabéticos telefono TELEFONOS cadenas de hasta 9 caracteres numéricos altura MEDIDAS números reales entre 0 y 2’5 (metros) ... TELEFONOS NOMBRES telefono nombre MEDIDAS altura EMPLEADO No suele representarse, aunque una forma de hacerlo sería: [MPM1999]

23 RELACIÓN (relationship)
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” el director “Alejandro Amenábar” ha rodado la película “Mar adentro” el empleado 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”

24 DIRECTOR HA_RODADO PELICULA
Instancia del tipo de relación  Vacas  Tesis  Belle Epoque  Torrente  Tierra Abre los ojos Los otros J. Médem  C. Saura  F. Trueba  S. Segura  A. Amenábar  Cada instancia de la relación es una asociación entre entidades, en la que participa exactamente una entidad de cada tipo. Representa el hecho de que las entidades están relacionadas entre sí de alguna manera en la situación correspondiente del “mundo real”. Tipo de Entidad: conjunto de instancias Tipo de Relación: conjunto de instancias

25 TIPO DE RELACIÓN (relationship set)
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 PELICULA HA_RODADO Segunda restricción inherente al MER: sólo puede haber relaciones entre entidades. Es decir, está prohibido establecer una relación entre relaciones y entre una relación y una entidad.

26 Grado de un tipo de relación
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 Binaria: grado 2 (el más frecuente) Ternaria: grado 3 Reflexiva (o recursiva): grado 1 ACTOR PELICULA ACTUA_EN En una instancia de una relación SIEMPRE participa una instancia de cada tipo de entidad ligada a la relación. Por ejemplo, una instancia de ALQUILA _necesariamente_ consiste en una instancia de CLIENTE, otra de PELICULA, y otra de LOCAL_VIDEOCLUB. No tiene sentido que vincule tan solo dos de ellas... CLIENTE PELICULA LOCAL_VIDEOCLUB ALQUILA PELICULA CONTINUACION DE

27 Nombres de Rol (papel) 2.2. Conceptos básicos del modelo
Todo tipo de entidad que participa en un tipo de relación juega un papel específico en la relación Los nombres de rol se deben usar, sobre todo, en los tipos de relación reflexivos, para evitar ambigüedad DIRECTOR PELICULA HA_RODADO realizador film Los nombres de rol ayudan a explicar el significado de la relación, por eso su uso es casi obligatorio en los tipos de relación reflexivas, para evitar la ambigüedad. original versión PELICULA VERSION_DE

28 Restricciones estructurales sobre tipos de relación
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: Razón de cardinalidad (o tipo de correspondencia) Razón de participación Estas restricciones permiten expresar algunas de las Reglas del Negocio.

29 Razón de Cardinalidad Notación EN2002
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 la cardinalidad de HA_RODADO es “1 a N” HA_RODADO es de tipo “1 a N” Notación etiqueta en la línea que une entidad y relación Ojo: da la sensación de que se representa “al revés” 1 N DIRECTOR PELICULA HA_RODADO Una instancia de director puede estar relacionada con muchas instancias de película (todas las que él ha rodado) Una instancia de película sólo puede relacionarse con una única instancia de director (justo aquél que la haya filmado) La notación [CBS1998] coincide con la de [EN2002].

30 Razón de Cardinalidad Notación EN2002
2.2. Conceptos básicos del modelo Razón de Cardinalidad Notación EN2002 Razones de cardinalidad más comunes: 1:1 (“uno a uno”) 1:N (“uno a muchos”) M:N (“muchos a muchos”) trabajador ACTOR EMPLEADO 1 encargado 1 personaje M TRABAJA_EN SUPERVISA ACTUA_EN sucursal N N 1 film LOCAL_VIDEOCLUB PELICULA lugar trabajo

31 Razón de Cardinalidad Notación [MPM1999]
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 Etiqueta (1:1, 1:N, M:N…) junto al tipo de relación, o Flecha en sentido “... a N” EMPLEADO LOCAL_VIDEOCLUB encargado sucursal trabajador lugar trabajo TRABAJA_EN SUPERVISA 1:N 1:1 ACTOR PELICULA M:N ACTUA_EN

32 Razón de Cardinalidad Notación [SKS1998]
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 flecha en el sentido “... a 1” EMPLEADO LOCAL_VIDEOCLUB encargado sucursal trabajador lugar trabajo TRABAJA_EN SUPERVISA ACTOR PELICULA ACTUA_EN

33 Razón de Participación Notación [EN2002]
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: Participación total (dependencia en existencia) Participación parcial La DEPENDENCIA EN EXISTENCIA significa que una instancia de esa entidad sólo puede existir si participa en una instancia de la relación. La dependencia del tipo de entidad es con respecto al tipo de relación. No tiene el mismo significado que la dependencia en existencia de [MPM1999], puesto que se debe entender como que no tiene sentido que exista una entidad que no participe en la relación. Concepto coincidente con los incluidos en [CBS1998] y [SKS1998]

34 Razón de Participación (ii) [EN2002]
3.2. Conceptos básicos del modelo Razón de Participación (ii) [EN2002] Notación Líneas dobles o simples PELICULA personaje film M ACTUA_EN N ACTOR DIRECTOR PELICULA HA_ RODADO 1 N EMPLEADO LOCAL_VIDEOCLUB encargado sucursal 1 trabajador lugar trabajo TRABAJA_EN SUPERVISA N Participación total Todo empleado trabaja en un local (sucursal) del vídeo-club. * Toda instancia de EMPLEADO DEBE estar relacionada con alguna instancia de LOCAL * NO tiene sentido que EXISTA un empleado que NO trabaje en algún local, es decir que NO participe en una relación de tipo TRABAJA_EN Participación parcial NO todo empleado es encargado de un local del vídeo-club, sino sólo algunos de ellos * NO NECESARIAMENTE TODAS las instancias EMPLEADO están relacionadas con instancias de LOCAL, sino las de un subconjunto del conjunto total de empleados

35 Cardinalidad de tipo de entidad
2.2. Conceptos básicos del modelo Cardinalidad de tipo de entidad Otra forma de expresar las razones de cardinalidad y participación POSEE PERSONA USA EDIFICIO PERSONA EDIFICIO p1  p2  p3   e1  e2  e3  e4 POSEE PERSONA EDIFICIO USA p1  p2  p3   e1  e2  e3  e4

36 Cardinalidad de tipo de entidad Notación [EN2002]
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 (min, max) en la línea que une entidad y relación (1,n) (0,m) USA PERSONA EDIFICIO Este concepto proporciona más información acerca de la relación. Se asocia (min,max) en cada participación del tipo de entidad en el tipo de relación Una instancia de la entidad debe participar al menos en min y como mucho en max instancias de la relación si min=1, toda instancia del tipo de entidad debe participar al menos en una instancia del tipo de relación, es decir: participación total de la entidad en la relación si min = 0, algunas instancias de e pueden no participar en el tipo relación: participación parcial de la entidad en la relación Coincide con [CBS1998]. Sin embargo, este concepto no aparece en [SKS1998]. (0,n) (1,1) POSEE

37 Cardinalidad de tipo de entidad (iii) [EN2002]
2.2. Conceptos básicos del modelo Cardinalidad de tipo de entidad (iii) [EN2002] EMPLEADO LOCAL_VIDEOCLUB 1 TRABAJA_EN SUPERVISA N PELICULA M ACTUA_EN N ACTOR (0,n) (1,1) EMPLEADO LOCAL_VIDEOCLUB TRABAJA_EN SUPERVISA PELICULA (1,n) ACTUA_EN (0,m) ACTOR

38 Cardinalidad de tipo de entidad Notación MPM1999]
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 (min, max) en la línea que une entidad y relación POSEE PERSONA USA EDIFICIO (0,m) (1,n) (0,n) (1,1) CARDINALIDAD DE UN TIPO DE ENTIDAD E1 Notación [EN2002]: se fija una instancia de E1 y se cuenta el número de instancias de R en las que puede participar. Notación [MPM1999]: se fija una instancia de E2 y se cuenta el número de instancias de E1 que pueden relacionarse con dicha E2. Ejemplos en [MPM1999]: R( E1(1,1):E2(...)) = 1 instancia E2 está relacionada con 1 y sólo 1 instancia E1 R( E1(0,n):E2(...)) = 1 instancia E2 puede relacionarse con 0,1,2...n instancias E1 R( E1(0,n):E2(1,m)) = - No toda instancia E2 está relacionada con 1 instancia E1 - Toda instancia E1 está relacionada con 1 o más instancias E2 R( E1(0,n) : E2(0,m) ) = - No establece restricciones - 1 instancia E2 puede estar relacionadas con cualquier nº de instancias de E1, y viceversa Ejemplo: ACTUA( ACTOR(0,n) : PELICULA(0,m) )

39 Cardinalidad de tipo de entidad (v)
2.2. Conceptos básicos del modelo Cardinalidad de tipo de entidad (v) Comparación de notaciones [EN2002] p1  p2  p3   e1  e2  e3  e4 POSEE PERSONA EDIFICIO PERSONA POSEE EDIFICIO (0,n) (1,1) POSEE ( PERSONA(0,n) : EDIFICIO(1,1) ) [MPM1999] PERSONA POSEE EDIFICIO (1,1) (0,n) 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

40 Cardinalidad de tipo de entidad
Comparación de notaciones (ii) EMPLEADO LOCAL VIDEOCLUB SUPERVISA 1 N [EN2002] EMPLEADO LOCAL VIDEOCLUB 1:N SUPERVISA (1,1) (0,n) [MPM1999] Nótese las diferentes formas de expresar la cardinalidad de cada entidad, o lo que es lo mismo, la Razón de Participación de cada entidad y la Razón de Cardinalidad de la relación. Razón de Cardinalidad: 1 a muchos Razón de Participación: TOTAL de LOCAL_VIDEOCLUB y PARCIAL de EMPLEADO (puesto que hay empleados que no son supervisores de ningún local, pero todos los locales son supervisados por un empleado) [SKS1998] EMPLEADO LOCAL VIDEOCLUB SUPERVISA

41 Cardinalidad de tipo de entidad
Cardinalidad de tipos de entidad recursivos N 1 subalterno superior (0,1) (0,n) EMPLEADO JEFE DE [EN2002] 1:1 (0,1) PELICULA SECUELA DE precuela continuación [MPM1999] PELICULA VERSIONA N:1 (0,1) (0,n) versión original

42 Atributos de tipos de relación
[EN2002] EMPLEADO LOCAL_VIDEOCLUB 1 TRABAJA_EN SUPERVISA N horas fechainicio “salario” de un actor por participar en cierta película. “papel” que interpreta un actor en una película (protagonista, secundario, reparto, figuración...). PREGUNTA: ¿Qué pasaría si “salario” o “papel” estuvieran colocados en ACTOR o en PELICULA? Ojo: una relación puede tener atributos, pero nunca una clave. [MPM1999] PELICULA (0,m) ACTUA_EN (1,n) ACTOR salario papel M:N

43 Atributos de tipos de relación (ii)
2.2. Conceptos básicos del modelo Atributos de tipos de relación (ii) Conceptualmente pertenecen a la relación 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 horas EMPLEADO 1 TRABAJA_EN SUPERVISA N LOCAL_VIDEOCLUB horas fechainicio En el caso M:N, los atributos deben pertenecer a la relación, porque su valor está determinado por la combinación de las instancias participantes, y no por una sola de ellas. En el caso 1:N, sólo se puede llevar a la entidad que está en el lado N de la relación (la que participa una vez, que condiciona el valor del atributo) fechainicio [EN2002] horas

44 Tipo de Entidad Débil Notación [EN2002]
2.2. Conceptos básicos del modelo Tipo de Entidad Débil Notación [EN2002] No tiene atributos clave propios Una instancia se identifica por su relación con una instancia de otro tipo de entidad Tipo de relación identificador Relaciona un tipo de entidad débil y un tipo de entidad regular (fuerte, dominante, padre, propietaria) Clave parcial (o discriminante) Atributos de la entidad débil, que identifican de forma única cada instancia, siempre que esté relacionada con una instancia del tipo de entidad regular Clave = (clave_entidad_regular, clave_parcial) Notación Coincide con el concepto en [CBS1998] y [SKS1998] COPIA

45 Tipo de entidad débil (ii) [EN2002]
2.2. Conceptos básicos del modelo Tipo de entidad débil (ii) [EN2002] Tipo de Entidad Regular PELICULA numcopia titulo 1 N COPIA TIENE PACIENTE VISITA_MEDICA diahora 1 nss N MEDICO ncolegiado nombre especialidad ACUDE ASISTIDA POR Tipo de Relación Identificador Dependencia en existencia Clave parcial o Discriminante Una entidad débil siempre tiene una restricción de participación total en la relación que la une a su entidad propietaria Dependencia en existencia en [EN2002] de toda entidad débil: una instancia de un tipo de entidad débil no puede existir si no está unida a una instancia de la entidad regular (si ésta desaparece, también deben desaparecer las débiles que dependen de ella) VISITA_MEDICA depende en existencia de PACIENTE y de MEDICO, pero sólo es débil de PACIENTE: ACUDE es la relación identificador

46 Tipo de entidad débil (iii) [EN2002]
2.2. Conceptos básicos del modelo Tipo de entidad débil (iii) [EN2002] No toda participación total (o dependencia en existencia) implica un tipo de entidad débil EMPLEADO dni 1 POSEE N numlicencia PERMISO CONDUCCION tipo PERMISO_CONDUCCIÓN no es débil: depende en existencia de EMPLEADO, pero tiene clave primaria propia

47 Tipo de entidad débil (iv) Notación [MPM1999]
 Definición distinta de tipo de entidad débil La existencia de una instancia del tipo de entidad débil depende de la existencia de una instancia del tipo de entidad regular Tipo de relación débil (o dependencia) Relaciona un tipo de entidad débil y otro regular Clases de dependencia: En existencia En identificación

48 Tipo de entidad débil (v) [MPM1999]
2.2. Conceptos básicos del modelo Tipo de entidad débil (v) [MPM1999] Dependencia en existencia ( entre entidades) Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad débil que dependen de ella Etiqueta “E” en el tipo de relación débil Dependencia en identificación Además de la dependencia en existencia... Una instancia del tipo de entidad débil no se puede identificar por sí misma Su clave es (clave_entidad_regular, clave_parcial) Etiqueta “ID” en el tipo de relación débil Si un tipo de relación débil no contiene ninguna etiqueta, se asume la etiqueta ‘E’ (dependencia en existencia). La DEPENDENCIA EN EXISTENCIA en [MPM1999] es un concepto algo más fuerte que el mismo concepto en [EN2002] (participación total)). Aquí la dependencia es entre entidades concretas (y no de una entidad respecto de la relación). En [EN2002] la dependencia en existencia de E respecto de R significa que no tiene sentido que una entidad E exista sin estar vinculada a R. Por ello, en [EN2002] una entidad puede tener participación total en una relación (empleado-departamento), pero no dependencia en existencia en el sentido de [MPM1999]: un empleado siempre ha de pertenecer a un departamento, pero si borro un departamento ¿he de borrar sus empleados? Probablemente, no; un departamento debe tener siempre al menos un empleado, pero si borro todos los empleados de un departamento ¿debo borrar éste? Pues quizá no… La DEPENDENCIA EN IDENTIFICACIÓN coincide con el concepto de ENTIDAD DÉBIL en EN2002.

49 Tipo de entidad débil (vi) [MPM1999]
2.2. Conceptos básicos del modelo Tipo de entidad débil (vi) [MPM1999] numlicencia EMPLEADO PERMISO CONDUCCION POSEE 1:N E dni tipo numcopia titulo COPIA 1:N TIENE ID PELICULA Tipo de Relación Débil idcopia PERMISO_CONDUCCION es débil, pues depende en existencia de EMPLEADO, pero no depende en identificación COPIA es débil, pues depende en existencia de PELICULA, y también depende en identificación

50 Tipo de entidad débil (vii)
Comparación de conceptos y notación [EN2002] [MPM1999] numprestamo CLIENTE PRESTAMO POSEE 1:N E dni (1,1) (0,n) CLIENTE numprestamo dni 1 N PRESTAMO POSEE Dependencia en existencia

51 Tipo de entidad débil (viii)
Comparación de conceptos y notación (ii) [EN2002] [MPM1999] numpago PRESTAMO PAGO TIENE 1:1 ID numprestamo (1,1) (0,n) idpago PRESTAMO numpago numprestamo 1 N PAGO TIENE Obsérvese que una entidad débil puede ser, a su vez, la entidad de la que depende otra débil. Entidad Débil de otra entidad débil Dependencia en identificación

52 Tipo de entidad débil (ix)
Comparación de conceptos y notación (iii) [EN2002] [MPM1999] titulo ACTOR PELICULA M:N nombre (0,m) (1,n) ACTUA_EN ACTOR nombre M ACTUA_EN N [EN2002]: Hay dependencia en existencia de ACTOR respecto de ACTUA_EN, pues no tiene sentido que exista un actor no conectado a una película. [MPM1999]: No hay dependencia en existencia de ACTOR respecto de PELICULA, pues si borramos una película determinada, no podemos borrar sus actores, ya que pueden participar en otras películas. La participación total de ACTOR está representada mediante la cardinalidad mínima 1 que aparece junto a PELICULA. Además, es muy raro que haya una entidad débil en una relación M:N. titulo PELICULA Participación total

53 Tipos de relación con grado superior a dos
[EN2002] [MPM1999] CLIENTE CINTA VIDEO LOCAL VIDEOCLUB ALQUILA (0,1) (0,n) (0,m) CLIENTE CINTA VIDEO LOCAL VIDEOCLUB ALQUILA (1,1) (1,n) fecha fecha CINTAVIDEO = copia concreta de cierta película. NO HISTÓRICO: la relación representa los alquileres ACTIVOS en cada momento (de ahí la cardinalidad (0,1) de CINTAVIDEO). [EN2002] y [CBS1998] Número mínimo y máximo de instancias de relación en la que puede participar una instancia del tipo de entidad E1.(coincide con la definición para relaciones binarias) [MPM1999] y [Luque, Gómez 97] La cardinalidad de una de las entidades (E1) con respecto a las otras dos (E2 y E3) es el número mínimo y máximo de instancias de E1 que están relacionadas con una de E2 y otra de E3 ya vinculadas en la relación. Los valores de las cardinalidades así definidas pueden ser distintos de los de las cardinalidades definidas por M. Tardieu (Conception d’un systéme d’information. Construction de les bases de données, 1979). Nota: no he encontrado ninguna ternaria con alguna entidad cuya cardinalidad mínima tuviera el valor 0 en la notación [MPM1999]. MÁS EJEMPLOS de relaciones ternarias: ASIGNATURA – ALUMNO – PROFESOR (relación DOCENCIA, con atributo “curso”) CLIENTE – COCHE – VENDEDOR (relación VENTA, con atributos “fecha” y “precio”) ASIGNATURA – EXAMEN (débil) – ALUMNO (relación EXAMINA, con atributo “nota”) ALUMNO – PFC – PROFESOR (relación REALIZA) AUTOBÚS – LUGAR – CONDUCTOR (relación TIENE PARADA, con atributos “fecha”, “hora”) Cardinalidad de los tipos de entidad

54 Tipos de relación con grado superior a dos (ii)
Equivalencia ternaria – varias binarias [EN2002] LOCAL VIDEOCLUB ALQUILA (1,m) (0,1) (1,n) (0,n) (1,1) CONTIENE fecha ALQUILA_EN CINTA VIDEO CLIENTE CLIENTE CINTA VIDEO LOCAL VIDEOCLUB ALQUILA (0,1) (0,n) (0,m) fecha DIBUJO DE LA DERECHA: Un cliente al menos habrá alquilado en un local (cuando se le dio de alta como cliente); un local puede no tener todavía ningún cliente, o haber dado de alta a muchos. La relación entre cliente y local_videoclub es redundante, por lo que puede quitarse. Es complicado decidir entre utilizar una relación ternaria o varias binarias. El diseñador debe basar sus decisiones en la semántica de la situación particular que se está modelando.

55 Tipos de relación con grado superior a dos (iii)
[EN2002] PRODUCTO TIENDA (0,m) (1,n) (1,p) SUMINISTRA idprov codpr nombre cantidad fecha PROVEEDOR TIENDA (1,m) (1,n) (0,n) VENDE PROVEE PUEDE SUMINISTRAR PRODUCTO PROVEEDOR La ternaria modela la REALIDAD La binaria PUEDE_SUMINISTRAR modela la POSIBILIDAD - Pérdida de semántica: no significan lo mismo!! Pérdida de semántica...

56 Tipos de relación con grado superior a dos (iv)
Solución típica: coexistencia ternaria/binarias [EN2002] idprov (1,n) PROVEEDOR PUEDE SUMINISTRAR (1,m) (1,n) (1,m) codpr (0,m) SUMINISTRA PRODUCTO PROVEE (1,n) (1,p) fecha (0,n) Esta es la solución típica: emplear en el mismo diagrama tanto la relación ternaria como las binarias que se necesiten. [EN2002, pág. 91] cantidad TIENDA VENDE (1,m) nombre

57 Tipos de relación con grado superior a dos (v)
Otra solución: relación ternaria como entidad débil (Entidad Asociativa) [EN2002] PROVEEDOR PRODUCTO TIENDA (1,1) RECIBE (1,n) REALIZA (0,n) CONTIENE cantidad fecha nombre idprov codpr SUMINISTRO Esta es otra posible solución. A la nueva entidad débil puede denominársele Entidad Asociativa... por provenir de una relación (asociación) Esta entidad débil no tiene atributos discriminantes. Es débil en existencia e identificación de las otras tres. Sin embargo, el atributo “fecha” debería serlo, para permitir distintos suministros del mismo proveedor, a la misma tienda, del mismo producto. ¿¿??

58 Tipos de relación con grado superior a dos (vi)
Relaciones ternarias “falsas” [EN2002] EMPRESA OFERTA EMPLEO (1,1) (0,m) CANDIDATO (0,n) REALIZA (0,1) GENERA fecha idemp idoferta dni num ENTREVISTA Tipo de entidad débil de más de un tipo de entidad

59 Modelo Entidad-Relación Extendido, MERE
2.3. Extensiones del modelo Modelo Entidad-Relación Extendido, MERE Enhanced Entity-Relationship model, EER Aportaciones de diversos autores al modelo Entidad-Relación «básico». Permiten representar... Relaciones exclusivas entre sí Jerarquías de Especialización/Generalización Agregación de entidades Los elementos que hemos visto hasta ahora son suficientes para realizar el diseño conceptual de la mayoría de esquemas de base de datos para aplicaciones de base de datos tradicionales (administrativas). Sin embargo, desde los años 80 ha ido en aumento el desarrollo de nuevas aplicaciones de BD, como herramientas CAD, CAM y CASE y aplicaciones multimedia. Los requisitos de base de datos de este tipo de aplicaciones son mayores y más complejos que los de las tradicionales y los conceptos básicos del modelo ER no son suficientes para representarlos. Este hecho hizo que se añadieran nuevos conceptos semánticos de modelado al modelo ER original, dando lugar al modelo entidad-relación extendido (EER: enhanced Entity-Relationship model). CAD: Computer Aided Design CAM: Computer Aided Manufacturing CASE: Computer Aided Software Engineering

60 2.3. Extensiones del modelo Relaciones Exclusivas
Dos (o más) tipos de relación son exclusivos, respecto de un tipo de entidad que participa en ambos, si cada instancia del tipo de entidad sólo puede participar en uno de los tipos de relación VEHÍCULO CONSUME GASTA Otro ejemplo sería el de un ARTÍCULO que pudiera publicarse en un PERIÓDICO o en una REVISTA, pero nunca en ambos. Un ejemplo más sería el de los domicilios de los estudiantes universitarios durante el curso académico. Un ESTUDIANTE se puede alojar en un DOMICILIO_FAMILIAR, una RESIDENCIA_ESTUDIANTES o en un PISO_COMPARTIDO. Las tres relaciones que unen a ESTUDIANTE con las tres entidades serían exclusivas entre sí. GASOIL GASOLINA CONSUME y GASTA son exclusivas respecto del tipo de entidad VEHICULO

61 2.3. Extensiones del modelo Especialización/Generalización (E/G)
Caso especial de relación entre un tipo de entidad y varios otros tipos de entidad La jerarquía o relación que se establece entre uno y otros corresponde a la noción de “es_un” o de “es_un_tipo_de” Estas jerarquías pueden formarse por especialización o bien por generalización (*transparencia de introducción, todo lo que ella indica se trata con profundidad más adelante*) Especialización: Un ANIMAL es un FELINO Generalización: Un REPTIL es un tipo de ANIMAL; Un INSECTO es un tipo de ANIMAL

62 2.3. Extensiones del modelo E/G: Subtipo de un tipo de entidad
Agrupación de instancias dentro de un tipo de entidad, que debe representarse explícitamente debido a su importancia para el diseño o aplicación Subtipos del tipo de entidad VEHÍCULO: CAMIÓN TURISMO AUTOBÚS CICLOMOTOR Subtipos del tipo de entidad EMPLEADO: SECRETARIO GERENTE COMERCIAL El tipo de entidad que se especializa en otros se llama supertipo ( VEHICULO, EMPLEADO )

63 2.3. Extensiones del modelo E/G: Relación Supertipo/Subtipo
Es la relación que se establece entre un supertipo y cada uno de sus subtipos (noción es_un o es_un_tipo_de) Notación: [EN2002] EMPLEADO EMPLEADO SECRETARIO GERENTE COMERCIAL [SKS1998] SECRETARIO GERENTE COMERCIAL EMPLEADO [MPM1999] ES SECRETARIO GERENTE COMERCIAL

64 2.3. Extensiones del modelo
E/G: Relación Supertipo/Subtipo (ii) La extensión de un subtipo es un subconjunto de la extensión del supertipo Una instancia de subtipo también es instancia del supertipo y es la misma instancia, pero con un papel específico distinto Una instancia no puede existir sólo por ser miembro de un subtipo: también debe ser miembro del supertipo Una instancia del supertipo puede no ser miembro de ningún subtipo VEHÍCULO EMPLEADO_HOSPITAL CAMIÓN TURISMO CICLOMOTOR MÉDICO CELADOR ENFERMERO LIMPIADOR

65 2.3. Extensiones del modelo E/G: Herencia de tipo
Un subtipo puede tener atributos propios (específicos) y participar en relaciones por separado Un subtipo hereda todos los atributos del supertipo, y toda relación en la que participa el supertipo Un subtipo, con sus atributos y relaciones específicos, más los atributos y relaciones que hereda del supertipo, es un tipo de entidad por derecho propio numBastidor FABRICA VEHÍCULO FABRICANTE precio (1,n) (1,1) N:1 La entidad del subtipo representa la misma entidad que el supertipo, luego debe poseer valores para los atributos como miembro del supertipo, además de valores para los atributos específicos. [MPM1999] (1,1) LLEVA ID (0,1) CAMIÓN TURISMO MOTOCICLETA SIDECAR numEjes numPlazas 1:1 tonelaje numPuer cilindrada

66 2.3. Extensiones del modelo E/G: Especialización
Proceso de definición de un conjunto de subtipos de un tipo de entidad (» supertipo) Subtipos suelen estar definidos según característica distintiva de las entidades del supertipo Discriminante de la especialización [MPM1999] EMPLEADO actividad SECRETARIO GERENTE COMERCIAL

67 2.3. Extensiones del modelo
E/G: Especialización (ii) Varias especializaciones de un tipo de entidad, con base en diferentes discriminantes [MPM1999] VEHÍCULO motorS/N tipo VEHÍCULO_A_MOTOR VEHÍCULO_SIN_MOTOR CAMIÓN TURISMO MOTOCICLETA [EN2002] PELÍCULA género color DRAMA TERROR COMEDIA BLANCO_Y_NEGRO COLOR

68 2.3. Extensiones del modelo
E/G: Especialización (iii) Conviene incluir relaciones subtipo/supertipo si hay... Atributos que sólo tienen sentido para algunas instancias de un tipo y no para todas (atributos específicos) especialidadMédica «no es aplicable» a CELADOR Tipos de relación en los que sólo participan algunas entidades de un tipo y no todas (relaciones específicas) Relación SUPERVISA entre CELADOR y SECCIÓN_HOSPITAL 1:1 [MPM1999] CELADOR SUPERVISA SECCIÓN_HOSPITAL (1,1) (1,1)

69 3.3. Extensiones del modelo E/G: Generalización
Proceso inverso de la especialización Suprimir diferencias entre varios tipos de entidad: identificar atributos y relaciones comunes, y formar un supertipo que los incluya numBastidor fechaFab numBastidor VEHÍCULO precio CAMIÓN fechaFab precio numEjes tonelaje G CAMIÓN TURISMO fechaFab numBastidor numEjes tonelaje numPuer precio TURISMO numPuer [EN2002]

70  Generalización  Especialización 2.3. Extensiones del modelo
E/G: Generalización vs. Especialización  Generalización Énfasis en las similitudes Cada instancia del supertipo es también una instancia de alguno de los subtipos  Especialización Énfasis en las diferencias Alguna instancia del supertipo puede no ser instancia de ningún subtipo

71 2.3. Extensiones del modelo Restricciones sobre la E/G
Definición ¿Qué instancias del supertipo pertenecen a cada subtipo? Disyunción/Solapamiento ¿A cuántos subtipos puede pertenecer (a la vez) una instancia del supertipo? Completitud/Parcialidad ¿Debe toda instancia del supertipo pertenecer a algún subtipo?

72 2.3. Extensiones del modelo
Restricciones sobre la E/G: Definición Subtipos definidos por predicado o condición Condición de pertenencia a cada subtipo con base en el valor de algún atributo del supertipo Restricción que especifica que... Las instancias del subtipo deben satisfacer la condición Todas las instancias del supertipo que cumplen la condición, deben pertenecer al subtipo PERSONA [EN2002] matriculado=true estadoLaboral=en_activo EMPLEADO ESTUDIANTE

73 2.3. Extensiones del modelo
Restricciones sobre la E/G: Definición (ii) Subtipos definidos por atributo Todas las subclases definen la condición de pertenencia en términos del mismo atributo ... es el discriminante de la especialización PERSONA EMPLEADO_HOSPITAL estadoLaboral claseTrabajo en_activo en_paro médico celador enfermero limpiador EMPLEADO PARADO MÉDICO CELADOR ENFERMERO LIMPIADOR [EN2002] [MPM1999]

74 2.3. Extensiones del modelo
Restricciones sobre la E/G: Definición (iii) Subtipos definidos por el usuario No existe (o no interesa definir) ninguna condición de pertenencia a los subtipos El usuario, al insertar una instancia, elige a qué subtipo pertenece [MPM1999] PROFESOR TITULAR AYUDANTE ASOCIADO

75 2.3. Extensiones del modelo
Restricciones sobre la E/G: Disyunción/Solapamiento Subtipos disjuntos si una instancia del supertipo puede ser miembro de, como máximo, uno de los subtipos VEHÍCULO VEHÍCULO d TURISMO CAMIÓN TURISMO CAMIÓN [EN2002] [MPM1999]

76 2.3. Extensiones del modelo
Restricciones sobre la E/G: Disyunción/Solapamiento (ii) Subtipos solapados si una instancia del supertipo puede ser, a la vez, miembro de más de un subtipo Es la opción «por defecto» PERSONA PERSONA o EMPLEADO ESTUDIANTE EMPLEADO ESTUDIANTE [EN2002] [MPM1999]

77 2.3. Extensiones del modelo
Restricciones sobre la E/G: Completitud/Parcialidad Especialización total (completa) indica que toda instancia del supertipo también debe ser instancia de algún subtipo ANIMAL ANIMAL d MACHO HEMBRA HERMAFRODITA MACHO HEMBRA HERMAFRODITA [EN2002] [MPM1999]

78 2.3. Extensiones del modelo
Restricciones sobre la E/G: Completitud/Parcialidad (ii) Especialización parcial indica que es posible que alguna instancia del supertipo no pertenezca a ninguno de los subtipos Es la opción «por defecto» La unión de las extensiones de los subtipos no es la extensión del supertipo en su totalidad ALIMENTO ALIMENTO [EN2002] [MPM1999] d LACTEO FRUTA VERDURA LACTEO FRUTA VERDURA

79 2.3. Extensiones del modelo E/G: Tipos de Especialización
Las restricciones de disyunción y completitud son independientes entre sí Dan lugar a 4 tipos de especialización: Disjunta y Total Disjunta y Parcial Solapada y Total Solapada y Parcial Lo veremos con un ejemplo de una base de datos de una Universidad

80 2.3. Extensiones del modelo E/G: Especialización Disjunta y Total
EMPLEADO ESTUDIANTE claseTrabajo tipo DOCENTE ADMON_Y_SERV BECARIO BECARIO NO_BECARIO Especialización Disjunta y Parcial DOCENTE cuerpoDocente [MPM1999] AYUDANTE TITULAR CATEDRÁTICO

81 2.3. Extensiones del modelo E/G: Especialización Solapada y Total
PERSONA ocupación [MPM1999] EMPLEADO ESTUDIANTE Especialización Solapada y Parcial EMPLEADO dedicación DOCENTE INVESTIGADOR

82 2.3. Extensiones del modelo E/G: Reglas de inserción y eliminación
Deben aplicarse a la Especialización y la Generalización, debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en todos los subtipos definidos por predicado o por atributo, para los cuales satisface el predicado de definición Insertar una instancia en un supertipo de una especialización total implica insertarla en, al menos, un subtipo Y si la especialización es disjunta, entonces la instancia se insertará en un único subtipo

83 2.3. Extensiones del modelo
E/G: Reglas de inserción y eliminación (ii) Eliminar una instancia de un supertipo implica eliminarla de todos los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo si la especialización es ... disjunta y total, o bien solapada y total, y la instancia ya sólo pertenece al subtipo (se eliminó del resto) En el resto de casos, la instancia sólo se elimina del subtipo No del supertipo ( lo haría el usuario, si fuese necesario)

84 2.3. Extensiones del modelo E/G: Jerarquías y Retículas
Hasta ahora hemos estudiado jerarquías de especialización en las que se cumple la restricción: Todo subtipo participa en sólo una relación supertipo/subtipo Un subtipo tiene un único supertipo: es el concepto de árbol En una retícula de especialización... Un subtipo puede participar en varias relaciones supertipo/subtipo Un subtipo puede tener más de un supertipo Todo lo que indiquemos en las transparencias siguientes acerca de Jerarquías y Retículas de Especialización es aplicable a Jerarquías y Retículas de Generalización.

85 E/G: Ejemplo de Retículas
[MPM1999] nombre dni PERSONA dirección sexo ocupación jornada salario jornada DESEMPLEADO EMPLEADO ESTUDIANTE fechaIni carrera dedicación tipoEstudiante (1, n) centro DOCENTE ADMÓN_Y_SERV BECARIO NO_BECARIO puesto beca cuerpoDocente CATEDRÁTICO TITULAR NO_NUMERARIO tipoCátedra tipoPlaza duraciónContrato

86 2.3. Extensiones del modelo
E/G: Jerarquías y Retículas: Herencia múltiple En las jerarquías de especialización Cada subtipo hereda atributos y relaciones... de su (único) supertipo directo y de sus supertipos predecesores, hasta la raíz TITULAR hereda de DOCENTE, EMPLEADO y PERSONA En las retículas de especialización Un subtipo hereda atributos y relaciones... de sus supertipos (múltiples) directos  herencia múltiple y de todos sus supertipos predecesores, hasta la raíz BECARIO hereda directamente de EMPLEADO y ESTUDIANTE, e indirectamente hereda de PERSONA Los subtipos compartidos dan lugar a retículas Ojo: si un subtipo hereda por varios caminos distintos el MISMO atributo, el subtipo sólo los hereda una vez. Es el caso de los atributos “dni” o “nombre” en el caso de BECARIO, que los hereda por dos caminos: vía EMPLEADO y vía ESTUDIANTE. El conflicto surge cuando se heredan atributos DISTINTOS con el mismo nombre

87 2.3. Extensiones del modelo
E/G: Jerarquías y Retículas: Herencia múltiple (ii) En herencia múltiple pueden surgir conflictos al heredar atributos distintos denominados igual BECARIO hereda “jornada” de dos predecesores ¡¡ !! ¿Cómo resolver esta situación? Renombrar algunos de los atributos en conflicto BECARIO hereda ambos atributos: “jornada” corresponde a “jornada” de EMPLEADO y “jornadaEstudio” corresponde a “jornada” de ESTUDIANTE Definir un orden de prioridad en la herencia BECARIO hereda “jornada” de ESTUDIANTE y no de EMPLEADO La definición de un orden de prioridad lleva implícita la inhibición de la herencia de algunos atributos, que tratamos en la transparencia siguiente

88 2.3. Extensiones del modelo
E/G: Jerarquías y Retículas: Inhibición de la herencia Algunos modelos de datos permiten indicar que ciertos atributos del supertipo no deben ser heredados por los subtipos “ancho” y “alto” no deberían ser heredados por el subtipo POLÍGONO [MPM1999] numVértices ancho PENTÁGONO TRIÁNGULO RECTÁNGULO alto CUADRADO lado

89 2.3. Extensiones del modelo
E/G: Jerarquías y Retículas: Redefinición de atributos heredados Si un supertipo y un subtipo tienen un atributo con el mismo nombre, se entiende que el atributo del subtipo redefine el del supertipo Se utiliza el mismo nombre y significado semántico pero se modifica cómo se calcula o cómo se representa el valor del atributo Tiene sentido sobre todo para atributos derivados ancho [MPM1999] área RECTÁNGULO alto área CUADRADO lado

90 2.3. Extensiones del modelo
E/G: Jerarquías y Retículas: Tratamiento de la herencia Consideraremos que en el MERE ... Los subtipos heredan todos los atributos de los supertipos Pero se permite la redefinición de atributos en los subtipos, y la inhibición de la herencia de atributos ... y si se da herencia múltiple y existe conflicto de nombres, el usuario elegirá entre Renombrar algunos atributos en conflicto, o Inhibir la herencia de algunos atributos ancho área [MPM1999] RECTÁNGULO alto área CUADRADO lado Aplicable al caso de relaciones (en lugar de atributos).

91 2.3. Extensiones del modelo Agregación de tipos de entidad
Restricción inherente del MER: No puede expresar relaciones entre varias relaciones, ni entre un tipo de relación y un tipo de entidad La agregación... Permite combinar varios tipos de entidad, relacionados mediante un tipo de relación, para formar un tipo de entidad agregada de nivel superior Útil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

92 2.3. Extensiones del modelo
Agregación de tipos de entidad (ii): Ejemplo 1 Esquema en el MERE que almacena información sobre las entrevistas que una ETT organiza entre solicitantes de empleo y diferentes empresas nombre [EN2002] nif (1,n) ENTREVISTA_A (1,m) EMPRESA SOLICITANTE M N nombre dirección fecha telefContacto telef nomContacto Algunas entrevistas dan lugar a ofertas de empleos y otras no ¿cómo modelamos esto?

93 » Toda entrevista da lugar a un empleo
2.3. Extensiones del modelo Agregación de tipos de entidad (iii): Ejemplo 1 Solución 1: Relación ternaria ENTREVISTA_A EMPRESA SOLICITANTE OFERTA_EMPLEO [EN2002] ¡ERROR! » Toda entrevista da lugar a un empleo ¡ESO ES FALSO! IMPORTANTE: para que exista una instancia de una relación, es necesario que existan tres instancias vinculadas, una de cada entidad participante en la relación.

94 2.3. Extensiones del modelo
Agregación de tipos de entidad (iv): Ejemplo 1 Solución 2: [EN2002] ENTREVISTA_A EMPRESA SOLICITANTE RESULTA_EN OFERTA_EMPLEO ¡ERROR! NO es posible establecer una relación entre varias relaciones, ni entre relaciones y entidades

95 Entidad COMPUESTA o AGREGADA
2.3. Extensiones del modelo Agregación de tipos de entidad (v): Ejemplo 1 ENTREVISTA Entidad COMPUESTA o AGREGADA Solución 3: ENTREVISTA_A EMPRESA SOLICITANTE OFERTA_EMPLEO RESULTA_EN OK! [EN2002] OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

96 2.3. Extensiones del modelo
Agregación de tipos de entidad (vi): Ejemplo 1 [EN2002] Solución 4: Relación ternaria « falsa» nombre nif (0,n) (0,m) EMPRESA SOLICITANTE REALIZA (1,1) (0,1) (1,1) ENTREVISTA OFERTA EMPLEO GENERA fecha La clave parcial fecha indica que cada entrevista se identifica con (nombre, nif, fecha) lo que significa que un mismo candidato puede pasar varias entrevistas con la misma empresa, en días diferentes. Si la entrevista empresa/solicitante fuera única, ENTREVISTA no necesitaría clave parcial, por lo que “fecha” sería un atributo “normal” telefContacto nomContacto idOferta Tipo de entidad débil de otros dos ¿Qué significa que ENTREVISTA tenga fecha como clave parcial?

97 2.3. Extensiones del modelo
Agregación de tipos de entidad (vii): Ejemplo 1 Solución 5: [EN2002] nombre nif EMPRESA SOLICITANTE fecha (0,n) (0,m) (1,1) (1,1) ENTREVISTA REALIZA SUFRE (0,1) Podemos considerar que esta manera de representarlo es “la mejor” desde nuestro punto de vista. (1,1) OFERTA EMPLEO GENERA idOferta Tipo de entidad débil de otros dos

98 2.3. Extensiones del modelo
Agregación de tipos de entidad (viii): Ejemplo 2 Esquema en el MERE que almacena información acerca de profesores y las asignaturas que éstos imparten, así como los diversos medios que utilizan para impartir cada asignatura (pizarra, transparencias, etc.) M EXPLICA N PROFESOR ASIGNATURA M UTILIZA N [EN2002] MEDIO ¡ERROR! no es posible establecer una relación entre una relación y una entidad

99 Entidad COMPUESTA o AGREGADA
2.3. Extensiones del modelo Agregación de tipos de entidad (ix): Ejemplo 2 Solución: [EN2002] M EXPLICA N PROFESOR ASIGNATURA EXPLICACIÓN M El uso de una entidad adicional PROF/ASIG, débil de las otras dos sería equivalente al uso del agregado. Si se intentara solucionar empleando una RELACIÓN TERNARIA entre PROFESOR, ASIGNATURA Y MEDIO: No sería posible representar la situación de una asignatura para cuya explicación no se emplee ningún medio (pues para una instancia de relación se necesita una instancia de cada entidad participante). En el caso de que forzosamente se deba emplear al menos un medio, esta solución sí podría ser correcta. La diferencia entre agregación y relación ternaria es semántica o conceptual : Con la agregación se vincula por un lado a cada profesor con las asignaturas que imparte y, por otro lado, se liga cada par asignatura/profesor con el conjunto de medios empleados. Esto es lo que ocurre en la realidad: MEDIO se relaciona con el par profesor/asignatura, y no con profesor y asignatura por separado. Para indicar que un profesor para una misma asignatura emplea “tantos” medios, se necesitan “tantas” instancias de la relación de tipo ((profe, asig), medio). Con la relación ternaria se vinculan, a la vez, tres instancias: una de cada entidad participante. Para indicar que un profesor para una misma asignatura emplea “tantos” medios, se necesitan “tantas” instancias de la relación de tipo (profe, asign, medio). Entidad COMPUESTA o AGREGADA UTILIZA N MEDIO

100 AGREGACIÓN COMPUESTO / COMPONENTE:
MER : AGREGACIÓN AGREGACIÓN COMPUESTO / COMPONENTE: Un todo se obtiene por la unión de diversas partes, que pueden ser objetos distintos y que desempeñan papeles distintos en la agregación. COCHE [MPM99] (1,1) (4,4) (1,1) CHASIS MOTOR RUEDA AGREGACIÓN COLECCIÓN / MIEMBRO : Un todo se obtiene por la unión de diversas partes del mismo tipo y que desempeñan el mismo papel en la agregación. Se puede establecer orden entre las partes ARBOL BOSQUE BARCO FLOTA {NumBarco}


Descargar ppt "2. Modelo Entidad-Relación"

Presentaciones similares


Anuncios Google