BD2 Modelo ER 12

55
Repaso MODELO ENTIDAD RELACIÓN Karim Guevara Puente de la Vega [email protected] UNSA - 2012

Transcript of BD2 Modelo ER 12

Page 1: BD2 Modelo ER 12

Repaso

MODELO ENTIDAD RELACIÓN

Karim Guevara Puente de la Vega

[email protected]

UNSA - 2012

Page 2: 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

Page 3: BD2 Modelo ER 12

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.

Page 4: BD2 Modelo ER 12

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)

Page 5: BD2 Modelo ER 12

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

Page 6: BD2 Modelo ER 12

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.

Page 7: BD2 Modelo ER 12

Base d

e D

ato

s

7

Conjunto de relaciones (cont)

Page 8: BD2 Modelo ER 12

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

Page 9: BD2 Modelo ER 12

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.

Page 10: BD2 Modelo ER 12

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.

Page 11: BD2 Modelo ER 12

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

Page 12: BD2 Modelo ER 12

Base d

e D

ato

s

12

Restricciones y Cardinalidad

Uno a uno Uno a muchos

Muchos a uno Muchos a muchos

Page 13: BD2 Modelo ER 12

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

Page 14: BD2 Modelo ER 12

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

Page 15: BD2 Modelo ER 12

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.

Page 16: BD2 Modelo ER 12

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

Page 17: BD2 Modelo ER 12

Base d

e D

ato

s

17

Diagrama E-R con varios tipos de

atributos

Page 18: BD2 Modelo ER 12

Base d

e D

ato

s

18

Diagrama E-R con conjunto de relaciones

con atributos

Page 19: BD2 Modelo ER 12

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.

Page 20: BD2 Modelo ER 12

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.

Page 21: BD2 Modelo ER 12

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.

Page 22: BD2 Modelo ER 12

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

Page 23: BD2 Modelo ER 12

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

Page 24: BD2 Modelo ER 12

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

Page 25: BD2 Modelo ER 12

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

Page 26: BD2 Modelo ER 12

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

Page 27: BD2 Modelo ER 12

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.

Page 28: BD2 Modelo ER 12

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

Page 29: BD2 Modelo ER 12

Base d

e D

ato

s

29

Especialización (cont)

E-R Extendido

Otra Notación

d

Page 30: BD2 Modelo ER 12

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

Page 31: BD2 Modelo ER 12

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

Page 32: BD2 Modelo ER 12

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

Page 33: BD2 Modelo ER 12

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

Page 34: BD2 Modelo ER 12

Base d

e D

ato

s

34

Restricciones en una

Especialización/Generalización (cont) E-R Extendido

Page 35: BD2 Modelo ER 12

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

Page 36: BD2 Modelo ER 12

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

Page 37: BD2 Modelo ER 12

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

Page 38: BD2 Modelo ER 12

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

Page 39: BD2 Modelo ER 12

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

Page 40: BD2 Modelo ER 12

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

Page 41: BD2 Modelo ER 12

Base d

e D

ato

s

41

Resumen de a notación

Page 42: BD2 Modelo ER 12

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

Page 43: BD2 Modelo ER 12

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.

Page 44: BD2 Modelo ER 12

Base d

e D

ato

s

44

Representación tabular del conjunto de

entidades (cont)

Entidades Fuertes -

Page 45: BD2 Modelo ER 12

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}

Page 46: BD2 Modelo ER 12

Base d

e D

ato

s

46

Representación tabular del conjunto de

entidades (cont)

Entidades Débiles -

Page 47: BD2 Modelo ER 12

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}

Page 48: BD2 Modelo ER 12

Base d

e D

ato

s

48

Representación tabular del conjunto de

los conjuntos de relaciones (cont)

Page 49: BD2 Modelo ER 12

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

Page 50: BD2 Modelo ER 12

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)

Page 51: BD2 Modelo ER 12

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)

Page 52: BD2 Modelo ER 12

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)

Page 53: BD2 Modelo ER 12

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

Page 54: BD2 Modelo ER 12

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)

Page 55: BD2 Modelo ER 12

Base d

e D

ato

s

55