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
1
3.1. Introducción e historia del modelo Entidad-
Relación
3
3.2. Conceptos básicos del modelo
• Entidad ( entity )
• Atributo ( attribute )
• Dominio ( values set )
• Relación ( relationship )
4
3.2. Conceptos básicos del modelo
ENTIDAD
• Cosa u objeto del mundo real con existencia
propia y distinguible del resto
5
3.2. Conceptos básicos del modelo
ATRIBUTO
• Propiedad o característica de una entidad
• Una entidad particular es descrita por los
valores de sus atributos:
titulo = El alquimista impaciente
genero = Thriller
p1
nacionalidad = España
añoestreno = 2002
...
dni = 87654321
e1 nss = 1122334455
nombre = Cristina Aliaga Gil
nacionalidad = España
... 6
3.2. Conceptos básicos del modelo
• Notación
EMPLEADO PELICULA DIRECTOR
LOCAL ACTOR
CLIENTE
VIDEOCLUB
7
3.2. Conceptos básicos del modelo
Instancia de un tipo de entidad
• También... PELICULA
– Ocurrencia
– Realización titulo = El señor de los anillos
genero = Fantasía
– Ejemplar p2 nacionalidad = EEUU
– Entidad concreta o añoestreno = 2001
individual ...
Intensión y Extensión
• 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 (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)
... 9
3.2. Conceptos básicos del modelo
Tipos de atributos
• Simples o Compuestos
• Almacenados o Derivados
• Monovalorados o Multivalorados
• Opcionales
10
3.2. Conceptos básicos del modelo
Atributos Simples o Compuestos
• Atributos compuestos
– Pueden dividirse en otros con significado propio
fechanacim direccion
dia mes año calle ciudad provincia codpostal
• Atributos simples
genero
– No divisibles. Atómicos
11
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]
12
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]
nss nacionalidad
dni edad
15
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]
16
Atributos Clave (ii)
• 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
ciudad provincia
calle
codpostal
dirección
fechanacim telefono
(0,3)
(0,1)
n-f EMPLEADO altura
(1,2)
nombre IP nacionalidad
nss
dni edad
No suele representarse,
nombre NOMBRES
aunque una forma de
telefono
hacerlo sería: EMPLEADO TELEFONOS
altura
[MPM1999] MEDIDAS 20
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 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”
21
DIRECTOR HA_RODADO PELICULA
Instancia
del tipo de
relación
Vacas
J. Médem Tesis
C. Saura Belle Epoque
F. Trueba Torrente
S. Segura Tierra
A. Amenábar Abre los ojos
Los otros
Tipo de Entidad:
Tipo de Relación:
conjunto de instancias
conjunto de instancias
22
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
23
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
CONTINUACION PELICULA
DE LOCAL_VIDEOCLUB
24
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
original
VERSION_DE PELICULA
versión
25
Restricciones estructurales sobre tipos de
relación
trabajador ACTOR
EMPLEADO
1 encargado 1 personaje M
sucursal N N
1 film
LOCAL_VIDEOCLUB PELICULA
lugar trabajo
28
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
29
Razón de Participación (ii)[EN2002]
• Notación DIRECTOR ACTOR
1 personaje M
– Líneas
dobles o HA_ RODADO ACTUA_EN
simples N N
film
PELICULA
PELICULA
trabajador
EMPLEADO
1 encargado 1
TRABAJA_EN SUPERVISA
sucursal N
1
lugar trabajo LOCAL_VIDEOCLUB
30
Cardinalidad de tipo de entidad
• Otra forma de expresar las razones de
cardinalidad y participación
PERSONA USA EDIFICIO
POSEE
e2 e2
p2 p2
e3 e3
p3 e4 p3 e4
31
Cardinalidad de tipo de entidad (ii)
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)
PERSONA USA EDIFICIO
(0,n) (1,1)
POSEE
32
Cardinalidad de tipo de entidad
(iii) EMPLEADO
[EN2002]
ACTOR
1 1 M
TRABAJA_EN SUPERVISA ACTUA_EN
N N
1
PELICULA
LOCAL_VIDEOCLUB
EMPLEADO ACTOR
(1,1) (0,n)
(1,n)
TRABAJA_EN SUPERVISA ACTUA_EN
[EN2002]
superior (0,n) 1
subalterno
EMPLEADO (0,1) JEFE DE
N
34
Atributos de tipos de relación
• Similares a los atributos de tipos de entidad
[EN2002] EMPLEADO
1 1
N
1
LOCAL_VIDEOCLUB
35
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
EMPLEADO horas
1 1
N
1
LOCAL_VIDEOCLUB fechainicio
[EN2002]
horas
36
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 COPIA
37
Tipo de entidad débil
Tipo de
(ii) [EN2002]
Entidad
PELICULA titulo
nss PACIENTE Regular
1 1
Tipo de
Relación TIENE
ACUDE
Identificador
N N
numcopia
VISITA_MEDICA diahora COPIA
N
Clave parcial o
ASISTIDA
POR Discriminante
1
MEDICO ncolegiado
Dependencia
especialidad nombre en existencia
38
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
[EN2002]
CLIENTE
(0,n)
(0,1)
ALQUILA CINTA
VIDEO
fecha (0,m)
LOCAL
VIDEOCLUB
[EN2002]
fecha
(0,n)
CLIENTE CLIENTE ALQUILA
(0,n) (1,m) (0,1)
(0,1)
ALQUILA CINTA CINTA
ALQUILA_EN
VIDEO VIDEO
fecha (0,m) (1,n) (1,1)
LOCAL LOCAL
VIDEOCLUB CONTIENE
VIDEOCLUB
(1,n)
41
Tipos de relación con grado superior a dos (iii)
• Ternaria no equivalente a varias binarias
[EN2002]
idprov (1,n) PUEDE
PROVEEDOR PROVEEDOR SUMINISTRAR
codpr
cantidad (1,n) (1,m)
(0,m) (1,m)
SUMINISTRA PRODUCTO PROVEE PRODUCTO
fecha (1,p) (1,n) (0,n)
TIENDA TIENDA VENDE
(1,m)
nombre
• Pérdida de semántica... 42
Modelo Entidad-Relación Extendido, MERE
Enhanced Entity-Relationship model, EER
43
3.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
GASOIL GASOLINA
45
3.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
EMPLEADO [EN2002]
47
3.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
48
3.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
VEHÍCULO FABRICA FABRICANTE
precio (1,1) (1,n)
N:1
(0,1) (1,1)
tonelaje LLEVA
CAMIÓN TURISMO MOTOCICLETA SIDECAR
EMPLEADO
actividad
50
3.3. Extensiones del modelo
E/G: Especialización (ii)
PELÍCULA
color
[EN2002]
género
51
3.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
52
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 numBastidor
fechaFab VEHÍCULO
precio CAMIÓN fechaFab
precio
numEjes tonelaje
G CAMIÓN TURISMO
fechaFab
numBastidor
numEjes tonelaje numPuer
Especialización
• Énfasis en las diferencias
• Alguna instancia del supertipo puede no ser
instancia de ningún subtipo
54
3.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?
55
3.3. Extensiones del modelo
Restricciones sobre la E/G: Definición
estadoLaboral=en_activo matriculado=true
EMPLEADO ESTUDIANTE
56
3.3. Extensiones del modelo
Restricciones sobre la E/G: Definición (ii)
estadoLaboral
claseTrabajo
en_activo en_paro
médico celador
EMPLEADO PARADO enfermero limpiador
MÉDICO CELADOR ENFERMERO LIMPIADOR
[EN2002]
57
3.3. Extensiones del modelo
Restricciones sobre la E/G: Definición (iii)
PROFESOR
58
3.3. Extensiones del modelo
Restricciones sobre la E/G:
Disyunción/Solapamiento
• Subtipos disjuntos si una • Subtipos solapados si
instancia del supertipo una instancia del
puede ser miembro de, supertipo puede ser, a
como máximo, uno de los la vez, miembro de
subtipos más de un subtipo
• Es la opción «por
defecto»
VEHÍCULO
PERSONA
d o
TURISMO CAMIÓN
EMPLEADO ESTUDIANTE
[EN2002] 59
3.3. Extensiones del modelo
Restricciones sobre la E/G: Completitud/Parcialidad
• Especialización total •Especialización parcial indica que
(completa) indica que es posible que alguna instancia del
toda instancia del supertipo no pertenezca a ninguno
supertipo también debe de los subtipos
ser instancia de algún •Es la opción «por defecto»
subtipo •La unión de las extensiones de los
subtipos no es la extensión del
supertipo en su totalidad
ANIMAL ALIMENTO
d d
claseTrabajo tipo
d d
cuerpoDocente
d
ocupación
O
EMPLEADO ESTUDIANTE
dedicación O
DOCENTE INVESTIGADOR
63
3.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
66
3.4.1 Objetivos y fases del diseño lógico
Fases
Diseño Lógico Estándar (DLS)
– Se elige el modelo de datos de representación, aún no el SGBD
– Transformación independiente del SGBD específico
Esquema Conceptual Esquema Lógico eStándar (ELS)
MER MR (SQL-92)
Tipo de Entidad Tabla (relación)
Tipo de Relación M:N Tabla
Tipo de Relación 1:1, 1:N, N:1 Propagación de clave o tabla
• Dominio
MR
CREATE DOMAIN Estado_civil AS CHAR(1)
MERE CHECK VALUE IN (‘S’, ‘C’, ‘V’, ‘D’) ;
ESTADO_CIVIL: {S, C, V, D}
• Tipo de entidad
– Se traduce a una tabla (relación)
– Se recomienda usar el mismo nombre o uno similar
MERE MR
CREATE TABLE Persona
PERSONA (
...
); 70
3.4.2 Diseño lógico estándar
Traducción de un atributo
• Atributo simple y monovaluado Columna
• Atributo identificador
– Id. principal Clave primaria (PRIMARY KEY)
– Id. alternativo Clave alternativa (UNIQUE)
Podrá contener NULL si no se indica lo contrario
MERE MR
numSS
dni nombre CREATE TABLE Persona
direccion ( dni PRIMARY KEY,
telefono numSS UNIQUE NULL,
PERSONA nombre ...,
fechaNacim
direccion ...,
nacionalidad altura telefono ...,
fechaNacim ...,
nacionalidad ...,
altura ... ) ; 71
3.4.2 Diseño lógico estándar
Traducción de un atributo (2)
• Atributo compuesto.- Dos alternativas:
a) «Eliminar» atributo compuesto y considerar todos sus
componentes como columnas simples de la tabla resultante
b) «Eliminar» los componentes y considerar el atributo compuesto
como una sola columna de la tabla
MERE
MR (DED)
72
3.4.2 Diseño lógico estándar
Traducción de un atributo (3)
• Atributo multivalorado
– Nueva tabla S, en la que el atributo multivalorado se representa
como una columna simple A
– S contendrá una nueva columna F, clave ajena a la clave primaria
de la tabla correspondiente a la entidad
– La clave primaria de S es la combinación (F, A)
MERE MR
dni nombre PERSONA (dni, nombre, fechaNac, edad)
fechaNac
PERSONA edad
74
3.4.2 Diseño lógico estándar
Traducción de una relación binaria M:N
[MPM 1999]
75
3.4.2 Diseño lógico estándar
Traducción de una relación binaria M:N (3)
Especificación de restricciones
a) Datos coherentes: evitar que ESCRIBE contenga un libro con autor
desconocido (fila con autor NULL) o un autor de un libro inexistente (fila
con libro NULL)
Especificación de restricciones
b) Cardinalidad mínima 1: todo libro tiene al menos un autor
c) Cardinalidad máxima 4: evitar que un libro haya sido escrito por
más de 4 autores
– CREATE ASSERTION autores_de_libro
CHECK (
(NOT EXISTS (SELECT * FROM LIBRO
WHERE isbn NOT IN (SELECT libro
FROM ESCRIBE)))
AND
(4 >= (SELECT MAX(COUNT(*))
FROM ESCRIBE
GROUP BY libro))
);
79
3.4.2 Diseño lógico estándar
Traducción de una relación binaria M:N (y 7)
Especificación de restricciones
d) Cardinalidad mínima 1: todo autor ha escrito al menos un
libro
– Evitar que en AUTOR exista una fila tal que NO haya ninguna
tupla en ESCRIBE que le haga referencia (autor sin libros).
– Es necesario crear una RI General o Aserto:
CREATE ASSERTION libros_de_autor
CHECK (
NOT EXISTS (SELECT * FROM AUTOR
WHERE codAutor NOT IN (SELECT autor
FROM ESCRIBE))
);
80
3.4.2 Diseño lógico estándar
Traducción de una relación binaria 1:N
1) Caso general E1
1
V
N
E2
Propagación de clave R1 R2
– En R2 se incluyen nuevas columnas...
clave externa hacia la clave primaria de R1
columnas para los atributos de la relación V (simples o
componentes simples de atributos compuestos)
nomProv
CIUDAD( nomCiudad, provincia, ... )
FK: NULOS NO PERMITIDOS
nomMuseo
codCuadro
PINACOTECA Expone CUADRO
(1,n) (0,1) titulo
pintor
ciudad
sala
NULOS PERMITIDOS
R1 R2
Propagación de clave
– La clave de la entidad con participación parcial «se propaga»
hacia la entidad con participación total clave ajena
– Los atributos de la relación V «siguen» a la clave propagada
codEmp numDep
(0,1) (1,1)
Un empleado puede no EMPLEADO Dirige DEPARTAMENTO
dirigir ningún departamento,
o bien ser el gerente de uno nomEmp fechaInic nomDep
de ellos (desde cierta fecha, EMPLEADO(codEmp, nomEmp, ...)
en la que fue nombrado FK
como tal) DEPARTAMENTO(numDep,nomDep, codDir, fechInicDir...)
AK, NN NN
85
3.4.2 Diseño lógico estándar
Traducción de una relación binaria 1:1 (3)
DEPARTAMENTO(numDep, nomDep,...)
86
3.4.2 Diseño lógico estándar
Traducción de una relación binaria 1:1 (4)
lugar
nif HOMBRE(nif, ...)
nif
FK
Matrimonio
HOMBRE MUJER MATRIMONIO(esposa, esposo, fecha, lugar)
(0,1) a la antigua (0,1)
AK, NN NN NN
FK
fecha MUJER(nif, ...)
Y... ¿qué acciones de mantenimiento
de la integridad referencial debemos
imponer para (todos los casos de)
transformación de relaciones 1:1?
88
3.4.2 Diseño lógico estándar
Traducción de dependencia en existencia y
en identificación
1:N
nifEmp nifFam
EMPLEADO Tiene FAMILIAR
nomEmp (0,n) (1,1)
fecha hora
1:N observ
historial VISITA
nombre PACIENTE Acude
(1,n) (1,1) MEDICA
(0,p)
cifBanco
BANCO
96
3.4.2 Diseño lógico estándar
Traducción de especialización/generalización (2)
Alternativa 2:
– Un solo atributo discriminante, tratado como atributo multivalorado
Otras opciones:
– Una sola columna discriminante
– Tratar discriminante como un
atributo multivalorado 101
3.4.2 Diseño lógico estándar
Traducción de especialización/generalización (8)
Inconvenientes
– Aparición de nulos en columnas correspondientes a atributos que
proceden de subtipos, para aquellas instancias que no pertenecen
a tales subtipos
– Una operación aplicada sólo sobre subtipos debe «buscar» las
instancias de dichos subtipos en el conjunto completo de instancias
(supertipo): acceso a toda la tabla con base en el valor de la
columna correspondiente al discriminante
102
3.4.2 Diseño lógico estándar
Traducción de especialización/generalización (9)
2. Transformación total
• Los subtipos se diferencian en muchos P
atributos
d
• Se desea mantener los atributos comunes
en una tabla separada
B1 B2
Una tabla para cada entidad
– una tabla R para el supertipo P, que incluye...
columnas para los atributos de P
la clave primaria es el identificador principal del supertipo
– una tabla Ri para cada subtipo Bi, que incluye...
columnas para los atributos del subtipo Bi
columna clave ajena hacia la clave primaria de R
( propagación en cascada)
la clave primaria es dicha clave ajena
103
3.4.2 Diseño lógico estándar
Traducción de especialización/generalización (10)
Transformación total
Ventajas
– Es válida para E/G de todo tipo (parcial/total – disjunta/solapada)
– Quizá es «la mejor» desde el punto de vista semántico
– Conviene si las operaciones son estrictamente «locales» a los subtipos o
bien al supertipo, es decir, si casi nunca se accede a la vez a atributos de
subtipos y supertipo
Inconvenientes
– Menos eficiente en el acceso a todos los atributos (propios y heredados)
de las instancias de un subtipo (¿Por qué?)
105
3.4.2 Diseño lógico estándar
Traducción de especialización/generalización (12)
106
3.4.2 Diseño lógico estándar
Traducción de especialización/generalización (13)
108
3.4.3 Diseño lógico específico
• Conocer el SGBD elegido para la implementación
¿Soporta el Modelo de Datos de Representación? ¿Hasta qué
punto?
¿Cómo escribir el ELS con la sintaxis propia del modelo de datos
particular del SGBD comercial elegido?
• La mayor parte del ELS «sirve» como ELE, así que sólo algunos
aspectos que necesitan transformaciones adicionales 109