Objetivos:
3. 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
1. Introducción e historia del modelo 2. Conceptos básicos del modelo 3. Extensiones del modelo
• Modelo de datos conceptual de alto nivel
• Propuesto por Peter P Chen en 1976
3.1. Introducción e historia del modelo Entidad- Relación
• Propuesto por Peter P. Chen en 1976
– Extensiones/aportaciones de muchos otros autores
» No existe un único MER, sino una FAMILIA DE MODELOS
• Es un modelo semántico, surge por la necesidad de tener un modelo más cercano al usuario
• Describe el “mundo real” como un conjunto de
2
ENTIDADES y de RELACIONES entre ellas
• Gran difusión
– Muy extendido en los métodos de diseñode bases de datos – Soportado por herramientas softwarede diseño(CASE)
• Descripción concisa de los requisitos de
i f ió d l i
Esquema conceptual
3.1. Introducción e historia del modelo Entidad-Relación
información de los usuarios – Descripciones detalladas de
• TIPOS DE DATOS
• RELACIONES ENTRE DATOS
• RESTRICCIONES que los DATOS deben cumplir
Si d t ll d i l t ió
3
• Sin detalles de implementación – Más fácil de entender
– Comunicación con el usuario no técnico
3.2. Conceptos básicos del modelo
• Entidad ( tit )
• Entidad ( entity )
• Atributo ( attribute )
• Dominio ( values set )
• Relación ( relationship )
4
ENTIDAD
• Cosa u objeto del mundo real con existencia propia y distinguible del resto
3.2. Conceptos básicos del modelo
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)
5
• “Persona, lugar, cosa, concepto o suceso, real o abstracto, de interés para la empresa”
(ANSI, 1977)ATRIBUTO
• Propiedad o característica de una entidad
U tid d ti l d it l
3.2. Conceptos básicos del modelo
• Una entidad particular es descrita por los valores de sus atributos:
titulo = El alquimista impaciente genero = Thriller
nacionalidad = España añoestreno = 2002 p1
6
...
nss = 1122334455 dni = 87654321
nombre = Cristina Aliaga Gil nacionalidad = España e1
...
TIPO DE ENTIDAD (entity set)
• Define un conjunto de entidades que poseen los mismos atributos
3.2. Conceptos básicos del modelo
los mismos atributos
PELICULA: titulo, genero, nacionalidad, añoestreno,numcopias EMPLEADO: dni, nss, nombre, fechanacim, direccion, telefono,
altura, nacionalidad, edad
• Notación
7
EMPLEADO
LOCAL VIDEOCLUB
PELICULA DIRECTOR
ACTOR CLIENTE
Instancia de un tipo de entidad
• También...
Ocurrencia
PELICULA
3.2. Conceptos básicos del modelo
– Ocurrencia – Realización – Ejemplar
– Entidad concreta o individual
titulo = El señor de los anillos genero = Fantasía
nacionalidad = EEUU añoestreno = 2001 p2
...
8
titulo = Amelie genero = Comedia nacionalidad = Francia añoestreno = 2001 p4
...
titulo = Amores perros genero = Drama nacionalidad = Méjico añoestreno = 1999 p3
...
Intensión y Extensión
• Un tipo de entidad describe el esquema o intensión para un conjunto de entidades que
3.2. Conceptos básicos del modelo
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
1 (8 6 4321 11223344 “C i i Ali Gil” “Lib d 2 Y l
9
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) ...
Tipos de atributos
• Simples o Compuestos
3.2. Conceptos básicos del modelo
p p
• Almacenados o Derivados
• Monovalorados o Multivalorados
• Opcionales
10
Atributos Simples o Compuestos
• Atributos compuestos
Pueden dividirse en otros con significado propio
3.2. Conceptos básicos del modelo
– Pueden dividirse en otros con significado propio
– Valor compuesto = concatenación de valores de componentes
fechanacim dia mes año
direccion
calle ciudad provincia codpostal
11
componentes
• Atributos simples
– No divisibles. Atómicos genero
Atributos Almacenados o Derivados
• Atributos derivados
– Valor calculado a partir de otra información ya Valor calculado a partir de otra información ya existente (atributos, entidades relacionadas) – Son información redundante...
edad
[deEMPLEADO
], cálculo a partir defechanacim
» atributo derivado del valor de otro atributo
numcopias
[de unaPELICULA
], cuenta del número de entidades COPIA relacionadas con cada película concretaatrib toderi ado de entidades relacionadas
12
» atributo derivado de entidades relacionadas
• Atributos almacenados fechanacim
[de cadaEMPLEADO
]nacionalidad
[de unaPELICULA
]Atributos Monovalorados o Multivalorados
• Atributos monovalorados (monovaluados) – sólo un valor sólo un valor para cada entidad para cada entidad
fechanacim
[de unEMPLEADO
particular]añoestreno
[de cadaPELICULA
concreta]• Atributos multivalorados (multivaluados) – más de un valor para la misma entidad
nacionalidad
[PELICULA
coproducida por varios países ]13
[ p p p ]
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)
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 unEMPLEADO
]• No se sabe si el valor existeo no
telefono
[de unEMPLEADO
]14
– La entidad no tiene ningún valor aplicable para el atributo:
fechaalquiler
[PELICULA
sólo en vídeo-venta (no alquiler)]Notación para atributos
[EN2002]
(0,3) dirección
(1,2) (0,1) EMPLEADO nombre
fechanacim telefono
calle
provincia ciudad
codpostal
altura
15 ( )
nss edad
dni nacionalidad
Atributos Clave
• Atributo con valor distinto para cada instancia de un tipo de entidad
de un tipo de entidad dni en EMPLEADO
• Una clave identifica de forma única cada entidad concreta atributo identificador
• Notación
16
EMPLEADO
[EN2002]
dni
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 entidadEMPLEADO – Una clave compuesta debe ser mínima
• Un tipo de entidad puede tener
más de una clave claves candidatas
17
más de una clave claves candidatas
Claves o Identificadores Candidatos de
EMPLEADO:
– dni – nss
– (nombre, fechanacim)
Atributos Clave (iii)
• Atributo identificador principal (IP) – Clave Principal
– 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
18
• Atributos identificadores alternativos (IA) – Claves Alternativas
– El resto de IC’s
– nss y (nombre, fechanacim) en EMPLEADO
Notación para atributos clave
[EN2002]
(0,3)
(1,2) (0,1) EMPLEADO nombre
fechanacim telefono
calle ciudad provincia
codpostal
nss
altura nacionalidad n-f
dirección
IP
19
En el MER es obligatorio que todo tipo de entidad tenga un identificador
nss edad dni
DOMINIO (values set)
• Conjunto de valores
• Cada atributo simple está asociado a un dominio que especifica sus valores válidos 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)
... ... ...
20
No suele representarse, aunque una forma de hacerlo sería:
[MPM1999]
... ... ...
TELEFONOS NOMBRES telefono
nombre
MEDIDAS altura
EMPLEADO
RELACIÓN (relationship)
• También “interrelación”
A i ió í l d i
• 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
21
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”
DIRECTOR HA_RODADO PELICULA
J Méd
Vacas
Tesis Instancia
del tipo de relación
J. Médem C. Saura F. Trueba S. Segura A Amenábar
Tesis
Belle Epoque
Torrente
Tierra
Abre los ojos
22
A. Amenábar
Abre los ojos
Los otros
Tipo de Relación:
conjunto de instancias Tipo de Entidad:
conjunto de instancias
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
DIRECTOR HA_RODADO PELICULA
Grado de un tipo de relación
• Número de tipos de entidad que participan en el tipo de relación
ACTOR ACTUA_EN PELICULA
en el tipo de relación
– Binaria: grado 2 (el más frecuente) – Ternaria: grado 3
– Reflexiva (o recursiva): grado 1
24
CLIENTE PELICULA
LOCAL_VIDEOCLUB ALQUILA
PELICULA CONTINUACION
DE
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 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 HA_RODADO PELICULA
realizador film
25
g
original versión PELICULA VERSION_DE
Restricciones estructurales sobre tipos de relación
• Limitan las posibles combinaciones de entidades que pueden participar en las 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”
26
dirigido muchas
• Clases de restricciones estructurales:
– Razón de cardinalidad (o tipo de correspondencia)
– Razón de participación
Razón de Cardinalidad
Notación [EN2002]
• Número máximo de instancias de tipo de relación en las que puede participar una 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 1
DIRECTOR
27
– etiqueta en la línea que une entidad y relación – Ojo: da la sensación de
que se representa “al revés”
N
PELICULA HA_RODADO
• Razones de cardinalidad más comunes:
– 1:1 (“uno a uno”)
Razón de Cardinalidad (ii) [EN2002]
1:1 ( uno a uno ) – 1:N (“uno a muchos”) – M:N (“muchos a muchos”)
ACTOR personaje M EMPLEADO
encargado 1 trabajador
1
28
PELICULA personaje
film M ACTUA_EN
N LOCAL_VIDEOCLUB
encargado
sucursal 1
lugar trabajo 1
TRABAJA_EN SUPERVISA
1 N
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 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
29
• Clases de participación:
– Participación total (dependencia en existencia) – Participación parcial
Razón de Participación (ii) [EN2002]
• Notación
DIRECTOR1 personaje M
ACTOR
– Líneas dobles o simples
EMPLEADO trabajador
PELICULA HA_ RODADO
1
N
PELICULA personaje
film M ACTUA_EN
N
LOCAL_VIDEOCLUB 30
encargado
sucursal 1
lugar trabajo 1
TRABAJA_EN SUPERVISA
1 N
Cardinalidad de tipo de entidad
• Otra forma de expresar las razones de cardinalidad y participación y p p
PERSONA EDIFICIO
USA POSEE
PERSONA EDIFICIO POSEE
PERSONA USA EDIFICIO
31 p1
p2
p3
e1
e2
e3
e4
p1
p2
p3
e1
e2
e3
e4
Cardinalidad de tipo de entidad (ii) Notación [EN2002]
• Números mínimo y máximo de instancias del
ti d l ió l d i t i
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 ) (0 )
32
POSEE
PERSONA (1,n) USA (0,m) EDIFICIO (1,1)
(0,n)
Cardinalidad de tipo de entidad
(iii) [EN2002]
EMPLEADO 1
1 M
ACTOR
LOCAL_VIDEOCLUB
TRABAJA_EN SUPERVISA
1 N
(1 1)
EMPLEADO
PELICULA ACTUA_EN
N
ACTOR
33
(0,n)
(1,1) (1,1)
(1,1)
LOCAL_VIDEOCLUB
TRABAJA_EN SUPERVISA
PELICULA (1,n) ACTUA_EN (0,m)
Cardinalidad de tipo de entidad (vii)
• Cardinalidad de tipos de entidad recursivos [ EN2002 ]
N subalterno 1 superior
(0,1) (0,n)
EMPLEADO JEFE DE
34
Atributos de tipos de relación
• Similares a los atributos de tipos de entidad
[EN2002]
EMPLEADOLOCAL_VIDEOCLUB 1 1
TRABAJA_EN SUPERVISA
1 N
horas fechainicio
35
Atributos de tipos de relación (ii)
• Conceptualmente pertenecen a la relación – Un atributo de una Un atributo de una M:N es propio de la relación 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
h f h i i i
horas EMPLEADO
1 1
TRABAJA EN SUPERVISA
36
horas fechainicio
[EN2002]
horas
fechainicio
TRABAJA_EN SUPERVISA
1 N
LOCAL_VIDEOCLUB
Tipo de Entidad Débil
Notación [EN2002]
• No tiene atributos clave propios
• Una instancia se identifica por su relación
• 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)
At ib t d l tid d débil id tifi d f
37
• 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
Tipo de entidad débil (ii) [EN2002]
PELICULA titulo PACIENTE 1
nss
Tipo de Entidad Regular
numcopia 1
N COPIA TIENE
VISITA_MEDICA diahora 1
N
N ACUDE
Tipo de Relación Identificador
Cl i l
38
MEDICO ncolegiado nombre 1
especialidad
ASISTIDA POR
Clave parcial o Discriminante
Dependencia
en existencia
Tipo de entidad débil (iii) [EN2002]
• No toda participación total (o dependencia en existencia) implica un tipo de entidad débil
EMPLEADO
numlicencia dni 1
N POSEE
existencia) implica un tipo de entidad débil
39
numlicencia PERMISO
CONDUCCION tipo
PERMISO_CONDUCCIÓNno es débil: depende en existencia de EMPLEADO, pero tiene clave primaria propia
Tipos de relación con grado superior a dos
• Tipo de relación ternaria [EN2002]
CLIENTE
CINTA VIDEO ALQUILA (0,1)
(0,n)
(0,m) fecha
40
LOCAL VIDEOCLUB (0,m)
• Cardinalidad de los tipos de entidad
fecha
Tipos de relación con grado superior a dos (ii)
• Equivalencia ternaria – varias binarias [EN2002]
CLIENTE
CINTA (0,1)
(0,n)
ALQUILA
(1,m) (0,1)
(0,n)
fecha
CINTA CLIENTE
41
CINTA VIDEO LOCAL
VIDEOCLUB ALQUILA
(0,m) fecha
LOCAL VIDEOCLUB
(1,n) (1,1)
(1,n) CONTIENE
ALQUILA_EN CINTA VIDEO
Tipos de relación con grado superior a dos (iii)
• Ternaria no equivalente a varias binarias [EN2002]
(1,m) (1,m)
(1 n)
(1,n)
(0 )
PROVEE
PUEDE SUMINISTRAR
PRODUCTO PROVEEDOR
PRODUCTO (0,m)
(1,n)
(1,p)
SUMINISTRA
idprov codpr cantidad
fecha
PROVEEDOR
42
TIENDA
(1,n) (0,n)
(1,m)
VENDE TIENDA
(1,p)
nombre
• Pérdida de semántica...
A t i d di t l d l 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
43
• Dos (o más) tipos de relación son exclusivos, respecto de un tipo de entidad que participa en
Relaciones Exclusivas
3.3. Extensiones del modelo
ambos, si cada instancia del tipo de entidad sólo puede participar en uno de los tipos de relación
GASTA CONSUME
VEHÍCULO
44
GASOLINA GASOIL
• CONSUME y GASTA son exclusivas respecto del tipo de
entidad VEHICULO
• Caso especial de relación entre un tipo de entidad y
Especialización/Generalización (E/G) 3.3. Extensiones del modelo
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”
45
• Estas jerarquías pueden formarse por especialización o bien por generalización
• Agrupación de instancias dentro de un tipo de entidad, que debe representarse explícitamente debido a s importancia para el diseño o aplicación
E/G: Subtipo de un tipo de entidad 3.3. Extensiones del modelo
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
46
• GERENTE
• COMERCIAL
• El tipo de entidad que se especializa en otros se
llama supertipo
( VEHICULO, EMPLEADO )• 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)E/G: Relación Supertipo/Subtipo 3.3. Extensiones del modelo
• Notación:
EMPLEADO
[EN2002]
47 SECRETARIO GERENTE COMERCIAL
• La extensión de un subtipo es un subconjunto de la extensión del supertipo
E/G: Relación Supertipo/Subtipo (ii)
3.3. Extensiones del modelo
– Una instancia de subtipo también es instancia del supertipo y es lamisma 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 VEHÍCULO
CICLOMOTOR CAMIÓN TURISMO
• Un subtipo puede tener atributos propios
(específicos)y participar en relaciones por separado
E/G: Herencia de tipo
3.3. Extensiones del modelo
y p p p p
• Un subtipo hereda todos los atributos del supertipo, y toda relación en la que participa el supertipo
– Un subtipo, con sus atributosy relaciones específicos, más los atributosy relacionesque heredadel supertipo, es un tipo de entidad por derecho propio
VEHÍCULO FABRICA FABRICANTE
numBastidor
precio (1 1) (1 )
49
CAMIÓN LLEVA SIDECAR
precio
numEjes tonelaje
numPuer numPlazas cilindrada
(1,1) (1,n)
(1,1) (0,1)
TURISMO
N:1
1:1 MOTOCICLETA
• Proceso de definición de un conjunto de subtipos de un tipo de entidad (» supertipo)
E/G: Especialización
3.3. Extensiones del modelo
• Subtipos suelen estar definidos según característica distintiva de las entidades del supertipo
– Discriminantede la especialización
EMPLEADO
50
actividad
SECRETARIO GERENTE COMERCIAL
• Varias especializaciones de un tipo de entidad,
b dif t di i i t
E/G: Especialización (ii)
3.3. Extensiones del modelo
con base en diferentes discriminantes
PELÍCULA
color
género
[EN2002]
51 COLOR
BLANCO_Y_NEGRO COMEDIA
DRAMA TERROR
• Conviene incluir relaciones subtipo/supertipo si hay...
– Atributosque sólo tienen sentido para algunas instancias de un tipo y no para todas (atributos específicos)
E/G: Especialización (iii)
3.3. Extensiones del modelo
un tipo y no para todas (atributos específicos) especialidadMédica «no es aplicable» a CELADOR
– Tipos de relaciónen los que sólo participan algunas entidadesde un tipo y no todas (relaciones específicas)
Relación SUPERVISA entre CELADOR y SECCIÓN_HOSPITAL
52 SUPERVISA
(1,1) (1,1)
CELADOR SECCIÓN_HOSPITAL
• Proceso inverso de la especialización
• Suprimir diferencias entre varios tipos de entidad:
identificar atrib tos relaciones com nes formar
E/G: Generalización
3.3. Extensiones del modelo
identificar atributos y relaciones comunes, y formar un supertipo que los incluya
numBastidor
precio fechaFab
precio
numEjes tonelaje numBastidor
fechaFab CAMIÓN
VEHÍCULO
G
53
numEjes
TURISMO numBastidor
numPuer fechaFab
precio TURISMO
CAMIÓN
numPuer tonelaje
[EN2002]
G
Generalización
• Énfasis en las similitudes
E/G: Generalización vs. Especialización 3.3. Extensiones del modelo
• Énfasis en las similitudes
• Cada instancia del supertipo es también una instancia de alguno de los subtipos
Especialización É
54
• Énfasis en las diferencias
• Alguna instancia del supertipo puede no ser
instancia de ningún subtipo
• Definición
Restricciones sobre la E/G 3.3. Extensiones del modelo
¿Qué instancias del supertipo pertenecen a cada subtipo?
• Disyunción/Solapamiento
¿A cuántos subtipos puede pertenecer (a la vez) una instancia del supertipo?
55
• Completitud/Parcialidad
¿Debe toda instancia del supertipo pertenecer a algún subtipo?
• Subtipos definidos por predicado o condición
– Condición de pertenencia a cada subtipo
Restricciones sobre la E/G: Definición 3.3. Extensiones del modelo
– 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]
56
EMPLEADO ESTUDIANTE
estadoLaboral=en_activo matriculado=true
[ ]
• Subtipos definidos por atributo
Todas las s bclases definen la condición de pertenencia en
Restricciones sobre la E/G: Definición (ii)
3.3. Extensiones del modelo
– 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
PERSONA EMPLEADO_HOSPITAL
57
_p médico celador enfermero limpiador
[EN2002]
EMPLEADO PARADO
ENFERMERO
MÉDICO CELADOR LIMPIADOR
• Subtipos definidos por el usuario
– No existe (o no interesa definir) ninguna condición de
Restricciones sobre la E/G: Definición (iii)
3.3. Extensiones del modelo
– 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
PROFESOR
58
TITULAR AYUDANTE ASOCIADO
• Subtipos disjuntos si una
i t i d l ti
Restricciones sobre la E/G:
Disyunción/Solapamiento
3.3. Extensiones del modelo
• Subtipos solapados si i t i d l
instancia del supertipo puede ser miembro de, como máximo, uno de los subtipos
VEHÍCULO
una instancia del supertipo puede ser, a la vez, miembro de más de un subtipo
• Es la opción «por defecto»
59 VEHÍCULO
TURISMO CAMIÓN
d
[EN2002]
PERSONA
EMPLEADO ESTUDIANTE
o
• Especialización total (completa) indica que t d i t i d l
Restricciones sobre la E/G: Completitud/Parcialidad
3.3. Extensiones del modelo
•Especialización parcial indica que es posible que alguna instancia del supertipo no pertenezca a ninguno toda instancia del
supertipo también debe ser instancia de algún subtipo
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
60
ANIMAL
d
MACHO HEMBRA HERMAFRODITA
ALIMENTO
d
LACTEO FRUTA VERDURA
• Las restricciones de disyunción y completitud son independientes entre sí
3.3. Extensiones del modelo E/G: Tipos de Especialización
• Dan lugar a 4 tipos de especialización:
– Disjunta y Total – Disjunta y Parcial – Solapada y Total
Solapada y Parcial
61
– Solapada y Parcial
• Lo veremos con un ejemplo de una base de datos de una Universidad
EMPLEADO ESTUDIANTE
3.3. Extensiones del modelo
E/G: Especialización Disjunta y Total
claseTrabajo tipo
DOCENTE ADMON_Y_SERV BECARIO BECARIO NO_BECARIO
Especialización Disjunta y Parcial
DOCENTE
d d
62
DOCENTE
TITULAR
AYUDANTE CATEDRÁTICO
cuerpoDocente d
3.3. Extensiones del modelo
E/G: Especialización Solapada y Total
PERSONA
Especialización Solapada y Parcial
EMPLEADO
ocupación
ESTUDIANTE O
63
EMPLEADO
DOCENTE INVESTIGADOR
dedicación O
• Deben aplicarse a la Especialización y la
Generalización, debido a las restricciones definidas
3.3. Extensiones del modelo
E/G: Reglas de inserción y eliminación
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
64
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
Eliminar una instancia de un supertipo implica
3.3. Extensiones del modelo
E/G: Reglas de inserción y eliminación (ii)
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
65
p y , y y p
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)
• El objetivo principal es transformar el esquema conceptual de datos en el esquema lógico de datos
• Otros objetivos del diseño lógico son ...
– Eliminar redundancias
3.4.1 Objetivos y fases del diseño lógico
Eliminar redundancias
– Conseguir máxima simplicidad
– Evitar cargas suplementarias de programación para conseguir ...
– una estructura lógica adecuada
– un equilibrio entre los requisitos de usuario y la eficiencia
• Diseño lógico con la máximaportabilidad
66
• Diseño lógico con la máxima portabilidad
Introducción “tardía” del SGBD específico Implementación del esquema lógico en distintos SGBD comerciales
Migración entre diferentes versiones de un mismo SGBD
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
3.4.1 Objetivos y fases del diseño lógico
Fases
– Transformación independiente del SGBD específico Esquema Conceptual Esquema Lógico eStándar(ELS)
Uso de un Modelo Lógico de datos eStándar(MLS)
• Relacional
• Red
J á i
67
• Jerárquico
• Orientado a Objetos
Se describe el ELS mediante los elementos del modelo de datos
• LDD deSQL-92 en el Modelo Relacional
• Diagrama de Estructura de Datos
Diseño Lógico Específico (DLE) – Se elige el SGBD específico
3.4.1 Objetivos y fases del diseño lógico
Fases (y 2)
– Adaptación del esquema lógico a un SGBD comercial concreto
Esquema Lógico Estándar Esquema Lógico Específico (ELE)
Uso del Modelo Lógico de datosparticular del SGBD elegido
68
• Oracle, Informix, DB2, Interbase, Postgress, Sybase ...
Se describe el ELE mediante el LDD propio del SGBD específico
• SQL de Oracle, ...
Reglas de traducción MERE MR
Reglas para el modelo básico
• Dominios At ib t
3.4.2 Diseño lógico estándar
RESUMEN
• Atributos
• Tipos de entidad
• Tipos de relación
MER MR (SQL-92)
Tipo de Entidad Tabla(relación) Tipo de Relación M:N Tabla
RESUMEN
69
Reglas para las extensiones del modelo
• Relaciones exclusivas
• Jerarquías de Especialización/Generalización
p ab a
Tipo de Relación 1:1, 1:N, N:1 Propagación de clave o tabla
• Dominio
3.4.2 Diseño lógico estándar
Traducción de un dominioy un tipo de entidad
MR
• Tipo de entidad
– Se traduce a una tabla(relación)
– Se recomienda usar el mismo nombre o uno
similar MERE
ESTADO_CIVIL: {S, C, V, D}
CREATE DOMAIN Estado_civil AS CHAR(1) CHECK VALUE IN (‘S’, ‘C’, ‘V’, ‘D’) ;
70
PERSONA CREATE TABLE Persona
( ) ;...
MERE MR
• Atributo simpley monovaluado Columna
• Atributo identificador
– Id principal Clave primaria(PRIMARY KEY)
3.4.2 Diseño lógico estándar
Traducción de un atributo
Id.principal Clave primaria(PRIMARY KEY) – Id.alternativo Clave alternativa(UNIQUE)
Podrá contener NULL si no se indica lo contrario
direccion dni
numSS
nombre CREATE TABLE Persona
( dni PRIMARY KEY, SS UNIQUENULL
MERE MR
71
PERSONA telefono fechaNacim nacionalidad altura
numSS UNIQUENULL, nombre ...,
direccion ..., telefono ..., fechaNacim ..., nacionalidad ..., altura ... ) ;
• Atributo compuesto.- Dos alternativas:
a) «Eliminar» atributo compuesto y considerar todos sus
t l i l d l t bl lt t
3.4.2 Diseño lógico estándar
Traducción de un atributo (2)
componentescomo columnas simplesde la tabla resultante b) «Eliminar» los componentes y considerarel atributo compuesto
comouna sola columnade la tabla
C á d á á
MERE MR
(DED)72
¿Cuándo será más adecuado utilizar una opción u otra?
• Atributo multivalorado
– Nueva tablaS, en la que el atributo multivalorado se representa como una columna simpleA
3.4.2 Diseño lógico estándar
Traducción de un atributo (3)
– S contendrá una nueva columnaF, clave ajenaa la clave primaria de la tabla correspondiente a la entidad
– La clave primariade S es la combinación (F, A)
PERSONA (dni, nombre, fechaNac) DIRECC_PERSONA(dni, direccion)
FK fechaNac
dni
(1 ) nombre
MERE MR
CREATE TABLE Di P (
73 DIRECC_
PERSONA PERSONA
MR
(DED)tiene
PERSONA direccion(1,n) CREATE TABLE Direcc_Persona( dni...
direccion ...
PRIMARY KEY (dni, direccion)
FOREIGN KEY (dni)REFERENCES Persona(dni) ON DELETE CASCADE
ON UPDATE CASCADE );
• Atributo derivado
– Es necesario decidir si se almacena o no
3.4.2 Diseño lógico estándar
Traducción de un atributo (y 4)
1. Si se almacena, será una columnade la tabla que corresponda y deberá crearse un disparadorque calcule su valor y lo mantenga actualizado
2. Si no se almacena, deberá crearse un procedimiento que calcule su valor cada vez que se solicita
MERE MR
74
PERSONA (dni, nombre, fechaNac, edad)
PERSONA
fechaNac dni
edad nombre
Nueva tabla R, que incluye...– claves ajenashacia las E1 V E2
3.4.2 Diseño lógico estándar
Traducción de una relación binaria M:N
j
claves primarias de R1 y de R2
Su combinación (concatenación) forma la clave primariade R
– columnas correspondientes a los atributosde la relación V (simples o componentes simples de atributos compuestos)
ACTOR(nombre caché )
R1 R2
R
nombre papel código
75
ACTOR(nombre, ..., caché, ...)
ACTUA_EN(actor, pelicula, papel, paga) PELICULA(código, título, ...)
FK
FK
ACTOR PELICULA
paga (1,m) (1,n)
título caché
Actua en
[MPM 1999]
3.4.2 Diseño lógico estándar
Traducción de una relación binaria M:N (3)
codAutor derechosAutor isbn
AUTOR(codAutor, nomAutor, ...)
ESCRIBE(autor, libro, derAutor, numPag) LIBRO(isbn, titulo, ...)
FK
FK
AUTOR LIBRO
numPaginas (1,4) (1,n)
titulo nomAutor
codAutor derechosAutor isbn
Escribe
76
– Pero la traducción, aunque lo parezca, no está completa...
– ... pues falta especificar ciertos aspectos que tienen
que ver con las reglas de integridad
– Especificación de accionesde mantenimiento de la integridad referencial(NO ACTION, CASCADE, SET NULL, SET DEFAULT)
CREATE TABLE Escribe
3.4.2 Diseño lógico estándar
Traducción de una relación binaria M:N (4)
CREATE TABLE Escribe ( autor Autores,
libro Codigos,
derAutor NUMERIC(2) DEFAULT 20 NOT NULL
CHECK (derAutor≥0 AND derAutor<100), numPag NUMERIC(2) NOT NULL CHECK (numPag≥0), PRIMARY KEY (autor, libro),
FOREIGN KEY (autor) REFERENCES AUTOR(codAutor)
77
ON DELETE NO ACTION ON UPDATE CASCADE, FOREIGN KEY (libro) REFERENCES LIBRO(isbn)
ON DELETE CASCADE ON UPDATE CASCADE );
a)
Datos coherentes:evitar queESCRIBE contenga un libro con autor3.4.2 Diseño lógico estándar
Traducción de una relación binaria M:N (5)
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)autor libro derAutor numPag
NULL 0-201-65370-2 ... ...
A001 NULL ... ...
78
– Ambas cosas ya quedan aseguradas por la propia definición de la clave primaria de ESCRIBE:
PRIMARY KEY(autor, libro)
b) Cardinalidad mínima 1:todo libro tiene al menos un autor
3.4.2 Diseño lógico estándar
Traducción de una relación binaria M:N (6)
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
79
FROM ESCRIBE))) AND
(4 >= (SELECT MAX(COUNT(*)) FROM ESCRIBE GROUP BY libro)) );
d) Cardinalidad mínima 1:todo autor ha escrito al menos un
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 (
80
CHECK (
NOT EXISTS (SELECT * FROM AUTOR
WHERE codAutor NOT IN (SELECT autor FROM ESCRIBE)) );
1) Caso general
Propagación de claveE1 V E2
R1 R2
1 N
3.4.2 Diseño lógico estándar
Traducción de una relación binaria 1:N
Propagación de clave
– En R2 se incluyen nuevas columnas...
clave externahacia la clave primaria de R1
columnas para los atributosde la relación V (simples o componentes simples de atributos compuestos)
1.1) Participación total de E2 en V codProv
nombreCiudad
81 CIUDAD( nomCiudad, provincia, ... )
PROVINCIA( codProv, nomProv, ... )
FK: NULOS NO PERMITIDOS
PROVINCIA CIUDAD
(1,1) (1,n)
nomProv
nombreCiudad contiene
...
1.2) Participación parcial de E2 en V
3.4.2 Diseño lógico estándar
Traducción de una relación binaria 1:N (2)
PINACOTECA CUADRO
(0,1) (1,n)
nomMuseo
codCuadro Expone
titulo pintor ciudad
sala
82
CUADRO(codCuadro, titulo, pintor, museo, sala...)
PINACOTECA(nomMuseo, ciudad, ...)
FK
NULOS PERMITIDOS
2) Se cumple uno o varios de estos supuestos:
La relaciónV tiene varios atributospropios
Haypocas ocurrenciasde la relaciónV
3.4.2 Diseño lógico estándar
Traducción de una relación binaria 1:N (3)
Hay pocas ocurrenciasde la relación V
Es probable que en el futuro Vse transformeen una M:N
Añadir una nueva tabla R, que incluye...
– claves ajenashacia las claves primarias de R1 y de R2
una será clave primariade R: la propagada desde la entidad cuyas instancias participan como mucho una vez en la relación V
• columnas para los atributosde V (simples o componentes
83
simples de atributos compuestos)
ESTUDIANTE
COCHE (0,1)
(0,n) nif
matricula
Propietario_de
modelo nombre
1 : N
ESTUDIANTE( nif, nombre, ... ) PROPIEDAD( coche, estudiante) COCHE( matricula, modelo, ... )
FK FK NN
1) Participación total de ambas entidades
– Si las entidades no participan en otras relaciones...
una única tabla R, que incluye...
3.4.2 Diseño lógico estándar
Traducción de una relación binaria 1:1
, q y
– columnas para todos los atributosde ambas entidades – clavesde R:
Clave primaria= clave primaria de R1 o de R2(es indiferente)
La otra (si es distinta) será alternativa(UNIQUE) y además NOT NULL
– columnas para atributosde la relaciónV (simples o componentes simples de atributos compuestos)
84
PACIENTE( nss, nombre, numHisto, fechaApert, centroSalud,... )
AK, NN PK
nombre centroSalud
(1,1) (1,1) fechaApertura
nss numHistoria
...
MEDICO HISTORIAL PACIENTE
...
Tiene
2) Participación total de una entidad y parcial de la otra
2.1) Caso general E1 V E2
3.4.2 Diseño lógico estándar
Traducción de una relación binaria 1:1 (2)
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 atributosde la relación V «siguen» a la clave propagada
Un empleado puede no
R1 R2
(1,1) (0,1)
DEPARTAMENTO EMPLEADO
codEmp numDep
Dirige
85
dirigir ningún departamento, o bien ser el gerente de uno de ellos (desde cierta fecha, en la que fue nombrado como tal)
EMPLEADO(codEmp, nomEmp, ...)
DEPARTAMENTO(numDep,nomDep, codDir, fechInicDir...)
FK AK, NN
nomEmp fechaInic nomDep
NN
2.2) Hay pocas instancias del tipo de relación
Añadir una nueva tabla Rque incluye...
claves ajenashacia las claves primarias deR1 y de R2
3.4.2 Diseño lógico estándar
Traducción de una relación binaria 1:1 (3)
– claves ajenashacia las claves primarias de R1 y de R2
una será clave primariade R (la de participación total, si existe)
la otra será clave alternativaen R (UNIQUE) y además NOT NULL – columnas para los atributosde V (simples o componentes simples
de atributos compuestos)
EMPLEADO(codEmp nomEmp )
86
EMPLEADO(codEmp, nomEmp, ...) DIRIGE (emp, dep, fechInic)
DEPARTAMENTO(numDep, nomDep,...)
FK AK,NN FK
2.3) Hay muchas instancias del tipo de relación
Una única relación Rque incluye...
todos losatributosde las entidades y de la relación
3.4.2 Diseño lógico estándar
Traducción de una relación binaria 1:1 (4)
– todos los atributosde las entidades y de la relación
– la clave primariaes la de la entidad con participación parcial – debe permitirse NULLen los atributos procedentes de la entidad con
participación total y de la relación CREATE TABLE Empleado(
codEmp ... PRIMARY KEY,
nomEmp ... , NULL permite representar empleados que no dirigen ningún
departamento Atributos de
EMPLEADO
87
...,
numDepDir ... NULLUNIQUE, nomDepDir ... NULL,
...,
fechInicDir ... NULL, ... );
departamento UNIQUE asegura que un
departamento sólo es dirigido por un empleado
Los atributos monovalorados aseguran que un empleado pueda dirigir como mucho un
departamento Atributos de
DEPARTAMENTO
Atributos de DIRIGE
3) Participación parcial de ambas entidades
Añadir una nueva tabla R
• La tablaR se construye exactamente igual que en el caso (2 2)
3.4.2 Diseño lógico estándar
Traducción de una relación binaria 1:1 (y 5)
• La tabla R se construye exactamente igual que en el caso (2.2)
• Evita los NULL que aparecerían si se propagara la clave de R1 a R2 o viceversa (caso general (2.1))
(0,1) (0,1) MUJER
HOMBRE
nif nif
Matrimonio a la antigua lugar
HOMBRE(nif, ...)
MATRIMONIO(esposa, esposo, fecha, lugar)
FK
88
( ) ( )
fecha MUJER(nif, ...)FK
AK, NN
Y... ¿qué acciones de mantenimiento de la integridad referencial debemos imponer para (todos los casos de) transformación de relaciones 1:1?
NN NN
Caso particular de relación 1:1 E1 V E23.4.2 Diseño lógico estándar
Traducción de dependencia en existencia y en identificación
o 1:N con propagación de clave y participación total de E2
Si V es 1:1caso 2.1; Si V es 1:Ncaso 1.1
– La clave ajenaFK en R2 hacia R1 no permite NULL
– La clave primariade R2 depende del tipo de dependencia:
• en Existencia
clave primaria propia deR2 (identificador principal de E2)
R1 R2
89
– clave primaria propia de R2 (identificador principal de E2)
• en Identificación
– combinación de atributos: FK y clave de R2
• Las actualizaciones y borrados en la tabla R1 deben transmitirse en cascadahacia R2 (CASCADE)
1:N
FAMILIAR
EMPLEADO nifFam
nifEmp
Ti
3.4.2 Diseño lógico estándar
Traducción de dependencia en existencia y en identificación (y 2)
EMPLEADO ( nifEmp, nomEmp, ...)
FAMILIAR ( nifFam, emp, ... )FK NOTNULL
ON DELETE CASCADE ON UPDATE CASCADE
FAMILIAR EMPLEADO
(1,1) (0,n)
nomEmp Tiene
fecha hora
90 PACIENTE ( historial, nombre, ... )
VISITA_MEDICA ( historial, fecha, hora, ... )
FK NOTNULL
ON DELETE CASCADE ON UPDATE CASCADE
VISITA MEDICA PACIENTE
1:N (1,1) (1,n)
historial nombre
observ Acude
EMPLEADO Es jefe de subordinado
nifEmp jefe nomEmp
3.4.2 Diseño lógico estándar
Traducción de una relación binaria reflexiva
subordinado
tabla
que contiene dos claves externashacia la clave primaria de la tabla correspondiente a la entidadNombradas según los
roles
de la entidad en la relación EMPLEADO ( nifEmp, nomEmp, ..., jefe, ... )NULL FK
Caso 1:N solución problemática si
puede haber muchos empleados sin jefe ( demasiados nulos )
91
– Nombradas según los
roles
de la entidad en la relación EMPLEADO ( nifEmp, nomEmp, ...) JEFE_EMP( jefe, subordinado, ... )Otra posibilidad en el Caso 1:N
NN
FK FK
EMPLEADO ( nifEmp, nomEmp, ... ) JEFE_EMP( jefe, subordinado, ... ) Caso M:N
FK FK
Tabla R correspondiente a V, que incluye...
E1 V E2
R1 E3 R2
3.4.2 Diseño lógico estándar
Traducción de una relación n-aria
q y
– claves ajenas hacia cada clave primaria de R1, R2, R3, etc.
– columnas para los atributos de la relación V (simples o componentes simples de atributos compuestos)
– la clave primaria de R
R1 E3 R2
R3
92