modelo entidad-relación… · 1 1 modelo entidad-relación 2 objetivos: conocer los conceptos y...
TRANSCRIPT
1
1
Modelo Entidad-Relación
2
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
Modelo Entidad-Relación
2
3
Modelo de datos conceptual de alto nivel Propuesto por Peter P. Chen en 1976
Extensiones/aportaciones de muchos otros autores
» No existe un único MER, sino una FAMILIA DE MODELOS
Describe el “mundo real” como un conjunto de ENTIDADES y de RELACIONES entre ellas
Gran difusión Muy extendido en los métodos de diseño de bases de
datos
Soportado por herramientas software de diseño (CASE)
1. Introducción e historia del modelo Entidad-Relación
4
En el proceso de diseño...
DISEÑO
CONCEPTUAL
Requisitos
de datos
Esquema
Conceptual MER
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 de
TIPOS DE DATOS
RELACIONES ENTRE DATOS
RESTRICCIONES que los DATOS deben cumplir
Sin detalles de implementación
Más fácil de entender
Comunicación con el usuario no técnico
Esquema conceptual
1. Introducción e historia del modelo Entidad-Relación
6
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. Conceptos básicos del modelo
8
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
nacionalidad = España
añoestreno = 2002
p1
...
nss = 1122334455 dni = 87654321
nombre = Cristina Aliaga Gil nacionalidad = España
e1
...
2. Conceptos básicos del modelo
5
9
TIPO DE ENTIDAD (entity set)
Define un conjunto de entidades que poseen los mismos atributos PELICULA: titulo, genero, nacionalidad, añoestreno,numcopias
EMPLEADO: dni, nss, nombre, fechanacim, direccion, telefono, altura, nacionalidad, edad
Notación
EMPLEADO
LOCAL
VIDEOCLUB
PELICULA DIRECTOR
ACTOR CLIENTE
2. Conceptos básicos del modelo
10
Instancia de un tipo de entidad
También...
Ocurrencia
Realización
Ejemplar
Entidad concreta o individual
PELICULA
titulo = El señor de los anillos genero = Fantasía
nacionalidad = EEUU
añoestreno = 2001
p2
...
titulo = Amelie genero = Comedia
nacionalidad = Francia
añoestreno = 2001
p4
...
titulo = Amores perros genero = Drama
nacionalidad = Méjico
añoestreno = 1999
p3
...
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 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)
...
2. Conceptos básicos del modelo
12
Tipos de atributos
Simples o Compuestos
Almacenados o Derivados
Monovalorados o Multivalorados
Opcionales
2. Conceptos básicos del modelo
7
13
Atributos Simples o Compuestos
Atributos compuestos
Pueden dividirse en otros con significado propio
Valor compuesto = concatenación de valores de componentes
Atributos simples
No divisibles. Atómicos
fechanacim
dia mes año
direccion
calle ciudad provincia codpostal
genero
2. Conceptos básicos del modelo
14
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]
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 inferior del número de valores por entidad
nacionalidad (1-2)
telefono (0-3)
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 falta
altura [de un EMPLEADO]
No se sabe si el valor existe o no
telefono [de un EMPLEADO]
La entidad no tiene ningún valor aplicable para el atributo:
fechaalquiler [PELICULA sólo en vídeo-venta (no alquiler)]
2. Conceptos básicos del modelo
9
17
Notación para atributos [EN2002] [MPM1999]
fechanacim dirección
telefono
calle provincia ciudad codpostal
dni edad
altura
(0,3)
D
nss
nombre
nacionalidad
(1,2)
EMPLEADO (0,3)
dirección
(1,2)
(0,1) EMPLEADO nombre
fechanacim telefono
calle provincia ciudad
codpostal
edad nss
dni
altura
nacionalidad
2. Conceptos básicos del modelo
18
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
[EN2002]
EMPLEADO
dni
[MPM1999]
dni
2. Conceptos básicos del modelo
10
19
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
Un tipo de entidad puede tener más de una clave claves candidatas Claves o Identificadores Candidatos de EMPLEADO: dni nss (nombre, fechanacim)
2. Conceptos básicos del modelo
20
Atributos Clave (iii)
Atributo identificador principal (IP) Clave Principal
Elegido (por el diseñador) de entre los identificadores candidatos (IC), para ser el medio principal de identificación de las instancias del tipo de entidad
dni en EMPLEADO
Atributos identificadores alternativos (IA) Claves Alternativas
El resto de IC’s
nss y (nombre, fechanacim) en EMPLEADO
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ón
telefono
calle provincia ciudad codpostal
dni edad
altura
(0,3)
D
nss nacionalidad
(1,2) n-f
(0,3)
(1,2)
(0,1) EMPLEADO
nombre
fechanacim telefono
calle provincia ciudad
codpostal
edad nss
dni
altura
nacionalidad
n-f
dirección
IP
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
Atributo Dominio Descripción Dominio
nombre NOMBRES cadenas de hasta 30 caracteres alfabéticos
telefono TELEFONOS cadenas de hasta 9 caracteres numéricos
altura MEDIDAS números reales entre 0 y 2’5 (metros)
... ... ...
TELEFONOS
NOMBRES
telefono
nombre
MEDIDAS altura
EMPLEADO
2. Conceptos básicos del modelo
12
23
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”
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 del conjunto de relaciones existentes entre dos o más tipos de entidad
un DIRECTOR ha rodado PELICULA’s
Notación
DIRECTOR PELICULA HA_RODADO
2. Conceptos básicos del modelo
26
ACTOR PELICULA ACTUA_EN
CLIENTE PELICULA
LOCAL_VIDEOCLUB
ALQUILA
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
PELICULA CONTINUACION DE
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ón PELICULA VERSION_DE
DIRECTOR PELICULA HA_RODADO realizador film
2. Conceptos básicos del modelo
28
Restricciones estructurales sobre tipos de relación
Limitan las posibles combinaciones de entidades que pueden participar en las relaciones
Extraídas de la situación real que se modela “Una película debe haber sido dirigida por uno y sólo un
director”
“Un director ha dirigido al menos una película y puede haber dirigido muchas”
Clases de restricciones estructurales: Razón de cardinalidad (o tipo de correspondencia)
Razón de participación
2. Conceptos básicos del modelo
15
29
Razón de Cardinalidad Notación EN2002
Número máximo de instancias de tipo de relación en las que puede participar una misma instancia de tipo de entidad la cardinalidad de HA_RODADO es “1 a N”
HA_RODADO es de tipo “1 a N”
Notación etiqueta en la línea que
une entidad y relación
Ojo: da la sensación de que se representa “al revés”
1
N
DIRECTOR
PELICULA
HA_RODADO
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
N 1
Razón de Cardinalidad Notación EN2002
2. Conceptos básicos del modelo
16
31
Razón de Cardinalidad Notación [MPM1999]
Número máximo de instancias de un tipo de entidad que pueden estar relacionadas con una instancia del otro tipo de entidad
Notación Etiqueta (1:1, 1:N, M:N…) junto al tipo de relación, o Flecha en sentido “... a N”
ACTOR
PELICULA
M:N ACTUA_EN
EMPLEADO
LOCAL_VIDEOCLUB
encargado
sucursal
trabajador
lugar trabajo
TRABAJA_EN SUPERVISA 1:N 1:1
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 relaciones
Notación flecha en el sentido “... a 1”
ACTOR
PELICULA
ACTUA_EN
EMPLEADO
LOCAL_VIDEOCLUB
encargado
sucursal
trabajador
lugar trabajo
TRABAJA_EN SUPERVISA
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ó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
2. Conceptos básicos del modelo
34
Razón de Participación (ii) [EN2002]
Notación
Líneas dobles o simples
EMPLEADO
LOCAL_VIDEOCLUB
encargado
sucursal
1
trabajador
lugar trabajo
1
TRABAJA_EN SUPERVISA
N 1
DIRECTOR
PELICULA
HA_ RODADO
1
N
PELICULA
personaje
film
M
ACTUA_EN
N
ACTOR
2. Conceptos básicos del modelo
18
35
Cardinalidad de tipo de entidad
Otra forma de expresar las razones de cardinalidad y participación
PERSONA EDIFICIO
p1
p2
p3
e1
e2
e3
e4
USA
p1
p2
p3
e1
e2
e3
e4
POSEE
PERSONA EDIFICIO POSEE
PERSONA USA EDIFICIO
2. Conceptos básicos del modelo
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 entidad
Notació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. Conceptos básicos del modelo
19
37
Cardinalidad de tipo de entidad (iii) [EN2002]
EMPLEADO
LOCAL_VIDEOCLUB
1 1
TRABAJA_EN SUPERVISA
N 1
(0,n)
(1,1)
(1,1)
(1,1)
EMPLEADO
LOCAL_VIDEOCLUB
TRABAJA_EN SUPERVISA
PELICULA
M
ACTUA_EN
N
ACTOR
PELICULA
(1,n)
ACTUA_EN
(0,m)
ACTOR
2. Conceptos básicos del modelo
38
Cardinalidad de tipo de entidad Notación MPM1999]
Números mínimo y máximo de instancias de un tipo de entidad que pueden estar relacionadas con una instancia del otro tipo de entidad
Notación (min, max) en la línea que une entidad y relación
POSEE
PERSONA USA EDIFICIO (0,m) (1,n)
(0,n) (1,1)
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
POSEE
PERSONA EDIFICIO
PERSONA POSEE EDIFICIO (1,1) (0,n)
[EN2002]
[MPM1999]
En toda notación, la cardinalidad de una entidad es la etiqueta de la línea que la une a la relación
2. Conceptos básicos del modelo
40
EMPLEADO LOCAL
VIDEOCLUB SUPERVISA 1 N
[EN2002]
[MPM1999] EMPLEADO LOCAL
VIDEOCLUB
1:N
SUPERVISA (1,1) (0,n)
EMPLEADO LOCAL
VIDEOCLUB SUPERVISA [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 DE precuela
continuación
N
1 subalterno
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
1 1
TRABAJA_EN SUPERVISA
N 1
horas fechainicio
PELICULA (0,m)
ACTUA_EN (1,n)
ACTOR
salario
papel 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ón
Un 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
EMPLEADO
1 1
TRABAJA_EN SUPERVISA
N 1
LOCAL_VIDEOCLUB
2. Conceptos básicos del modelo
44
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
2. Conceptos básicos del modelo
23
45
Tipo de entidad débil (ii) [EN2002]
PELICULA
numcopia
titulo
1
N
COPIA
TIENE
PACIENTE
VISITA_MEDICA diahora
1
nss
N
MEDICO ncolegiado
nombre
N
1
especialidad
ACUDE
ASISTIDA POR
Tipo de
Relación
Identificador
Clave parcial o
Discriminante
Tipo de
Entidad
Regular
Dependencia
en existencia
2. Conceptos básicos del modelo
46
EMPLEADO
numlicencia
dni
1
N
PERMISO
CONDUCCION
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. 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 existencia
En 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ón Además de la dependencia en existencia... Una instancia del tipo de entidad débil no se
puede identificar por sí misma Su clave es (clave_entidad_regular, clave_parcial)
Etiqueta “ID” en el tipo de relación débil
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:N TIENE
ID
PELICULA
idcopia
numlicencia
EMPLEADO
PERMISO
CONDUCCION
POSEE 1:N E
dni
tipo
Tipo de
Relación
Débil
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:N E
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
TIENE 1:1 ID
numprestamo
(1,1)
(0,n)
idpago
PRESTAMO
numpago
numprestamo
1
N
PAGO
TIENE
Dependencia en identificación Entidad 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
CINTA
VIDEO
LOCAL
VIDEOCLUB
ALQUILA
(1,1) (1,n)
(1,1)
CLIENTE
CINTA
VIDEO
LOCAL
VIDEOCLUB
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
CINTA
VIDEO
LOCAL
VIDEOCLUB
ALQUILA (0,1)
(0,n)
(0,m) fecha
LOCAL
VIDEOCLUB
ALQUILA
(1,m) (0,1)
(1,n)
(0,n)
(1,1)
(1,n) CONTIENE
fecha
ALQUILA_EN CINTA
VIDEO
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
PUEDE SUMINISTRAR
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) PUEDE SUMINISTRAR
idprov
codpr
nombre
cantidad fecha
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
OFERTA EMPLEO
(1,1)
(0,m) CANDIDATO
(0,n) REALIZA
(0,1) (1,1) GENERA
fecha
idemp
idoferta
dni
num
ENTREVISTA