2. Modelo Entidad-Relación - Presentacióndis.um.es/~jfernand/0405/dbd/tema2.pdf · 1 1 Objetivos:...
-
Upload
truonghanh -
Category
Documents
-
view
225 -
download
2
Transcript of 2. Modelo Entidad-Relación - Presentacióndis.um.es/~jfernand/0405/dbd/tema2.pdf · 1 1 Objetivos:...
1
1
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
Diseño de Bases de Datos
2. Modelo Entidad-Relación
2
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. DatabaseSystems: 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)
Modelo Entidad-Relación
2
3
Modelo de datos conceptual de alto nivelPropuesto 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ónMuy extendido en los métodos de diseño de bases de datosSoportado por herramientas software de diseño (CASE)
2.1. Introducción e historia del modelo Entidad-Relación
4
En el proceso de diseño...
DISEÑO CONCEPTUAL
Requisitos de datos
EsquemaConceptual MER
2.1. Introducción e historia del modelo Entidad-Relación
3
5
Descripción concisa de los requisitos de información de los usuarios
Descripciones detalladas deTIPOS DE DATOSRELACIONES ENTRE DATOSRESTRICCIONES que los DATOS deben cumplir
Sin detalles de implementaciónMás fácil de entenderComunicación con el usuario no técnico
Esquema conceptual
2.1. Introducción e historia del modelo Entidad-Relación
6
2.2. Conceptos básicos del modelo
Entidad ( entity )Atributo ( attribute )Dominio ( values set )Relación ( relationship )
4
7
ENTIDAD
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)
2.2. Conceptos básicos del modelo
8
ATRIBUTOPropiedad o característica de una entidadUna entidad particular es descrita por los valores de sus atributos:
titulo = El alquimista impacientegenero = Thrillernacionalidad = Españaañoestreno = 2002
p1
...
nss = 1122334455dni = 87654321
nombre = Cristina Aliaga Gilnacionalidad = España
e1
...
2.2. Conceptos básicos del modelo
5
9
TIPO DE ENTIDAD (entity set)
Define un conjunto de entidades que poseen los mismos atributosPELICULA: titulo, genero, nacionalidad, añoestreno,numcopiasEMPLEADO: dni, nss, nombre, fechanacim, direccion, telefono,
altura, nacionalidad, edadNotación
EMPLEADO
LOCALVIDEOCLUB
PELICULA DIRECTOR
ACTORCLIENTE
2.2. Conceptos básicos del modelo
10
Instancia de un tipo de entidad
También...Ocurrencia RealizaciónEjemplarEntidad concreta o individual
PELICULA
titulo = El señor de los anillosgenero = Fantasíanacionalidad = EEUUañoestreno = 2001
p2
...
titulo = Ameliegenero = Comedianacionalidad = Franciaañoestreno = 2001
p4
...
titulo = Amores perrosgenero = Dramanacionalidad = Méjicoañoestreno = 1999
p3
...
2.2. Conceptos básicos del modelo
6
11
Intensión y Extensión
Un tipo de entidad describe el esquema o intensión para un conjunto de entidades que poseen la misma estructuraEMPLEADO: dni, nss, nombre, dirección, telefono, altura, fechanacim,
nacionalidad, edadLas instancias del tipo de entidad se agrupan en un conjunto de entidades o extensión
e1 • (87654321, 1122334455, “Cristina Aliaga Gil”, “Libertad, 2. Yecla. Murcia. 30510”, 968100200, 1’60, 28/07/1979, España, 23)
e2 • (12345678, 6677889900, “Antonio Gil Sánchez”, “Paz, 5. Murcia. Murcia.30012”, 968111222, 1’76, 14/04/1944, España, 58)
e3 • (11223344, 1234567890, “Julia Sauce”, “Justicia, 20. Yecla. Murcia. 30510”, 968000222, 1’59, 23/05/1947, España, 55)
...
2.2. Conceptos básicos del modelo
12
Tipos de atributos
Simples o CompuestosAlmacenados o DerivadosMonovalorados o MultivaloradosOpcionales
2.2. Conceptos básicos del modelo
7
13
Atributos Simples o Compuestos
Atributos compuestosPueden dividirse en otros con significado propio
Valor compuesto = concatenación de valores de componentes
Atributos simplesNo divisibles. Atómicos
fechanacimdia mes año
direccioncalle ciudad provincia codpostal
genero
2.2. Conceptos básicos del modelo
14
Atributos Almacenados o Derivados
Atributos derivadosValor calculado a partir de otra información ya existente (atributos, entidades relacionadas)Son información redundante...
edad [de EMPLEADO], cálculo a partir de fechanacimatributo 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 almacenadosfechanacim [de cada EMPLEADO]nacionalidad [de una PELICULA]
2.2. Conceptos básicos del modelo
8
15
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 inferiordel número de valores por entidad
nacionalidad (1-2)telefono (0-3)
2.2. Conceptos básicos del modelo
16
Atributos Opcionales (nulos)
El nulo (null value) es usado cuando...
Se desconoce el valor de un atributo para cierta entidad
El valor existe pero faltaaltura [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
9
17
Notación para atributos[EN2002] [MPM1999]
fechanacimdirección
telefono
calle provinciaciudadcodpostal
dni edad
altura(0,3)
Dnss
nombre
nacionalidad
(1,2)
EMPLEADO(0,3)
dirección
(1,2)
(0,1)EMPLEADOnombre
fechanacim telefono
calleprovinciaciudad
codpostal
edadnss
dni
altura
nacionalidad
2.2. Conceptos básicos del modelo
18
Atributos Clave
Atributo con valor distinto para cada instancia de un tipo de entidaddni en EMPLEADO
Una clave identifica de forma única cada entidad concreta atributo identificadorNotaciónEMPLEADO
[EN2002]
EMPLEADO
dni
[MPM1999]
dni
2.2. Conceptos básicos del modelo
10
19
Atributos Clave (ii)
Una clave puede estar formada porvarios 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 candidatasClaves o Identificadores Candidatos de EMPLEADO:
dninss(nombre, fechanacim)
2.2. Conceptos básicos del modelo
20
Atributos Clave (iii)
Atributo identificador principal (IP) Clave PrincipalElegido (por el diseñador) de entre los identificadores candidatos (IC), para ser el medio principal de identificación de las instancias del tipo de entidaddni en EMPLEADO
Atributos identificadores alternativos (IA)Claves Alternativas El resto de IC’snss y (nombre, fechanacim) en EMPLEADO
2.2. Conceptos básicos del modelo
11
21
Notación para atributos clave[EN2002] [MPM1999]
En el MER es obligatorio que todo tipo de entidad tenga un identificador
nombre
fechanacim
EMPLEADO
direccióntelefono
calle provinciaciudadcodpostal
dni edad
altura(0,3)
Dnss nacionalidad
(1,2)n-f
(0,3)
(1,2)(0,1)
EMPLEADO
nombre
fechanacim telefono
calleprovinciaciudad
codpostal
edadnss
dni
altura
nacionalidad
n-f
dirección
IP
2.2. Conceptos básicos del modelo
22
No suele representarse, aunque una forma de hacerlo sería: [MPM1999]
DOMINIO (values set)Conjunto de valores
Cada atributo simple está asociado a un dominio, que especifica sus valores válidos
.........números reales entre 0 y 2’5 (metros)
cadenas de hasta 9 caracteres numéricoscadenas de hasta 30 caracteres alfabéticosDescripción Dominio
MEDIDASalturaTELEFONOStelefonoNOMBRESnombreDominioAtributo
TELEFONOS
NOMBRES
telefono
nombre
MEDIDASalturaEMPLEADO
2.2. Conceptos básicos del modelo
12
23
RELACIÓN (relationship)
También “interrelación”Asociación, vínculo o correspondenciaentre 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 87654321 trabaja en el local de videoclub“principal”la película “El imperio contraataca” es una continuación dela película “La guerra de las galaxias”
2.2. Conceptos básicos del modelo
24
DIRECTOR HA_RODADO PELICULA
J. Médem
C. Saura
F. Trueba
S. Segura
A. Amenábar
Vacas
Tesis
Belle Epoque
Torrente
Tierra
Abre los ojos
Los otros
Tipo de Relación: conjunto de instancias
Tipo de Entidad: conjunto de instancias
Instancia del tipo de
relación
13
25
TIPO DE RELACIÓN (relationship set)
Estructura genérica o abstracción delconjunto de relaciones existentes entredos o más tipos de entidadun DIRECTOR ha rodado PELICULA’s
Notación
DIRECTOR PELICULAHA_RODADO
2.2. Conceptos básicos del modelo
26
ACTOR PELICULAACTUA_EN
CLIENTE PELICULA
LOCAL_VIDEOCLUB
ALQUILA
Grado de un tipo de relaciónNúmero de tipos de entidad que participan en el tipo de relación
Binaria: grado 2 (el más frecuente)Ternaria: grado 3Reflexiva (o recursiva): grado 1
PELICULACONTINUACIONDE
2.2. Conceptos básicos del modelo
14
27
Nombres de Rol (papel)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
original
versiónPELICULAVERSION_DE
DIRECTOR PELICULAHA_RODADOrealizador film
2.2. Conceptos básicos del modelo
28
Restricciones estructurales sobre tipos de relación
Limitan las posibles combinaciones deentidades que pueden participar en las relacionesExtraí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
2.2. Conceptos básicos del modelo
15
29
Razón de Cardinalidad Notación EN2002
Número máximo de instancias de tipo derelación en las que puede participar unamisma instancia de tipo de entidad
la cardinalidad de HA_RODADO es “1 a N”HA_RODADO es de tipo “1 a N”
Notaciónetiqueta en la línea que une entidad y relaciónOjo: da la sensación de que se representa “al revés”
1
N
DIRECTOR
PELICULA
HA_RODADO
2.2. Conceptos básicos del modelo
30
Razones de cardinalidad más comunes:1:1 (“uno a uno”)
1:N (“uno a muchos”)
M:N (“muchos a muchos”)
ACTOR
PELICULA
personaje
film
M
ACTUA_EN
N
EMPLEADO
LOCAL_VIDEOCLUB
encargado
sucursal
1
trabajador
lugar trabajo
1
TRABAJA_EN SUPERVISA
N1
2.2. Conceptos básicos del modelo
Razón de Cardinalidad Notación EN2002
16
31
Razón de Cardinalidad Notación [MPM1999]
Número máximo de instancias de un tipode entidad que pueden estar relacionadas con una instancia del otro tipo de entidadNotación
Etiqueta (1:1, 1:N, M:N…) junto al tipo de relación, oFlecha en sentido “... a N”
ACTOR
PELICULA
M:N ACTUA_EN
EMPLEADO
LOCAL_VIDEOCLUB
encargado
sucursal
trabajador
lugar trabajo
TRABAJA_EN SUPERVISA1:N1:1
2.2. Conceptos básicos del modelo
32
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 relacionesNotación
flecha en el sentido “... a 1”ACTOR
PELICULA
ACTUA_EN
EMPLEADO
LOCAL_VIDEOCLUB
encargado
sucursal
trabajador
lugar trabajo
TRABAJA_EN SUPERVISA
2.2. Conceptos básicos del modelo
17
33
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ónIndica si hay dependencia en existenciade un tipo de entidad respecto de un tipo de relación
Clases de participación:Participación total (dependencia en existencia)Participación parcial
2.2. Conceptos básicos del modelo
34
Razón de Participación (ii) [EN2002]
NotaciónLíneas dobles o simples
EMPLEADO
LOCAL_VIDEOCLUB
encargado
sucursal
1
trabajador
lugar trabajo
1
TRABAJA_EN SUPERVISA
N1
DIRECTOR
PELICULA
HA_ RODADO
1
N
PELICULA
personaje
film
M
ACTUA_EN
N
ACTOR
3.2. Conceptos básicos del modelo
18
35
Cardinalidad de tipo de entidad
Otra forma de expresar las razones decardinalidad y participación
PERSONA EDIFICIO
p1
p2
p3
e1
e2
e3
e4
USAp1
p2
p3
e1
e2
e3
e4
POSEEPERSONA EDIFICIO
2.2. Conceptos básicos del modelo
POSEE
PERSONA USA EDIFICIO
36
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 entidadNotación
(min, max) en la línea que une entidad y relación
POSEE
PERSONA USA EDIFICIO(1,n) (0,m)
(1,1)(0,n)
2.2. Conceptos básicos del modelo
19
37
Cardinalidad de tipo de entidad (iii) [EN2002]
EMPLEADO
LOCAL_VIDEOCLUB
11
TRABAJA_EN SUPERVISA
N1
(0,n)
(1,1)
(1,1)
(1,1)
EMPLEADO
LOCAL_VIDEOCLUB
TRABAJA_EN SUPERVISA
PELICULA
MACTUA_EN
N
ACTOR
PELICULA
(1,n)
ACTUA_EN
(0,m)
ACTOR
2.2. Conceptos básicos del modelo
38
Cardinalidad de tipo de entidad Notación MPM1999]
Números mínimo y máximo de instanciasde un tipo de entidad que pueden estar relacionadas con una instancia del otro tipo de entidadNotació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)
2.2. Conceptos básicos del modelo
20
39
POSEE ( PERSONA(0,n) : EDIFICIO(1,1) )
POSEE( PERSONA(1,1) : EDIFICIO(0,n) )
Cardinalidad de tipo de entidad (v)
Comparación de notaciones
PERSONA POSEE EDIFICIO(0,n) (1,1) p1
p2
p3
e1
e2
e3
e4
POSEEPERSONA EDIFICIO
PERSONA POSEE EDIFICIO(1,1) (0,n)
[EN2002]
[MPM1999]
2.2. Conceptos básicos del modelo
En toda notación, la cardinalidad de una entidad es la etiqueta de la línea que la une a la relación
40
EMPLEADOLOCAL
VIDEOCLUBSUPERVISA1 N[EN2002]
[MPM1999] EMPLEADO LOCALVIDEOCLUB
1:N
SUPERVISA(1,1) (0,n)
EMPLEADOLOCAL
VIDEOCLUBSUPERVISA[SKS1998]
Cardinalidad de tipo de entidad
Comparación de notaciones (ii)
21
41
Cardinalidad de tipo de entidad
[EN2002]
[MPM1999]1:1(0,1)
(0,1)PELICULA SECUELA DEprecuela
continuación
N
1subalterno
superior
(0,1)
(0,n)EMPLEADO JEFE DE
Cardinalidad de tipos de entidad recursivos
PELICULA VERSIONA N:1(0,1)
(0,n)versión original
42
Atributos de tipos de relación
[EN2002]
[MPM1999]
EMPLEADO
LOCAL_VIDEOCLUB
11
TRABAJA_EN SUPERVISA
N1
horas fechainicio
PELICULA(0,m)ACTUA_EN
(1,n)ACTOR
salariopapel
M:N
22
43
Atributos de tipos de relación (ii)Conceptualmente pertenecen a la relación
Un atributo de una M:N es propio de la relaciónUn atributo de una 1:1 o 1:N “se puede llevar” a uno de los tipos de entidad participantes
horas fechainicio
[EN2002]
horas
horas
fechainicio
EMPLEADO11
TRABAJA_EN SUPERVISA
N1LOCAL_VIDEOCLUB
2.2. Conceptos básicos del modelo
44
Tipo de Entidad Débil Notación [EN2002]
No tiene atributos clave propiosUna instancia se identifica por su relación con una instancia de otro tipo de entidad
Tipo de relación identificadorRelaciona 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 COPIA
2.2. Conceptos básicos del modelo
23
45
Tipo de entidad débil (ii) [EN2002]PELICULA
numcopia
titulo
1
NCOPIA
TIENE
PACIENTE
VISITA_MEDICA diahora
1nss
N
MEDICO ncolegiado
nombre
N
1
especialidad
ACUDE
ASISTIDAPOR
Tipo de Relación
Identificador
Clave parcial oDiscriminante
Tipo de EntidadRegular
2.2. Conceptos básicos del modelo
Dependenciaen existencia
46
EMPLEADO
numlicencia
dni
1
N
PERMISOCONDUCCION
POSEE
tipo
Tipo de entidad débil (iii) [EN2002]No toda participación total (o dependencia en existencia)implica un tipo de entidad débil
PERMISO_CONDUCCIÓN no es débil: depende en existencia de EMPLEADO, pero tiene clave primaria propia
2.2. Conceptos básicos del modelo
24
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 existenciaEn identificación
48
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ónAdemás de la dependencia en existencia...Una instancia del tipo de entidad débil no se puede identificar por sí mismaSu clave es (clave_entidad_regular, clave_parcial)Etiqueta “ID” en el tipo de relación débil
2.2. Conceptos básicos del modelo
25
49
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
Tipo de entidad débil (vi) [MPM1999]
numcopia
titulo
COPIA
1:NTIENE
ID
PELICULA
idcopia
numlicencia
EMPLEADO
PERMISOCONDUCCION
POSEE1:NE
dni
tipo
Tipo de Relación
Débil
2.2. Conceptos básicos del modelo
50
Tipo de entidad débil (vii)Comparación de conceptos y notación
CLIENTE
numprestamo
dni
1
N
PRESTAMO
POSEE
numprestamo
CLIENTE
PRESTAMO
POSEE 1:NE
dni
(1,1)
(0,n)
[EN2002] [MPM1999]
Dependencia en existencia
26
51
Tipo de entidad débil (viii)Comparación de conceptos y notación (ii)
[EN2002] [MPM1999]
numpago
PRESTAMO
PAGO
TIENE1:1ID
numprestamo
(1,1)
(0,n)
idpago
PRESTAMO
numpago
numprestamo
1
N
PAGO
TIENE
Dependencia en identificaciónEntidad Débil de otra entidad débil
52
Tipo de entidad débil (ix)Comparación de conceptos y notación (iii)
ACTOR
titulo
nombre
M
N
PELICULA
ACTUA_EN
[EN2002] [MPM1999]
titulo
ACTOR
PELICULA
M:N
nombre
(0,m)
(1,n)
ACTUA_EN
Participación total
27
53
Tipos de relación con grado superior a dos
[EN2002] [MPM1999]
CLIENTE
CINTAVIDEO
LOCALVIDEOCLUB
ALQUILA
(1,1)(1,n)
(1,1)
CLIENTE
CINTAVIDEO
LOCALVIDEOCLUB
ALQUILA(0,1)
(0,n)
(0,m)
Cardinalidad de los tipos de entidad
fecha fecha
54
Tipos de relación con grado superior a dos (ii)Equivalencia ternaria – varias binarias
[EN2002]
CLIENTE
CINTAVIDEO
LOCALVIDEOCLUB
ALQUILA(0,1)
(0,n)
(0,m)fecha
LOCALVIDEOCLUB
ALQUILA
(1,m) (0,1)
(1,n)
(0,n)
(1,1)
(1,n)CONTIENE
fecha
ALQUILA_EN CINTAVIDEO
CLIENTE
28
55
Tipos de relación con grado superior a dos (iii)
[EN2002]
TIENDA
(1,m) (1,m)
(1,n)
(1,n)
(0,n)
(1,m)VENDE
PROVEE
PUEDESUMINISTRAR
PRODUCTO
PROVEEDOR
PRODUCTO
TIENDA
(0,m)(1,n)
(1,p)
SUMINISTRA
idprov
codpr
nombre
cantidad
fecha
PROVEEDOR
Pérdida de semántica...
56
Tipos de relación con grado superior a dos (iv)
Solución típica: coexistencia ternaria/binarias[EN2002]
PROVEEDOR
PRODUCTO
TIENDA
(0,m)(1,n)
(1,p)
SUMINISTRA
(1,m)
(1,n) (0,n)
(1,m) VENDE
PROVEE
(1,m)
(1,n) PUEDESUMINISTRAR
idprov
codpr
nombre
cantidadfecha
29
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)
(1,1)
RECIBE
(1,n)
(1,n) REALIZA(1,1)
(0,n)CONTIENE
cantidad fecha
nombre
idprov codpr
SUMINISTRO
58
Tipos de relación con grado superior a dos (vi)
Relaciones ternarias “falsas”
[EN2002]
Tipo de entidad débil de más de un tipo de entidad
EMPRESA
OFERTAEMPLEO
(1,1)
(0,m)CANDIDATO
(0,n)REALIZA
(0,1) (1,1)GENERA
fecha
idemp
idoferta
dni
numENTREVISTA
30
59
Aportaciones de diversos autores al modeloEntidad-Relación «básico».Permiten representar...
Relaciones exclusivas entre síJerarquías de Especialización/GeneralizaciónAgregación de entidades
Modelo Entidad-Relación Extendido, MEREEnhanced Entity-Relationship model, EER
2.3. Extensiones del modelo
60
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
GASOLINA
GASTACONSUME
GASOIL
Relaciones Exclusivas2.3. Extensiones del modelo
CONSUME y GASTA son exclusivas respecto del tipo de entidad VEHICULO
VEHÍCULO
31
61
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
Especialización/Generalización (E/G)2.3. Extensiones del modelo
62
Agrupación de instancias dentro de un tipo de entidad, que debe representarse explícitamentedebido a su importancia para el diseño o aplicación
Subtipos del tipo de entidad VEHÍCULO:CAMIÓNTURISMOAUTOBÚSCICLOMOTOR
Subtipos del tipo de entidad EMPLEADO:SECRETARIOGERENTECOMERCIAL
El tipo de entidad que se especializa en otros se llama supertipo ( VEHICULO, EMPLEADO )
E/G: Subtipo de un tipo de entidad2.3. Extensiones del modelo
32
63
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: EMPLEADO
EMPLEADO [EN2002]
[MPM1999]EMPLEADO
ES
[SKS1998]
E/G: Relación Supertipo/Subtipo2.3. Extensiones del modelo
SECRETARIO GERENTE COMERCIAL
SECRETARIO COMERCIAL
SECRETARIO GERENTE COMERCIAL
GERENTE
64
La extensión de un subtipo es un subconjunto de la extensión delsupertipo
Una instancia de subtipo también es instancia del supertipo y es la misma instancia, pero con un papel específico distintoUna instancia no puede existir sólo por ser miembro de un subtipo: también debe ser miembro del supertipoUna instancia del supertipo puede no ser miembro de ningún subtipo
E/G: Relación Supertipo/Subtipo (ii)
2.3. Extensiones del modelo
VEHÍCULO
CICLOMOTORCAMIÓN TURISMO
EMPLEADO_HOSPITAL
ENFERMEROMÉDICO CELADOR LIMPIADOR
33
65
• 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
VEHÍCULO
CAMIÓN
FABRICANTE
SIDECAR
FABRICA
LLEVA
numBastidorprecio
numEjestonelaje numPuer
numPlazascilindrada
ID
(1,1)(1,n)
(1,1) (0,1)[MPM1999]TURISMO
N:1
1:1
MOTOCICLETA
E/G: Herencia de tipo2.3. Extensiones del modelo
66
Proceso de definición de un conjunto de subtiposde un tipo de entidad (» supertipo)Subtipos suelen estar definidos según característica distintiva de las entidades del supertipo
Discriminante de la especialización
E/G: Especialización2.3. Extensiones del modelo
EMPLEADO
actividad
SECRETARIO GERENTE COMERCIAL
[MPM1999]
34
67
Varias especializaciones de un tipo de entidad,con base en diferentes discriminantes
VEHÍCULO
PELÍCULA
tipomotorS/N
colorgénero
[MPM1999]
[EN2002]
E/G: Especialización (ii)
2.3. Extensiones del modelo
VEHÍCULO_SIN_MOTORVEHÍCULO_A_MOTOR MOTOCICLETACAMIÓN TURISMO
COLORBLANCO_Y_NEGROCOMEDIADRAMA TERROR
68
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
SUPERVISA(1,1)(1,1)
1:1
[MPM1999]
E/G: Especialización (iii)
2.3. Extensiones del modelo
CELADOR SECCIÓN_HOSPITAL
35
69
• 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
precio
numEjes
TURISMO
fechaFab
numBastidor
precio
numEjes tonelaje
numPuer
fechaFab
numBastidor
precio
fechaFab
CAMIÓN
TURISMO
CAMIÓN
numPuertonelaje
VEHÍCULO
[EN2002]
G
E/G: Generalización3.3. Extensiones del modelo
70
GeneralizaciónÉnfasis en las similitudesCada instancia del supertipo es también una instancia de alguno de los subtipos
EspecializaciónÉnfasis en las diferenciasAlguna instancia del supertipo puede no ser instancia de ningún subtipo
E/G: Generalización vs. Especialización2.3. Extensiones del modelo
36
71
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?
Restricciones sobre la E/G2.3. Extensiones del modelo
72
Subtipos definidos por predicado o condiciónCondición de pertenencia a cada subtipocon base en el valor de algún atributo del supertipoRestricció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
EMPLEADO ESTUDIANTE
estadoLaboral=en_activo matriculado=true
[EN2002]
Restricciones sobre la E/G: Definición2.3. Extensiones del modelo
37
73
• 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
en_activo en_paro
estadoLaboral claseTrabajo
médico celador limpiadorenfermero
[MPM1999][EN2002]
Restricciones sobre la E/G: Definición (ii)2.3. Extensiones del modelo
PERSONA
EMPLEADO PARADO
EMPLEADO_HOSPITAL
ENFERMEROMÉDICO CELADOR LIMPIADOR
74
Subtipos definidos por el usuarioNo existe (o no interesa definir) ninguna condición de pertenencia a los subtiposEl usuario, al insertar una instancia, elige a qué subtipo pertenece
Restricciones sobre la E/G: Definición (iii)2.3. Extensiones del modelo
PROFESOR
TITULAR AYUDANTE ASOCIADO
[MPM1999]
38
75
Subtipos disjuntos si una instancia del supertipo puede ser miembro de, como máximo, uno de los subtipos
VEHÍCULO
TURISMO CAMIÓN
dVEHÍCULO
CAMIÓNTURISMO
[MPM1999][EN2002]
Restricciones sobre la E/G:Disyunción/Solapamiento
2.3. Extensiones del modelo
76
Subtipos solapados si una instancia del supertipo puede ser, a la vez, miembro de más de un subtipoEs la opción «por defecto»
PERSONA
EMPLEADO ESTUDIANTE
o
PERSONA
ESTUDIANTEEMPLEADO
[MPM1999][EN2002]
Restricciones sobre la E/G:Disyunción/Solapamiento (ii)
2.3. Extensiones del modelo
39
77
Especialización total (completa) indica que toda instancia del supertipo también debe ser instancia de algún subtipo
ANIMAL
d
[MPM1999][EN2002]
Restricciones sobre la E/G:Completitud/Parcialidad
2.3. Extensiones del modelo
ANIMAL
MACHO HEMBRA HERMAFRODITA HEMBRAMACHO HERMAFRODITA
78
Especialización parcial indica que es posible que alguna instancia del supertipo no pertenezca a ninguno de los subtiposEs 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
d[MPM1999][EN2002]
ALIMENTO
Restricciones sobre la E/G:Completitud/Parcialidad (ii)
2.3. Extensiones del modelo
LACTEO FRUTA FRUTALACTEOVERDURA VERDURA
40
79
Las restricciones de disyunción y completitud son independientes entre sí
Dan lugar a 4 tipos de especialización:Disjunta y TotalDisjunta y ParcialSolapada y TotalSolapada y Parcial
Lo veremos con un ejemplo de una base de datos de una Universidad
2.3. Extensiones del modeloE/G: Tipos de Especialización
80
EMPLEADO
claseTrabajo
ESTUDIANTE
tipo
[MPM1999]
2.3. Extensiones del modeloE/G: Especialización Disjunta y Total
DOCENTE BECARIO BECARIO NO_BECARIOADMON_Y_SERV
Especialización Disjunta y ParcialDOCENTE
TITULARAYUDANTE CATEDRÁTICO
cuerpoDocente
41
81
[MPM1999]
2.3. Extensiones del modeloE/G: Especialización Solapada y Total
Especialización Solapada y Parcial
EMPLEADO
ocupación
ESTUDIANTE
PERSONA
EMPLEADO
DOCENTE INVESTIGADOR
dedicación
82
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 unaespecialización total implica insertarla en, al menos, un subtipoY si la especialización es disjunta, entonces la instancia se insertará en un único subtipo
2.3. Extensiones del modeloE/G: Reglas de inserción y eliminación
42
83
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 biensolapada 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)
2.3. Extensiones del modeloE/G: Reglas de inserción y eliminación (ii)
84
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/subtipoUn 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/subtipoUn subtipo puede tener más de un supertipo
2.3. Extensiones del modeloE/G: Jerarquías y Retículas
43
85
nombre
NO_BECARIO
tipoEstudiante
ESTUDIANTE
ocupación
NO_NUMERARIO
cuerpoDocente
dedicación
dnidirección
sexo
jornadasalario
jornadacarrera
(1, n) centro
becapuesto
duraciónContratotipoPlazatipoCátedra
EMPLEADO
ADMÓN_Y_SERVDOCENTE
[MPM1999]
fechaIni DESEMPLEADO
PERSONA
E/G: Ejemplo de Retículas
BECARIO
TITULARCATEDRÁTICO
86
En las jerarquías de especializaciónCada subtipo hereda atributos y relaciones...
de su (único) supertipo directoy de sus supertipos predecesores, hasta la raíz
TITULAR hereda de DOCENTE, EMPLEADO y PERSONA
En las retículas de especializaciónUn subtipo hereda atributos y relaciones...
de sus supertipos (múltiples) directos herencia múltipley 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
E/G: Jerarquías y Retículas: Herencia múltiple2.3. Extensiones del modelo
44
87
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 herenciaBECARIO hereda “jornada” de ESTUDIANTE y no de EMPLEADO
E/G: Jerarquías y Retículas: Herencia múltiple (ii)
2.3. Extensiones del modelo
88
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
PENTÁGONO TRIÁNGULO
numVértices
alto
POLÍGONO [MPM1999]
2.3. Extensiones del modeloE/G: Jerarquías y Retículas: Inhibición de la herencia
ancho
ladoCUADRADO
RECTÁNGULO
45
89
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ánticopero se modifica cómo se calcula o cómo se representa el valor del atributo
Tiene sentido sobre todo para atributos derivados
alto[MPM1999]
2.3. Extensiones del modeloE/G: Jerarquías y Retículas: Redefinición de atributos heredados
ancho
ladoCUADRADO área
área RECTÁNGULO
90
• 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
2.3. Extensiones del modeloE/G: Jerarquías y Retículas: Tratamiento de la herencia
[MPM1999]área
área
altoancho
ladoCUADRADO
RECTÁNGULO
46
91
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 deentidad agregada de nivel superiorÚtil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad
Agregación de tipos de entidad2.3. Extensiones del modelo
92
nombre
SOLICITANTE
nomContacto
telefContactofecha
nif
nombre
Esquema en el MERE que almacena información sobre las entrevistas que una ETT organiza entre solicitantes de empleo y diferentes empresas
ENTREVISTA_AEMPRESA
dirección
[EN2002](1,m)
M N
(1,n)
Agregación de tipos de entidad (ii): Ejemplo 1
2.3. Extensiones del modelo
Algunas entrevistas dan lugar a ofertas de empleos y otras no¿cómo modelamos esto?
telef
47
93
EMPRESA SOLICITANTE
OFERTA_EMPLEO
ENTREVISTA_A
Agregación de tipos de entidad (iii): Ejemplo 1
2.3. Extensiones del modelo
Solución 1: Relación ternaria
¡ERROR!
» Toda entrevista da lugar a un empleo
¡ESO ES FALSO!
[EN2002]
94
Agregación de tipos de entidad (iv): Ejemplo 1
2.3. Extensiones del modelo
Solución 2:
¡ERROR!
NO es posible establecer unarelación entre varias relaciones,ni entre relaciones y entidades
[EN2002]
EMPRESA SOLICITANTE
RESULTA_EN
OFERTA_EMPLEO
ENTREVISTA_A
48
95
EMPRESA SOLICITANTE
ENTREVISTA
Entidad COMPUESTA o
AGREGADA
ENTREVISTA_A
Agregación de tipos de entidad (v): Ejemplo 1
2.3. Extensiones del modelo
Solución 3:
[EN2002]OFERTA_EMPLEO
RESULTA_EN
OK!
OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN
96
EMPRESA
OFERTAEMPLEO
(1,1)
(0,m)SOLICITANTE
(0,n)REALIZA
(0,1) (1,1)GENERAfecha
nombre
idOferta
nif
ENTREVISTA
Agregación de tipos de entidad (vi): Ejemplo 1
2.3. Extensiones del modelo
Solución 4: Relación ternaria « falsa»[EN2002]
nomContacto telefContacto
Tipo de entidad débil de otros dos¿Qué significa que ENTREVISTA tenga fecha como clave parcial?
49
97
Tipo de entidad débil de otros dos
EMPRESA
OFERTAEMPLEO
(1,1)(0,m)
SOLICITANTE
(0,n)
REALIZA
(0,1)(1,1)
GENERA
fecha
nombre
idOferta
nif
ENTREVISTA
Agregación de tipos de entidad (vii): Ejemplo 1
2.3. Extensiones del modelo
Solución 5: [EN2002]
SUFRE(1,1)
98
PROFESOR
¡ERROR! no es posible establecer unarelación entre una relación y una entidad
EXPLICA
MEDION
M N
M
Agregación de tipos de entidad (viii): Ejemplo 2
2.3. Extensiones del modelo
• 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.)
[EN2002]
UTILIZA
ASIGNATURA
50
99
N
N
MEXPLICACIÓN
MPROFESOR
Entidad COMPUESTAo AGREGADA
EXPLICA
MEDIO
Agregación de tipos de entidad (ix): Ejemplo 2
2.3. Extensiones del modelo
Solución: [EN2002]
UTILIZA
ASIGNATURA
100
MER : AGREGACIÓNAGREGACIÓN
[MPM99]
• 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.
CHASIS MOTOR
COCHE
RUEDA
(1,1) (1,1) (4,4)
• 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
ARBOLBOSQUE BARCOFLOTA {NumBarco}