BD2 Modelo ER 12
Transcript of BD2 Modelo ER 12
Base d
e D
ato
s
2
Agenda
Modelamiento
Restricciones y Cardinalidad
Claves
Diagrama Entidad-Relación
Conjunto de entidades débiles
Modelo E-R extendido
Reducción de esquemas E-R
Base d
e D
ato
s
3
Modelamiento
Una base de datos puede ser modelado como:
Una colección de entidades,
Relaciones entre entidades.
Una entidad es un objeto en el mundo real que es distinguible de todos los demás objetos.
Ejemplo: una persona especifica, compañía, etc.
Entidades tiene atributos
Ejemplo: Las personas tienen nombre y dirección
Un conjunto de entidades es un conjunto de entidades del mismo tipo que comparten los mismos atributos.
Ejemplo: conjunto de personas, compañías, etc.
Base d
e D
ato
s
4
Atributos
Dominio - El conjunto de valores permitidos para cada atributo
Los valores de los atributos constituyen parte decisiva de los datos almacenados.
Valor nulo: Cuando el atributo no tiene valor (no aplicable, perdido, desconocido )
• Ejemplo: RUC, NroCelular, Esposa, etc.
Tipos de atributos:
Atributos Simples (atómicos) y compuestos. • Ejemplo: atributo compuesto: direccion_cliente
Atributos monovalorados y multivalorados • Ejemplo: atributo multivalorado: numero_telefonico
Atributos Derivados y Almacenados • Atributo derivado puede ser calculado a partir de otros atributos
• Ejemplo: edad ( fecha de nacimiento)
Base d
e D
ato
s
5
Atributo compuesto
Se dividen en componentes más pequeños, con propio
significado
Pueden formar una jerarquía
Base d
e D
ato
s
6
Conjunto de relaciones
Una relación es una asociación entre diferentes entidades.
Un conjunto de relaciones es un conjunto de relaciones del
mismo tipo.
Ejemplo: las dos entidades cliente y préstamo, definen el
conjunto de relaciones prestatario para denotar la asociación
entre clientes y préstamos bancarios que los clientes tengan.
Base d
e D
ato
s
7
Conjunto de relaciones (cont)
Base d
e D
ato
s
8
Conjunto de relaciones (cont)
Un atributo puede ser también propiedad de un conjunto de
relaciones: atributo descriptivo.
Para una instancia, el conjunto de relaciones depositor entre el
conjunto de entidades cliente y cuenta puede tener el atributo
fecha_de_acceso
Base d
e D
ato
s
9
Grado del conjunto de relaciones
Se refiere al número de conjuntos de entidades que participan en un conjunto de relaciones.
Los conjuntos de relaciones que implica dos entidades son binarias (o de grado dos).
Ocasionalmente los conjuntos de relaciones pueden implicar más de dos conjuntos de entidades.
Ejemplo: Los empleados de un banco pueden tener diferentes trabajos (responsabilidades) en diferentes sucursales. Por lo que hay una un conjunto de relación ternaria entre los conjuntos de entidades empleado, trabajo, y sucursal.
Base d
e D
ato
s
10
Roles
Las etiquetas “director” y “trabajador” se llaman roles; y
especifican cómo una entidad empleado interactúa vía la
relación trabaja_para.
Las etiquetas de los roles son opcionales, y son usados para
aclarar la semántica de las relaciones.
Son indispensables en relaciones recursivas.
Base d
e D
ato
s
11
Restricciones y Cardinalidad
Correspondencia de cardinalidad - Expresa el número de
entidades a las que otra entidad puede estar asociada vía un
conjunto de relaciones.
Pueden ser:
Uno a uno
Uno a muchos
Muchos a uno
Muchos a muchos
Base d
e D
ato
s
12
Restricciones y Cardinalidad
Uno a uno Uno a muchos
Muchos a uno Muchos a muchos
Base d
e D
ato
s
13
Participación de un conjunto de
entidades en un conjunto de relaciones
Participación total - (indicado por una línea doble) cada entidad
participa en al menos una relación en el conjunto de relaciones
Ejm. participación total de préstamo en prestatario
• cada préstamo debe tener un cliente asociado vía prestatario
Participación parcial - algunas entidades no pueden participar en
alguna relación
Ejm: participación parcial de cliente en prestatario
Base d
e D
ato
s
14
Notación alternativa para límites de
cardinalidad
Los limites de cardinalidad pueden también expresar sus restricciones de participación
1..1 significa que la cardinalidad mínima y máxima son ambas 1. Es decir, cada préstamo debe tener exactamente un cliente asociado.
El límite 0..* en el segmento de cliente a prestatario indica que un cliente puede tener ninguno o varios préstamos.
Cada préstamo debe tener exactamente un cliente
Un cliente puede tener ninguno o varios préstamos 1 a N
Base d
e D
ato
s
15
Claves
Una clave permite identificar un conjunto de atributos suficientes para distinguir las entidades entre sí, y a las relaciones también.
Una superclave de un conjunto de entidades es un conjunto de uno o más atributos cuyos valores únicamente determina cada entidad (puede contener atributos innecesarios).
Una clave candidata es una superclave mínima (subconjunto de la superclave).
Id_cliente es una clave candidata de cliente
numero_cuenta es una clave candidata de cuenta
nombre_cliente, direccion_cliente es una clave candidata de cliente
Id_cliente, nombre_cliente no es una clave candidata de cliente
Aunque diversas claves candidatas pueden existir, una de las claves candidatas se selecciona para ser la clave primaria.
Base d
e D
ato
s
16
Rectángulos, que representan conjuntos de entidades.
Rombos, que representan relaciones.
Líneas, que unen atributos a conjuntos de entidades y conjuntos de entidades a conjuntos
de relaciones.
Elipses, que representan atributos.
Elipses dobles, que representan atributos multivalorados.
Elipses discontinuas, que denotan atributos derivados.
Líneas dobles, que indican participación total de una entidad en un conjunto de relaciones.
Diagrama E-R
Base d
e D
ato
s
17
Diagrama E-R con varios tipos de
atributos
Base d
e D
ato
s
18
Diagrama E-R con conjunto de relaciones
con atributos
Base d
e D
ato
s
19
Diagrama E-R con relaciones ternarias
• Los conjuntos de relaciones no binarias se pueden especificar
fácilmente en un diagrama E-R que consta de tres conjuntos de
entidades cliente, trabajo y sucursal, relacionados a través del
conjunto de relaciones trabaja-en.
Base d
e D
ato
s
20
Conjunto de entidades débiles
Son aquellas que no tienen suficientes atributos para formar la clave primaria Un conjunto de entidades que tiene una clave primaria se
denomina conjunto de entidades fuertes.
Debe estar asociada con otro conjunto de entidades: conjunto de entidades identificadoras o propietarias. Dependen existencialmente de éstas.
Relación identificadora: aquella que asocia el conjunto de entidades débiles con el conjunto de entidades identificadoras. Es varios a uno (del {} entidades débiles al {} entidades
identificadoras). La participación del {} de entidades débiles es total.
Base d
e D
ato
s
21
Conjunto de entidades débiles (cont)
Discriminante: (clave parcial) conjunto de atributos que permiten
distinguir todas aquellas entidades del conjunto de entidades débiles
que dependen de una entidad fuerte en particular.
Se subraya el discriminante de un conjunto de entidad débil con una
línea punteada.
Numero_pago – discriminador del conjunto de entidad pago
La clave primaria de un conjunto de entidades débiles se forma con
la clave primaria del conjunto de entidades identificadoras, más el
discriminante del conjunto de entidades débiles.
Clave primaria para pago – (numero-prestamo, numero_pago)
Un conjunto de entidades débiles se dibuja con rectángulos dobles.
Base d
e D
ato
s
22
Conjunto de entidades débiles (cont)
COPIA es débil, pues depende en
existencia de PELICULA, y también
depende en identificación
numcopia
titulo
COPIA
TIENE
PELICULA
idcopia
Base d
e D
ato
s
23
Conjunto de entidades débiles (cont)
Nota: la clave primaria del conjunto de entidades fuertes no es
explícitamente almacenada con el conjunto de entidades
débiles, ya que este es implícito en la relación identificadora.
Si el numero_prestamo fuera almacenado explícitamente, pago
podría ser una entidad fuerte, pero luego la relación entre pago
y préstamo seria duplicado por una relación implícita definida
por el atributo común numero_prestamo para pago y préstamo
Base d
e D
ato
s
24
Tipos de dependencia
Dependencia en existencia (entre entidades) Si desaparece una instancia del tipo de entidad fuerte
deben desaparecer las instancias de la entidad débil que dependen de ella
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)
Doble rombo en la relación
Diagrama E-R
Base d
e D
ato
s
25
Tipos de dependencia (cont)
PRESTAMO es débil, pues depende en
existencia de CLIENTE, pero no
depende en identificación
PAGO es débil, pues depende en
existencia de PRESTAMO, y
también depende en identificación
Diagrama E-R
Base d
e D
ato
s
26
Modelo E-R Extendido
EER debido a que ER estaba preparado solo para aplicaciones tradicionales de los 70’s
Las nuevas aplicaciones han hecho evolucionar los modelos conceptuales.
Es una propuesta OO.
Los conceptos de clases de las metodologías OO son similares al 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
Agregación de entidades
Base d
e D
ato
s
27
Subclase, Superclase y Herecia
Subclase Tipo de entidad
Describe subagrupaciones de la entidad que son significativas
• Ejemplo: ALUMNO ACTIVO, RETIRADO, PROFESIONAL, etc.
El conjunto de entidades de cada subclase es un subconjunto del TIPO general.
Representan papeles específicos de la entidad
Superclase Tipo de entidad que posee subclases
Herencia de atributos: un conjunto de entidades de bajo nivel (subclase) hereda atributos y relaciones que participan del conjunto de entidades de alto nivel (superclase) al cual está enlazado.
Base d
e D
ato
s
28
Especialización
Proceso de diseño Top-down; se define subgrupos con un
conjunto de entidades que son diferentes de otras entidades en el
conjunto.
Se representa por un triangulo etiquetado con ES (relación
superclase-subclase). Ejm. Empleado “ES ” cajero.
Se puede especializar por más de una característica distintiva.
E-R Extendido
Base d
e D
ato
s
29
Especialización (cont)
E-R Extendido
Otra Notación
d
Base d
e D
ato
s
30
Generalización
Proceso de diseño bottom-up – combina un numero de conjunto
de entidades que comparten las mismas características dentro de un
conjunto de entidades de alto nivel.
Proceso de suprimir diferencias e identificar rasgos comunes
Todo lo anterior se generaliza y se obtiene superclase (entidad no
existente)
Especialización y generalización son inversos; se representan en el
diagrama E-R del mismo modo.
Los términos especialización y generalización son usados
intercambiables.
E-R Extendido
Base d
e D
ato
s
31
Generalización (cont)
E-R Extendido
Nombre
Código
Docente
Categoría
Departamento
Administrativo
Nombre Código
Área
Docente
Departamento Área Categoría
Trabajador
Código Nombre
Administrativo
ES
Base d
e D
ato
s
32
Restricciones en una
Especialización/Generalización
Restricciones en las cuales las entidades pueden ser miembros de un conjunto de entidades de bajo nivel.
Definido por condición/predicado
• Cuando una entidad satisface o no una condición explicita o predicado.
• Definidas en términos del valor de un atributo de la superclase (definido por atributo)
• Ejemplo: todos los clientes sobre los 65 años son miembros del conjunto de entidades ciudadano_senior; ciudadano_senior ES persona.
Definido por usuario
E-R Extendido
Base d
e D
ato
s
33
Restricciones en una
Especialización/Generalización (cont)
Un segundo tipo de restricciones se define según si las entidades pueden pertenecer a más de un conjunto de entidades de nivel más bajo en una generalización simple..
Disjunto
• Requiere que una entidad no pertenezca a más de un conjunto de entidades de nivel más bajo.
• Se denota escribiendo disjunto al lado del triangulo ES
Solapado (predeterminado)
• La misma entidad puede pertenecer a más de un conjunto de entidades de nivel más bajo en una generalización simple.
E-R Extendido
Base d
e D
ato
s
34
Restricciones en una
Especialización/Generalización (cont) E-R Extendido
Base d
e D
ato
s
35
Restricciones en una
Especialización/Generalización (cont)
Restricciones de completitud - especifica si un conjunto de
entidades de nivel más alto debe pertenecer o no a al menos
uno de los conjuntos de entidades de nivel más bajo en una
generalización/especialización.
Total – (línea doble) cada entidad de nivel más alto debe
pertenecer a un conjunto de entidades de nivel más bajo
(subclase).
Parcial (predeterminada) - Algunas entidades de nivel más alto
pueden no pertenecer a algún conjunto de entidades de nivel
más bajo.
E-R Extendido
Base d
e D
ato
s
36
Restricciones en una
Especialización/Generalización (cont)
E-R Extendido
Trabajador
Docente Administ.
ES
Secretaria
Trabajador
Ingeniero
“Ingeniero”
Tipo Trabajo
“Secretaria”
ES
Base d
e D
ato
s
37
Jerarquía de
especialización - Toda
subclase participa como
subclase en solo una
relación clase / subclase
Restricciones en una
Especialización/Generalización (cont) E-R Extendido
Secretaria
Trabajador
Ingeniero
“Ingeniero”
Tipo Trabajo
“Secretaria”
Civil Sistemas
ES
ES
Base d
e D
ato
s
38
Retícula de especialización - Una subclase puede ser subclase
en más de una relación clase / subclase
Herencia múltiple
Restricciones en una
Especialización/Generalización (cont) E-R Extendido
Base d
e D
ato
s
39
Agregación
Considere la relación ternaria trabaja_en,
Supóngase que se desean registrar los directores de las tareas
realizadas por un empleado en una sucursal: problema!
E-R Extendido
Base d
e D
ato
s
40
Agregación (cont)
Elimina esta redundancia via agregación Permite combinar varios tipos de entidad, relacionados mediante un tipo de
relación, para formar un tipo de entidad agregada de nivel superior
Trata a esta relación como una entidad abstracta
Permite relaciones entre relaciones
Útil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad
Sin introducir redundancia, los siguientes diagramas representa: Un empleado trabaja en un trabajo particular en una sucursal particular
Una combinación empleado, sucursal, trabajo puede tener un director asociado
E-R Extendido
Base d
e D
ato
s
41
Resumen de a notación
Base d
e D
ato
s
42
Reducción de un esquema E-R a Tablas
Una base de datos que se ajusta a un esquema de bases de
datos E-R se puede representar por una colección de tablas.
Debido a que los dos modelos emplean principios de diseño
similares, se puede convertir un diseño E-R en un diseño
relacional
Base d
e D
ato
s
43
Representación tabular del conjunto de
entidades
Entidades Fuertes - Sea E un conjunto de entidades
fuertes con los atributos descriptivos a1, a2,…,an. Esta
entidad se representa mediante una tabla llamada E
con n columnas distintas, cada una de las cuales
corresponde a uno de los atributos de E.
Base d
e D
ato
s
44
Representación tabular del conjunto de
entidades (cont)
Entidades Fuertes -
Base d
e D
ato
s
45
Representación tabular del conjunto de
entidades (cont)
Entidades Débiles - Sea A un conjunto de entidades
débiles con los atributos a1, a2,…,am. Sea B el conjunto de
entidades fuertes del que A depende. Sea la clave primaria de
B el conjunto de atributos b1, b2,…,bn. Se representa el conjunto
de entidades A mediante una tabla llamada A con una columna
por cada uno de los atributos del conjunto:
{a1, a2,…,am} U {b1, b2,…,bn}
Base d
e D
ato
s
46
Representación tabular del conjunto de
entidades (cont)
Entidades Débiles -
Base d
e D
ato
s
47
Representación tabular del conjunto de
los conjuntos de relaciones
Sea R un conjunto de relaciones, sean a1, a2,…,am el conjunto
de atributos formados por la unión de las claves primarias de
cada uno de los conjuntos de entidades que participan en R, y
sean b1, b2,…,bn los atributos descriptivos de R (si los hay). El
conjunto de relaciones se representa mediante una tabla
llamada R con una columna por cada uno de los atributos del
conjunto:
{a1, a2,…,am} U {b1, b2,…,bn}
Base d
e D
ato
s
48
Representación tabular del conjunto de
los conjuntos de relaciones (cont)
Base d
e D
ato
s
49
Redundancia de Tablas
Redundancia de tablas: Caso especial de entidades fuertes relacionadas con entidades débiles
Pago Préstamo Pago_Préstamo
Base d
e D
ato
s
50
Combinación de tablas
Como es una relación varios a uno de cuenta a sucursal y es total, se necesitan:
En caso de uno a uno, la tabla del conjunto de relaciones se combina con
cualquiera de las dos tablas de los conjuntos de entidades.
Si la participación es parcial, se usan valores NULLs.
Cuenta (numero_cuenta, nombre_sucursal, saldo)
Sucursal (nombre_sucursal, ciudad_sucursal, activo)
Base d
e D
ato
s
51
Atributos compuestos y multivaluados
Atributos compuestos
Se crea un atributo separado para cada uno de los atributos
componentes:
Atributos multivaluados
Se crean tablas nuevas, con clave primaria igual a la clave
primaria del conjunto de entidades o relaciones del que es
atributo.
Nombre_subordinado (nombres,
id_empleado)
Base d
e D
ato
s
52
Representación de la generalización
Método 1:
1. Crear una tabla para el conjunto de entidades de nivel más alto
(atributos clave primaria: a1, a2, …, am )
2. Crear una tabla para cada conjunto de entidades de nivel más
bajo (Atributos: b1, b2, …, bn)
• Con: {b1, b2, …, bn} {a1, a2, …, am} columnas
Persona (nombre, calle ciudad)
Empleado (nombre y sueldo)
Cliente ( nombre, tasa _crédito)
Base d
e D
ato
s
53
Representación de la generalización (cont)
Método 2: (si es disjunta y completa) 1. No se crea tabla para el {} de entidades de más alto nivel, más
bien si: {b1, b2, …, bn}: atributos de la entidad de bajo nivel
{a1, a2, …, am}: atributos de la entidad de nivel más alto
entonces:
Crear una tabla para cada entidad del conjunto de entidades de nivel
más bajo con:
{b1, b2, …, bn} {a1, a2, …, am} columnas
• ¿si la generalización fuera solapada?
• ¿si la generalización no fuera completa?
Empleado (nombre, calle, ciudad, sueldo)
Cliente ( nombre, calle, ciudad, límite _crédito)
Valores duplicados
Tabla adicional - Persona
Base d
e D
ato
s
54
Representación tabular de la agregación
Se crea una tabla para el
conjunto de relaciones entre la
agregación y la entidad, con:
{b1, b2, …, bn} {a1, a2, …, am}
columnas Donde
{b1, b2, …, bn}: atributos de la clave primaria del {} de entidades y del {} de
relaciones agregada
{a1, a2, …, am}: atributos descriptivos
dirige (key_director, key_trabaja_en, atributos_descriptivos)
Base d
e D
ato
s
55