Notaciones de Entidad Relación ER

Anuncio
Notaciones de Entidad Relación ER
Diseño de Bases de Datos
1. Modelo Entidad-Relación
Objetivos:
z
z
Conocer los conceptos y notación del modelo
conceptual de datos entidad-relación.
Comprender los significados del concepto de
“nulo” en el modelo entidad-relación.
Contenidos:
1. Introducción e historia del modelo
2. Conceptos básicos del modelo
3. Notaciones del modelo.
Modelo Entidad-Relación
Bibliografía y notaciones.
[EN 2002] Elmasri, R.; Navathe, S.B. Fundamentos de
Sistemas de Bases de Datos. 3ª ed. Addison-Wesley,
(Cap. 3 y 4)
[MPM 1999] De Miguel, A.; Piattini, M.; Marcos, E. Diseño
de bases de datos relacionales. Ra-Ma. (Cap. 2)
[CBS 1998]
Connolly, T.; Begg C.; Strachan, A. Database
Systems: A Practical Approach to Design,
Implementation and Management. 2nd ed. AddisonWesley. (Cap. 5)
[SKS 1998] Silberschatz, A;Korth, H; Sudarshan, S.
Fundamentos de Bases de Datos. 3ª edición. Madrid:
McGraw-Hill. (Cap. 2)
1.1. Introducción e historia del modelo Entidad-Relación
{
{
{
{
Modelo de datos conceptual de alto nivel
Propuesto por Peter P. Chen en 1976
z
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
z
z
Muy extendido en los métodos de diseño de bases de
datos
Soportado por herramientas software de diseño
(CASE)
2.2. Conceptos básicos del modelo
ENTIDAD
{
Cosa u objeto del mundo real con
existencia propia y distinguible del resto
{
Objeto con existencia...
z
z
{
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
Tipos de atributos
{
{
{
{
Simples o Compuestos
Almacenados o Derivados
Monovalorados o Multivalorados
Opcionales
2.2. Conceptos básicos del modelo
Atributos Simples o Compuestos
{
Atributos compuestos
z
Pueden dividirse en otros con significado
propio
fechanacim
dirección
día mes
z
{
año
calle ciudad provincia codpostal
Valor compuesto = concatenación de
valores de componentes
Atributos simples
z
No divisibles. Atómicos genero
2.2. Conceptos básicos del modelo
Atributos Almacenados o Derivados
{
Atributos derivados
z
z
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.2. Conceptos básicos del modelo
Atributos Monovalorados o Multivalorados
{
Atributos monovalorados (monovaluados)
z
{
sólo un valor para cada entidad
fechanacim [de un EMPLEADO particular]
añoestreno [de cada PELICULA concreta]
Atributos multivalorados (multivaluados)
z
z
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.2. Conceptos básicos del modelo
Atributos Opcionales (nulos)
{
El nulo (null value) es usado cuando...
z
z
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.2. Conceptos básicos del modelo
Notación para atributos
[MPM1999]
[EN2002]
calle
ciudad
provincia
codpostal
dirección
fechanacim
(0,3)
(0,1)
telefono
EMPLEADO
nombre
altura
calle ciudad provincia
codpostal
fechanacim
dirección
(0,3)
nombre
telefono
EMPLEADO
altura
(1,2)
nss
dni
edad
nacionalidad
D
nss
dni edad
(1,2)
nacionalidad
2.2. Conceptos básicos del modelo
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]
EMPLEADO
dni
[MPM1999]
2.2. Conceptos básicos del modelo
Atributos Clave (ii)
{
Una clave puede estar formada por
varios atributos Ö clave compuesta
z
Combinación de valores distinta para cada instancia
(nombre, fechanacim) en el tipo de entidad
EMPLEADO
z
{
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:
z
z
z
dni
nss
(nombre, fechanacim)
2.2. Conceptos básicos del modelo
Atributos Clave (iii)
{
Atributo identificador principal (IP)
z
z
z
{
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)
z
z
z
Claves Alternativas
El resto de IC’s
nss y (nombre, fechanacim) en EMPLEADO
2.2. Conceptos básicos del modelo
Notación para atributos clave
[EN2002]
codpostal
dirección
fechanacim
n-f
nombre
„
provincia
ciudad
calle
[MPM1999]
(0,3)
(0,1)
EMPLEADO
nss
(1,2)
altura
nacionalidad
IP
dni
telefono
edad
calle ciudad provincia
codpostal
fechanacim
dirección
(0,3)
nombre
telefono
EMPLEADO
altura
n-f
nss
D
dni edad
(1,2)
nacionalidad
En el MER es obligatorio que todo tipo de
entidad tenga un identificador
2.2. Conceptos básicos del modelo
RELACIÓN (relationship)
{
{
También “interrelación”
Asociación, vínculo o correspondencia
entre instancias de entidades
relacionadas de alguna manera en el
“mundo real”
z
z
z
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.2. Conceptos básicos del modelo
TIPO DE RELACIÓN (relationship set)
{
Estructura genérica o abstracción del
conjunto de relaciones existentes
entre dos o más tipos de entidad
un DIRECTOR ha rodado PELICULA’s
{
Notación
DIRECTOR
HA_RODADO
PELICULA
2.2. Conceptos básicos del modelo
Grado de un tipo de relación
{
Número de tipos de entidad que participan
en el tipo de relación
z Binaria: grado 2 (el más frecuente)
z Ternaria: grado 3
z Reflexiva (o recursiva): grado 1
ACTOR
ACTUA_EN
CLIENTE
CONTINUACION
DE
PELICULA
PELICULA
ALQUILA
LOCAL_VIDEOCLUB
PELICULA
2.2. Conceptos básicos del modelo
Restricciones estructurales sobre tipos de relación
{
{
Limitan las posibles combinaciones de
entidades que pueden participar en las
relaciones
Extraídas de la situación real que se modela
“Una película debe haber sido dirigida por uno y sólo un director”
“Un director ha dirigido al menos una película y puede haber dirigido
muchas”
{
Clases de restricciones estructurales:
z
z
Razón de cardinalidad (o tipo de correspondencia)
Razón de participación
2.2. Conceptos básicos del modelo
Razón de Cardinalidad Notación EN2002
{
Número máximo de instancias de tipo de
relación en las que puede participar una
misma instancia de tipo de entidad
z
z
{
la cardinalidad de HA_RODADO es “1 a N”
HA_RODADO es de tipo “1 a N”
DIRECTOR
Notación
z
z
etiqueta en la línea que
une entidad y relación
Ojo: da la sensación de
que se representa “al revés”
1
HA_RODADO
N
PELICULA
2.2. Conceptos básicos del modelo
Razón de Cardinalidad Notación EN2002
{
Razones de cardinalidad más comunes:
z 1:1 (“uno a uno”)
z 1:N (“uno a muchos”)
z M:N (“muchos a muchos”)
trabajador
1
TRABAJA_EN
1
lugar trabajo
EMPLEADO
encargado 1
SUPERVISA
sucursal N
LOCAL_VIDEOCLUB
ACTOR
personaje M
ACTUA_EN
N
film
PELICULA
2.2. Conceptos básicos del modelo
Razón de Cardinalidad Notación [MPM1999]
{
{
Número máximo de instancias de un tipo
de entidad que pueden estar relacionadas
con una instancia del otro tipo de entidad
Notación
z
z
Etiqueta (1:1, 1:N, M:N…) junto al tipo de relación, o
Flecha en sentido “... a N”
trabajador
1:1
TRABAJA_EN
ACTOR
EMPLEADO
encargado
1:N
SUPERVISA
M:N
ACTUA_EN
sucursal
lugar trabajo
LOCAL_VIDEOCLUB
PELICULA
2.2. Conceptos básicos del modelo
Razón de Cardinalidad Notación [SKS1998]
{
{
Número máximo de instancias de un tipo
de entidad a las que otra instancia puede
estar asociada, vía un conjunto de
relaciones
Notación
z
flecha en el sentido “... a 1”
trabajador
EMPLEADO
encargado
TRABAJA_EN
SUPERVISA
ACTOR
ACTUA_EN
sucursal
lugar trabajo
LOCAL_VIDEOCLUB
PELICULA
2.2. Conceptos básicos del modelo
Razón de Participación Notación [EN2002]
{
{
{
Especifica si toda la extensión de un tipo
de entidad participa en un tipo de
relación, o sólo parte de la extensión
Indica si hay dependencia en existencia
de un tipo de entidad respecto de un tipo
de relación
Clases de participación:
z
z
Participación total (dependencia en existencia)
Participación parcial
3.2. Conceptos básicos del modelo
Razón de Participación (ii)
{
[EN2002]
Notación
z
Líneas
dobles o
simples
DIRECTOR
1
trabajador
1
TRABAJA_EN
1
lugar trabajo
EMPLEADO
encargado 1
SUPERVISA
sucursal N
LOCAL_VIDEOCLUB
HA_ RODADO
N
PELICULA
ACTOR
personaje M
ACTUA_EN
N
film
PELICULA
2.2. Conceptos básicos del modelo
Cardinalidad de tipo de entidad Notación [EN2002]
{
{
Números mínimo y máximo de instancias del
tipo de relación en las que puede intervenir
una instancia del tipo de entidad
Notación
z (min, max) en la línea que une entidad y relación
(1,n)
PERSONA
(0,n)
USA
POSEE
(0,m)
(1,1)
EDIFICIO
2.2. Conceptos básicos del modelo
Cardinalidad de tipo de entidad (iii)
1
TRABAJA_EN
EMPLEADO
1
ACTOR
SUPERVISA
ACTUA_EN
N
1
LOCAL_VIDEOCLUB
(1,1)
TRABAJA_EN
(1,1)
[EN2002]
M
N
PELICULA
EMPLEADO
(0,n)
ACTOR
SUPERVISA
ACTUA_EN
(1,1)
LOCAL_VIDEOCLUB
(1,n)
(0,m)
PELICULA
2.2. Conceptos básicos del modelo
Cardinalidad de tipo de entidad Notación MPM1999]
{
{
Números mínimo y máximo de
instancias de un tipo de entidad que
pueden estar relacionadas con una
instancia del otro tipo de entidad
Notación
z
(min, max) en la línea que une entidad y relación
PERSONA
(0,m)
(1,1)
USA
POSEE
(1,n)
(0,n)
EDIFICIO
2.2. Conceptos básicos del modelo
Cardinalidad de tipo de entidad (v)
{
Comparación de notaciones
[EN2002]
PERSONA
(0,n)
PERSONA
POSEE
(1,1)
EDIFICIO
EDIFICIO
POSEE
p1 „
POSEE ( PERSONA(0,n) : EDIFICIO(1,1) )
„ e1
„ e2
p2 „
„ e3
[MPM1999]
PERSONA
(1,1)
POSEE
(0,n)
EDIFICIO
p3 „
„ e4
POSEE( PERSONA(1,1) : EDIFICIO(0,n) )
{
En toda notación, la cardinalidad de una entidad
es la etiqueta de la línea que la une a la relación
Cardinalidad de tipo de entidad
Comparación de notaciones (ii)
[EN2002]
EMPLEADO
1
SUPERVISA
N
LOCAL
VIDEOCLUB
1:N
[MPM1999]
[SKS1998]
EMPLEADO
EMPLEADO
(1,1)
SUPERVISA
LOCAL
(0,n) VIDEOCLUB
SUPERVISA
LOCAL
VIDEOCLUB
Cardinalidad de tipo de entidad
Cardinalidad de tipos de entidad recursivos
superior (0,n)
[EN2002]
subalterno
EMPLEADO (0,1)
N
continuación (0,1)
PELICULA
precuela
(0,1)
1
JEFE DE
SECUELA DE
1:1
[MPM1999]
versión (0,n)
PELICULA
original
(0,1)
VERSIONA
N:1
Atributos de tipos de relación
[EN2002]
horas
EMPLEADO
1
1
TRABAJA_EN
SUPERVISA
fechainicio
N
1
LOCAL_VIDEOCLUB
[MPM1999]
M:N
ACTOR
(0,m)
ACTUA_EN
papel
salario
(1,n)
PELICULA
2.2. Conceptos básicos del modelo
Atributos de tipos de relación (ii)
{
Conceptualmente pertenecen a la relación
z
z
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
1
horas
TRABAJA_EN
EMPLEADO
1
SUPERVISA
fechainicio
N
1
LOCAL_VIDEOCLUB
[EN2002]
horas
horas
fechainicio
Descargar