Está en la página 1de 100

Diseo de Bases de Datos

2. Modelo Entidad-Relacin
Objetivos:

Conocer los conceptos y notacin del modelo conceptual de datos entidad-relacin extendido. Comprender los significados del concepto de nulo en el modelo entidad-relacin extendido.

Contenidos:
1. Introduccin e historia del modelo

2. Conceptos bsicos del modelo


3. Extensiones del modelo
1

Modelo Entidad-Relacin
Bibliografa
[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. Diseo 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. Addison-Wesley. (Cap. 5) [SKS 1998] Silberschatz, A;Korth, H; Sudarshan, S. Fundamentos de Bases de Datos. 3 edicin. Madrid: McGraw-Hill. (Cap. 2)
2

2.1. Introduccin e historia del modelo Entidad-Relacin


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 difusin

Muy extendido en los mtodos de diseo de bases de datos Soportado por herramientas software de diseo (CASE)
3

2.1. Introduccin e historia del modelo Entidad-Relacin

En el proceso de diseo...
Requisitos de datos

DISEO CONCEPTUAL

Esquema Conceptual

MER
4

2.1. Introduccin e historia del modelo Entidad-Relacin

Esquema conceptual

Descripcin concisa de los requisitos de informacin de los usuarios

Descripciones detalladas de

TIPOS DE DATOS RELACIONES ENTRE DATOS RESTRICCIONES que los DATOS deben cumplir

Sin detalles de implementacin


Ms fcil de entender Comunicacin con el usuario no tcnico


5

2.2. Conceptos bsicos del modelo


Entidad ( entity ) Atributo ( attribute ) Dominio ( values set ) Relacin ( relationship )

2.2. Conceptos bsicos del modelo

ENTIDAD

Cosa u objeto del mundo real con existencia propia y distinguible del resto Objeto con existencia...

fsica 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 inters para la empresa (ANSI, 1977)
7

2.2. Conceptos bsicos del modelo

ATRIBUTO

Propiedad o caracterstica de una entidad Una entidad particular es descrita por los valores de sus atributos: titulo = El alquimista impaciente genero = Thriller p1 nacionalidad = Espaa aoestreno = 2002 ... e1 dni = 87654321 nss = 1122334455 nombre = Cristina Aliaga Gil nacionalidad = Espaa ...

2.2. Conceptos bsicos del modelo


TIPO DE ENTIDAD (entity set)

Define un conjunto de entidades que poseen los mismos atributos


PELICULA: titulo, genero, nacionalidad, aoestreno,numcopias EMPLEADO: dni, nss, nombre, fechanacim, direccion, telefono, altura, nacionalidad, edad Notacin EMPLEADO
CLIENTE

PELICULA
LOCAL VIDEOCLUB

DIRECTOR ACTOR
9

2.2. Conceptos bsicos del modelo


Instancia de un tipo de entidad

Tambin...

PELICULA

Ocurrencia Realizacin p2 Ejemplar Entidad concreta o individual


titulo = Amores perros genero = Drama nacionalidad = Mjico aoestreno = 1999 ...

titulo = El seor de los anillos genero = Fantasa nacionalidad = EEUU aoestreno = 2001 ...
titulo = Amelie genero = Comedia nacionalidad = Francia aoestreno = 2001 ...
10

p3

p4

2.2. Conceptos bsicos del modelo

Intensin y Extensin

Un tipo de entidad describe el esquema o intensin para un conjunto de entidades que poseen la misma estructura EMPLEADO: dni, nss, nombre, direccin, telefono, altura, fechanacim, nacionalidad, edad Las instancias del tipo de entidad se agrupan en un conjunto de entidades o extensin
e1 (87654321, 1122334455, Cristina Aliaga Gil, Libertad, 2. Yecla. Murcia. 30510, 968100200, 160, 28/07/1979, Espaa, 23) e2 (12345678, 6677889900, Antonio Gil Snchez, Paz, 5. Murcia. Murcia.30012, 968111222, 176, 14/04/1944, Espaa, 58) e3 (11223344, 1234567890, Julia Sauce, Justicia, 20. Yecla. Murcia. 30510, 968000222, 159, 23/05/1947, Espaa, 55) ...

11

2.2. Conceptos bsicos del modelo

Tipos de atributos

Simples o Compuestos Almacenados o Derivados Monovalorados o Multivalorados Opcionales

12

2.2. Conceptos bsicos del modelo


Atributos Simples o Compuestos

Atributos compuestos

Pueden dividirse en otros con significado propio fechanacim direccion

dia mes

ao

calle ciudad provincia codpostal

Valor compuesto = concatenacin de valores de componentes

Atributos simples

No divisibles. Atmicos

genero
13

2.2. Conceptos bsicos del modelo


Atributos Almacenados o Derivados

Atributos derivados

Valor calculado a partir de otra informacin ya existente (atributos, entidades relacionadas) Son informacin redundante... edad [de EMPLEADO], clculo a partir de fechanacim
atributo derivado del valor de otro atributo numcopias [de una PELICULA], cuenta del nmero de entidades COPIA relacionadas con cada pelcula concreta atributo derivado de entidades relacionadas

Atributos almacenados
fechanacim [de cada EMPLEADO] nacionalidad [de una PELICULA]
14

2.2. Conceptos bsicos del modelo


Atributos Monovalorados o Multivalorados

Atributos monovalorados (monovaluados)

slo un valor para cada entidad fechanacim [de un EMPLEADO particular] aoestreno [de cada PELICULA concreta]

Atributos multivalorados (multivaluados)

ms de un valor para la misma entidad nacionalidad [ PELICULA coproducida por varios pases ] telefono [ EMPLEADO con varios telfonos de contacto] pueden tener lmites superior e inferior del nmero de valores por entidad nacionalidad (1-2) telefono (0-3)
15

2.2. Conceptos bsicos del modelo


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 ningn valor aplicable para el atributo: fechaalquiler [PELICULA slo en vdeo-venta (no alquiler)]

16

2.2. Conceptos bsicos del modelo

Notacin para atributos


[EN2002]
calle fechanacim nombre nss ciudad provincia codpostal direccin EMPLEADO
(0,3) (0,1)

[MPM1999]
calle ciudad provincia codpostal fechanacim direccin (0,3) nombre telefono EMPLEADO altura
D (1,2)

telefono altura

(1,2)

dni

edad

nacionalidad

nss dni edad

nacionalidad

17

2.2. Conceptos bsicos 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 Notacin EMPLEADO EMPLEADO
dni dni

[EN2002]

[MPM1999]
18

2.2. Conceptos bsicos del modelo

Atributos Clave (ii)

Una clave puede estar formada por varios atributos clave compuesta

Combinacin de valores distinta para cada instancia (nombre, fechanacim) en el tipo de entidad EMPLEADO Una clave compuesta debe ser mnima

Un tipo de entidad puede tener ms de una clave claves candidatas


Claves o Identificadores Candidatos de EMPLEADO:

dni nss (nombre, fechanacim)


19

2.2. Conceptos bsicos del modelo

Atributos Clave (iii)

Atributo identificador principal (IP)

Clave Principal Elegido (por el diseador) de entre los identificadores candidatos (IC), para ser el medio principal de identificacin de las instancias del tipo de entidad dni en EMPLEADO

Atributos identificadores alternativos (IA)


Claves Alternativas El resto de ICs nss y (nombre, fechanacim) en EMPLEADO


20

2.2. Conceptos bsicos del modelo


Notacin para atributos clave
[EN2002]
calle fechanacim n-f nombre ciudad provincia codpostal direccin EMPLEADO nss
IP (0,3) (0,1)
(1,2)

[MPM1999]
calle ciudad provincia codpostal fechanacim direccin (0,3) nombre telefono EMPLEADO altura n-f nss
D
(1,2)

telefono altura

nacionalidad edad

dni

dni edad

nacionalidad

En el MER es obligatorio que todo tipo de entidad tenga un identificador

21

2.2. Conceptos bsicos del modelo


DOMINIO (values set)

Conjunto de valores Cada atributo simple est asociado a un dominio, que especifica sus valores vlidos
Dominio Descripcin Dominio cadenas de hasta 30 caracteres alfabticos nmeros reales entre 0 y 25 (metros) ...
nombre NOMBRES TELEFONOS MEDIDAS
22

Atributo

nombre NOMBRES altura


... MEDIDAS ...

telefono TELEFONOS cadenas de hasta 9 caracteres numricos

No suele representarse, aunque una forma de hacerlo sera:

EMPLEADO telefono

[MPM1999]

altura

2.2. Conceptos bsicos del modelo

RELACIN (relationship)

Tambin interrelacin Asociacin, vnculo o correspondencia entre instancias de entidades relacionadas de alguna manera en el mundo real

el director Alejandro Amenbar ha rodado la pelcula Mar adentro el empleado 87654321 trabaja en el local de videoclub principal la pelcula El imperio contraataca es una continuacin de la pelcula La guerra de las galaxias
23

DIRECTOR

HA_RODADO
Instancia del tipo de relacin

PELICULA

Vacas Tesis Belle Epoque Torrente Tierra Abre los ojos Los otros

J. Mdem C. Saura F. Trueba S. Segura A. Amenbar

Tipo de Entidad: conjunto de instancias

Tipo de Relacin: conjunto de instancias


24

2.2. Conceptos bsicos del modelo


TIPO DE RELACIN (relationship set)
Estructura genrica o abstraccin del conjunto de relaciones existentes entre dos o ms tipos de entidad
un DIRECTOR ha rodado PELICULAs

Notacin
DIRECTOR HA_RODADO PELICULA

25

2.2. Conceptos bsicos del modelo

Grado de un tipo de relacin

Nmero de tipos de entidad que participan en el tipo de relacin Binaria: grado 2 (el ms frecuente) Ternaria: grado 3 Reflexiva (o recursiva): grado 1
ACTOR ACTUA_EN PELICULA

CLIENTE CONTINUACION DE PELICULA

ALQUILA

PELICULA

LOCAL_VIDEOCLUB
26

2.2. Conceptos bsicos del modelo

Nombres de Rol (papel)

Todo tipo de entidad que participa en un tipo de relacin juega un papel especfico en la relacin
DIRECTOR realizador HA_RODADO film PELICULA

Los nombres de rol se deben usar, sobre todo, en los tipos de relacin reflexivos, para evitar ambigedad
original VERSION_DE versin PELICULA
27

2.2. Conceptos bsicos del modelo


Restricciones estructurales sobre tipos de relacin

Limitan las posibles combinaciones de entidades que pueden participar en las relaciones Extradas de la situacin real que se modela
Una pelcula debe haber sido dirigida por uno y slo un director Un director ha dirigido al menos una pelcula y puede haber dirigido muchas

Clases de restricciones estructurales:


Razn de cardinalidad (o tipo de correspondencia) Razn de participacin


28

2.2. Conceptos bsicos del modelo


Razn de Cardinalidad Notacin EN2002

Nmero mximo de instancias de tipo de relacin 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

DIRECTOR

Notacin

1
HA_RODADO

etiqueta en la lnea que une entidad y relacin Ojo: da la sensacin de que se representa al revs

N
PELICULA

29

2.2. Conceptos bsicos del modelo


Razn de Cardinalidad Notacin EN2002

Razones de cardinalidad ms comunes: 1:1 (uno a uno) 1:N (uno a muchos) 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
30

2.2. Conceptos bsicos del modelo


Razn de Cardinalidad Notacin [MPM1999]

Nmero mximo de instancias de un tipo de entidad que pueden estar relacionadas con una instancia del otro tipo de entidad Notacin

Etiqueta (1:1, 1:N, M:N) junto al tipo de relacin, o Flecha en sentido ... a N
trabajador EMPLEADO encargado SUPERVISA sucursal lugar trabajo LOCAL_VIDEOCLUB

ACTOR M:N ACTUA_EN

1:1

TRABAJA_EN

1:N

PELICULA
31

2.2. Conceptos bsicos del modelo


Razn de Cardinalidad Notacin [SKS1998]

Nmero mximo de instancias de un tipo de entidad a las que otra instancia puede estar asociada, va un conjunto de relaciones Notacin

flecha en el sentido ... a 1


trabajador EMPLEADO encargado SUPERVISA sucursal lugar trabajo LOCAL_VIDEOCLUB

ACTOR

TRABAJA_EN

ACTUA_EN PELICULA

32

2.2. Conceptos bsicos del modelo


Razn de Participacin Notacin [EN2002]

Especifica si toda la extensin de un tipo de entidad participa en un tipo de relacin, o slo parte de la extensin Indica si hay dependencia en existencia de un tipo de entidad respecto de un tipo de relacin Clases de participacin:

Participacin total (dependencia en existencia) Participacin parcial


33

3.2. Conceptos bsicos del modelo


Razn de Participacin (ii)

[EN2002]

Notacin

Lneas dobles o simples


EMPLEADO encargado 1 SUPERVISA sucursal N LOCAL_VIDEOCLUB

DIRECTOR
1

ACTOR personaje M ACTUA_EN N film PELICULA

trabajador 1 TRABAJA_EN 1 lugar trabajo

HA_ RODADO
N

PELICULA

34

2.2. Conceptos bsicos del modelo


Cardinalidad de tipo de entidad

Otra forma de expresar las razones de cardinalidad y participacin


PERSONA USA POSEE EDIFICIO PERSONA POSEE
e1
e2

PERSONA USA
p1

EDIFICIO

EDIFICIO
e1
e2

p1

p2 e3 p3 e4

p2 e3 p3 e4
35

2.2. Conceptos bsicos del modelo


Cardinalidad de tipo de entidad Notacin [EN2002]

Nmeros mnimo y mximo de instancias del tipo de relacin en las que puede intervenir una instancia del tipo de entidad Notacin

(min, max) en la lnea que une entidad y relacin


(1,n) PERSONA (0,n) USA POSEE (0,m) (1,1) EDIFICIO

36

2.2. Conceptos bsicos del modelo


Cardinalidad de tipo de entidad (iii)
1 TRABAJA_EN 1 EMPLEADO 1 SUPERVISA N LOCAL_VIDEOCLUB

[EN2002]
ACTOR M ACTUA_EN N PELICULA

(1,1) TRABAJA_EN (1,1)

EMPLEADO (0,n) SUPERVISA (1,1) LOCAL_VIDEOCLUB

ACTOR (1,n) ACTUA_EN (0,m) PELICULA


37

2.2. Conceptos bsicos del modelo


Cardinalidad de tipo de entidad Notacin MPM1999]

Nmeros mnimo y mximo de instancias de un tipo de entidad que pueden estar relacionadas con una instancia del otro tipo de entidad Notacin

(min, max) en la lnea que une entidad y relacin


PERSONA

(0,m)
(1,1)

USA POSEE

(1,n)
(0,n)

EDIFICIO

38

2.2. Conceptos bsicos del modelo


Cardinalidad de tipo de entidad (v)

Comparacin de notaciones
PERSONA EDIFICIO POSEE
p1 e1 e2 p2 e3

[EN2002]
PERSONA

(0,n)

POSEE

(1,1)

EDIFICIO

POSEE ( PERSONA(0,n) : EDIFICIO(1,1) )

[MPM1999]
PERSONA
(1,1) POSEE (0,n) EDIFICIO
p3

e4

POSEE( PERSONA(1,1) : EDIFICIO(0,n) )

En toda notacin, la cardinalidad de una entidad es la etiqueta de la lnea que la une a la 39 relacin

Cardinalidad de tipo de entidad


Comparacin de notaciones (ii) [EN2002]
EMPLEADO 1
SUPERVISA

LOCAL VIDEOCLUB

1:N

[MPM1999]

EMPLEADO

(1,1)

SUPERVISA

LOCAL (0,n) VIDEOCLUB

[SKS1998]

EMPLEADO

SUPERVISA

LOCAL VIDEOCLUB
40

Cardinalidad de tipo de entidad


Cardinalidad de tipos de entidad recursivos
[EN2002]
superior (0,n) subalterno EMPLEADO (0,1) N 1
JEFE DE

continuacin (0,1) PELICULA

precuela (0,1)

SECUELA DE

1:1

[MPM1999]
versin (0,n) PELICULA original (0,1)
VERSIONA

N:1

41

Atributos de tipos de relacin


[EN2002]
horas EMPLEADO 1 SUPERVISA N LOCAL_VIDEOCLUB papel salario (1,n) PELICULA
42

1 TRABAJA_EN 1

fechainicio

[MPM1999]
ACTOR (0,m)

M:N
ACTUA_EN

2.2. Conceptos bsicos del modelo

Atributos de tipos de relacin (ii)

Conceptualmente pertenecen a la relacin


Un atributo de una M:N es propio de la relacin Un atributo de una 1:1 o 1:N se puede llevar a uno de los tipos de entidad participantes
1 horas TRABAJA_EN 1 EMPLEADO 1 SUPERVISA N LOCAL_VIDEOCLUB fechainicio horas

fechainicio

[EN2002]

horas
43

2.2. Conceptos bsicos del modelo


Tipo de Entidad Dbil Notacin [EN2002]

No tiene atributos clave propios Una instancia se identifica por su relacin con una instancia de otro tipo de entidad

Tipo de relacin identificador

Relaciona un tipo de entidad dbil y un tipo de entidad regular (fuerte, dominante, padre, propietaria)

Clave parcial (o discriminante)

Atributos de la entidad dbil, 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)


COPIA
44

Notacin

2.2. Conceptos bsicos del modelo

Tipo de entidad dbil (ii) [EN2002]


nss PACIENTE 1 ACUDE N VISITA_MEDICA N ASISTIDA POR 1 MEDICO especialidad ncolegiado nombre Clave parcial o Discriminante diahora Tipo de Entidad Regular Tipo de Relacin Identificador PELICULA 1 TIENE N COPIA numcopia titulo

Dependencia en existencia
45

2.2. Conceptos bsicos del modelo


Tipo de entidad dbil (iii) [EN2002]

No toda participacin total (o dependencia en existencia) implica un tipo de entidad dbil


EMPLEADO 1 POSEE N PERMISO CONDUCCION numlicencia tipo dni

PERMISO_CONDUCCIN no es dbil: depende en existencia de EMPLEADO, pero tiene clave primaria propia
46

Tipo de entidad dbil (iv)


Notacin [MPM1999]

Definicin distinta de tipo de entidad dbil

La existencia de una instancia del tipo de entidad dbil depende de la existencia de una instancia del tipo de entidad regular

Tipo de relacin dbil (o dependencia)

Relaciona un tipo de entidad dbil y otro regular

Clases de dependencia:

En existencia En identificacin

47

2.2. Conceptos bsicos del modelo


Tipo de entidad dbil (v)

[MPM1999]
( entre

Dependencia en existencia

entidades) Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad dbil que dependen de ella Etiqueta E en el tipo de relacin dbil

Dependencia en identificacin

Adems de la dependencia en existencia... Una instancia del tipo de entidad dbil no se puede identificar por s misma Su clave es (clave_entidad_regular, clave_parcial) Etiqueta ID en el tipo de relacin dbil

48

2.2. Conceptos bsicos del modelo


Tipo de entidad dbil (vi)
dni EMPLEADO E POSEE Tipo de Relacin Dbil 1:N

[MPM1999]
PELICULA ID TIENE numcopia titulo

1:N numlicencia tipo

PERMISO CONDUCCION

COPIA idcopia

PERMISO_CONDUCCION es dbil, pues depende en existencia de EMPLEADO, pero no depende en identificacin

COPIA es dbil, pues depende en existencia de PELICULA, y tambin depende en identificacin


49

Tipo de entidad dbil (vii)


Comparacin de conceptos y notacin

[EN2002]
CLIENTE 1 POSEE N PRESTAMO numprestamo dni

[MPM1999]
CLIENTE (1,1) E POSEE (0,n) PRESTAMO numprestamo 1:N dni

Dependencia en existencia

50

Tipo de entidad dbil (viii)


Comparacin de conceptos y notacin (ii)
[EN2002]
PRESTAMO 1 TIENE N PAGO numpago 1:1 numprestamo

[MPM1999]
PRESTAMO (1,1) ID TIENE (0,n) PAGO numprestamo

numpago idpago

Dependencia en identificacin

Entidad Dbil de otra entidad dbil

51

Tipo de entidad dbil (ix)


Comparacin de conceptos y notacin (iii)
[EN2002]
ACTOR M ACTUA_EN N PELICULA titulo nombre

[MPM1999]
ACTOR (0,m) ACTUA_EN (1,n) PELICULA M:N titulo nombre

Participacin total
52

Tipos de relacin con grado superior a dos

[EN2002]
CLIENTE

[MPM1999]
CLIENTE

(0,n)
ALQUILA fecha (0,m) LOCAL VIDEOCLUB

(0,1)

(1,1)
CINTA VIDEO fecha ALQUILA

(1,n)

(1,1)
LOCAL VIDEOCLUB

CINTA VIDEO

Cardinalidad de los tipos de entidad


53

Tipos de relacin con grado superior a dos (ii)


Equivalencia ternaria varias binarias
[EN2002]
(0,n)
CLIENTE CLIENTE fecha
ALQUILA

(0,n)
ALQUILA

(0,1)

(1,m)
CINTA VIDEO
ALQUILA_EN

(0,1)
CINTA VIDEO

fecha

(0,m)
LOCAL VIDEOCLUB

(1,n)
LOCAL VIDEOCLUB

(1,1) (1,n)
CONTIENE

54

Tipos de relacin con grado superior a dos (iii)


[EN2002]
PROVEEDOR cantidad idprov codpr PROVEEDOR

(1,n) (1,m)
PROVEE

PUEDE SUMINISTRAR

(1,n)
SUMINISTRA

(0,m)
PRODUCTO

(1,m)
PRODUCTO

fecha

(1,p)
TIENDA nombre

(1,n)
TIENDA

(0,n)
VENDE

(1,m)

Prdida de semntica...

55

Tipos de relacin con grado superior a dos (iv)

Solucin tpica: coexistencia ternaria/binarias [EN2002]


idprov PROVEEDOR

(1,n)

PUEDE SUMINISTRAR

(1,m)
PROVEE

(1,n)
SUMINISTRA

(0,m)
cantidad fecha

(1,m)
PRODUCTO

codpr

(1,n)
TIENDA nombre

(1,p)

(0,n)
VENDE

(1,m)

56

Tipos de relacin con grado superior a dos (v)

Otra solucin: relacin ternaria como entidad dbil (Entidad Asociativa) [EN2002] cantidad fecha
(1,1)
REALIZA

(1,n)
PROVEEDOR idprov

SUMINISTRO

(1,1)

CONTIENE

(0,n)
PRODUCTO codpr

(1,1)
RECIBE

(1,n)
nombre TIENDA

57

Tipos de relacin con grado superior a dos (vi)

Relaciones ternarias falsas


idemp EMPRESA dni

[EN2002]

(0,n)
num

REALIZA

(0,m)

CANDIDATO

(1,1)
ENTREVISTA

(0,1)

fecha

GENERA

(1,1)

OFERTA EMPLEO idoferta

Tipo de entidad dbil de ms de un tipo de entidad


58

2.3. Extensiones del modelo


Modelo Entidad-Relacin Extendido, MERE
Enhanced Entity-Relationship model, EER

Aportaciones de diversos autores al modelo Entidad-Relacin bsico. Permiten representar...


Relaciones exclusivas entre s Jerarquas de Especializacin/Generalizacin Agregacin de entidades

59

2.3. Extensiones del modelo

Relaciones Exclusivas

Dos (o ms) tipos de relacin son exclusivos, respecto de un tipo de entidad que participa en ambos, si cada instancia del tipo de entidad slo puede participar en uno de los tipos de relacin
VEHCULO

CONSUME

GASTA

GASOIL

GASOLINA

CONSUME y GASTA son exclusivas respecto del tipo de entidad VEHICULO


60

2.3. Extensiones del modelo

Especializacin/Generalizacin (E/G)

Caso especial de relacin entre un tipo de entidad y varios otros tipos de entidad La jerarqua o relacin que se establece entre uno y otros corresponde a la nocin de es_un o de es_un_tipo_de Estas jerarquas pueden formarse por especializacin o bien por generalizacin

61

2.3. Extensiones del modelo

E/G: Subtipo de un tipo de entidad

Agrupacin de instancias dentro de un tipo de entidad, que debe representarse explcitamente debido a su importancia para el diseo o aplicacin

Subtipos del tipo de entidad VEHCULO:


CAMIN TURISMO AUTOBS CICLOMOTOR SECRETARIO GERENTE COMERCIAL

Subtipos del tipo de entidad EMPLEADO:


El tipo de entidad que se especializa en otros se llama 62 supertipo ( VEHICULO, EMPLEADO )

2.3. Extensiones del modelo

E/G: Relacin Supertipo/Subtipo

Es la relacin que se establece entre un supertipo y cada uno de sus subtipos (nocin es_un o es_un_tipo_de) EMPLEADO Notacin:
SECRETARIO

EMPLEADO

[EN2002]

GERENTE

COMERCIAL

SECRETARIO

GERENTE

COMERCIAL

EMPLEADO
ES

[SKS1998]

[MPM1999]
SECRETARIO

GERENTE

COMERCIAL

63

2.3. Extensiones del modelo


E/G: Relacin Supertipo/Subtipo (ii)
La extensin de un subtipo es un subconjunto de la extensin del supertipo Una instancia de subtipo tambin es instancia del supertipo y es la misma instancia, pero con un papel especfico distinto Una instancia no puede existir slo por ser miembro de un subtipo: tambin debe ser miembro del supertipo Una instancia del supertipo puede no ser miembro de ningn subtipo VEHCULO
EMPLEADO_HOSPITAL

CAMIN

TURISMO

CICLOMOTOR MDICO CELADOR ENFERMERO LIMPIADOR


64

2.3. Extensiones del modelo

E/G: Herencia de tipo


Un subtipo puede tener atributos propios (especficos) y participar en relaciones por separado Un subtipo hereda todos los atributos del supertipo, y toda relacin en la que participa el supertipo
Un subtipo, con sus atributos y relaciones especficos, ms los atributos y relaciones que hereda del supertipo, es un tipo de entidad por derecho propio
numBastidor precio
VEHCULO

(1,n)

FABRICA

(1,1)

FABRICANTE

N:1 (1,1) ID
LLEVA

[MPM1999]
CAMIN TURISMO MOTOCICLETA

(0,1)
SIDECAR

numEjes

tonelaje numPuer

numPlazas

cilindrada 1:1

65

2.3. Extensiones del modelo

E/G: Especializacin

Proceso de definicin de un conjunto de subtipos de un tipo de entidad ( supertipo) Subtipos suelen estar definidos segn caracterstica distintiva de las entidades del supertipo

Discriminante de la especializacin
EMPLEADO

[MPM1999]

actividad
SECRETARIO GERENTE COMERCIAL

66

2.3. Extensiones del modelo


E/G: Especializacin (ii)

Varias especializaciones de un tipo de entidad, con base en diferentes discriminantes


VEHCULO

[MPM1999]

motorS/N

tipo

VEHCULO_A_MOTOR

VEHCULO_SIN_MOTOR

CAMIN TURISMO

MOTOCICLETA

PELCULA

gnero

color

[EN2002]

DRAMA TERROR

COMEDIA

BLANCO_Y_NEGRO

COLOR 67

2.3. Extensiones del modelo


E/G: Especializacin (iii)

Conviene incluir relaciones subtipo/supertipo si hay...

Atributos que slo tienen sentido para algunas instancias de un tipo y no para todas (atributos especficos) especialidadMdica no es aplicable a CELADOR Tipos de relacin en los que slo participan algunas entidades de un tipo y no todas (relaciones especficas) Relacin SUPERVISA entre CELADOR y SECCIN_HOSPITAL
1:1

[MPM1999]

CELADOR

(1,1)

SUPERVISA

(1,1)

SECCIN_HOSPITAL

68

3.3. Extensiones del modelo

E/G: Generalizacin
Proceso inverso de la especializacin Suprimir diferencias entre varios tipos de entidad: identificar atributos y relaciones comunes, y formar un supertipo que los incluya
numBastidor precio
CAMIN

fechaFab

numBastidor precio

VEHCULO fechaFab

numEjes numBastidor precio

tonelaje fechaFab

G
numPuer

CAMIN

TURISMO

numEjes
TURISMO

tonelaje

numPuer

[EN2002]
69

2.3. Extensiones del modelo

E/G: Generalizacin vs. Especializacin

Generalizacin

nfasis en las similitudes Cada instancia del supertipo es tambin una instancia de alguno de los subtipos

Especializacin

nfasis en las diferencias Alguna instancia del supertipo puede no ser instancia de ningn subtipo
70

2.3. Extensiones del modelo

Restricciones sobre la E/G

Definicin
Qu instancias del supertipo pertenecen a cada subtipo?

Disyuncin/Solapamiento
A cuntos subtipos puede pertenecer (a la vez) una instancia del supertipo?

Completitud/Parcialidad
Debe toda instancia del supertipo pertenecer a algn subtipo?

71

2.3. Extensiones del modelo


Restricciones sobre la E/G: Definicin

Subtipos definidos por predicado o condicin

Condicin de pertenencia a cada subtipo con base en el valor de algn atributo del supertipo Restriccin que especifica que... Las instancias del subtipo deben satisfacer la condicin Todas las instancias del supertipo que cumplen la condicin, deben pertenecer al subtipo
PERSONA

[EN2002]
matriculado=true
ESTUDIANTE

estadoLaboral=en_activo
EMPLEADO

72

2.3. Extensiones del modelo


Restricciones sobre la E/G: Definicin (ii)
Subtipos definidos por atributo
Todas las subclases definen la condicin de pertenencia en trminos del mismo atributo ... es el discriminante de la especializacin
PERSONA
EMPLEADO_HOSPITAL

estadoLaboral en_activo
EMPLEADO

claseTrabajo mdico
MDICO

en_paro
PARADO

celador

enfermero

limpiador
LIMPIADOR

CELADOR

ENFERMERO

[EN2002]

[MPM1999]
73

2.3. Extensiones del modelo


Restricciones sobre la E/G: Definicin (iii)

Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicin de pertenencia a los subtipos El usuario, al insertar una instancia, elige a qu subtipo pertenece
PROFESOR

[MPM1999]

TITULAR

AYUDANTE

ASOCIADO

74

2.3. Extensiones del modelo


Restricciones sobre la E/G:

Disyuncin/Solapamiento

Subtipos disjuntos si una instancia del supertipo puede ser miembro de, como mximo, uno de los subtipos
VEHCULO
VEHCULO

d
TURISMO CAMIN TURISMO CAMIN

[EN2002]

[MPM1999]
75

2.3. Extensiones del modelo


Restricciones sobre la E/G: Disyuncin/Solapamiento (ii)

Subtipos solapados si una instancia del supertipo puede ser, a la vez, miembro de ms de un subtipo Es la opcin por defecto
PERSONA PERSONA

o
EMPLEADO ESTUDIANTE EMPLEADO ESTUDIANTE

[EN2002]

[MPM1999]
76

2.3. Extensiones del modelo


Restricciones sobre la E/G:

Completitud/Parcialidad

Especializacin total (completa) indica que toda instancia del supertipo tambin debe ser instancia de algn subtipo
ANIMAL ANIMAL

d
MACHO HEMBRA HERMAFRODITA MACHO HEMBRA HERMAFRODITA

[EN2002]

[MPM1999]
77

2.3. Extensiones del modelo


Restricciones sobre la E/G: Completitud/Parcialidad (ii)

Especializacin parcial indica que es posible que alguna instancia del supertipo no pertenezca a ninguno de los subtipos Es la opcin por defecto La unin de las extensiones de los subtipos no es la extensin del supertipo en su totalidad
ALIMENTO ALIMENTO

[EN2002]
d
LACTEO FRUTA VERDURA LACTEO FRUTA

[MPM1999]
VERDURA
78

2.3. Extensiones del modelo

E/G: Tipos de Especializacin

Las restricciones de disyuncin y completitud son independientes entre s Dan lugar a 4 tipos de especializacin: Disjunta y Total Disjunta y Parcial Solapada y Total Solapada y Parcial
Lo veremos con un ejemplo de una base de datos de una Universidad

79

2.3. Extensiones del modelo

E/G: Especializacin Disjunta y Total


EMPLEADO claseTrabajo ESTUDIANTE tipo

DOCENTE

ADMON_Y_SERV

BECARIO

BECARIO

NO_BECARIO

Especializacin Disjunta y Parcial


DOCENTE cuerpoDocente AYUDANTE TITULAR CATEDRTICO

[MPM1999]
80

2.3. Extensiones del modelo

E/G: Especializacin Solapada y Total


PERSONA ocupacin

EMPLEADO

ESTUDIANTE

[MPM1999]

Especializacin Solapada y Parcial


EMPLEADO dedicacin DOCENTE INVESTIGADOR
81

2.3. Extensiones del modelo

E/G: Reglas de insercin y eliminacin

Deben aplicarse a la Especializacin y la Generalizacin, debido a las restricciones definidas 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 definicin

Insertar una instancia en un supertipo de una especializacin total implica insertarla en, al menos, un subtipo Y si la especializacin es disjunta, entonces la instancia se insertar en un nico subtipo
82

2.3. Extensiones del modelo


E/G: Reglas de insercin y eliminacin (ii)

Eliminar una instancia de un supertipo implica eliminarla de todos los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo si la especializacin es ... disjunta y total, o bien solapada y total, y la instancia ya slo pertenece al subtipo (se elimin del resto) En el resto de casos, la instancia slo se elimina del subtipo

No del supertipo ( lo hara el usuario, si fuese necesario)


83

2.3. Extensiones del modelo

E/G: Jerarquas y Retculas

Hasta ahora hemos estudiado jerarquas de especializacin en las que se cumple la restriccin: Todo subtipo participa en slo una relacin supertipo/subtipo

Un subtipo tiene un nico supertipo: es el concepto de rbol

En una retcula de especializacin... Un subtipo puede participar en varias relaciones supertipo/subtipo Un subtipo puede tener ms de un supertipo
84

E/G: Ejemplo de Retculas nombre [MPM1999] dni


direccin sexo

PERSONA ocupacin

fechaIni DESEMPLEADO

jornada salario

EMPLEADO

ESTUDIANTE

jornada carrera tipoEstudiante

dedicacin

(1, n) centro cuerpoDocente

DOCENTE

ADMN_Y_SERV puesto

BECARIO beca

NO_BECARIO

CATEDRTICO

TITULAR

NO_NUMERARIO

tipoCtedra

tipoPlaza

duracinContrato

85

2.3. Extensiones del modelo


E/G: Jerarquas y Retculas: Herencia mltiple

En las jerarquas de especializacin Cada subtipo hereda atributos y relaciones... de su (nico) supertipo directo y de sus supertipos predecesores , hasta la raz

TITULAR hereda de DOCENTE, EMPLEADO y PERSONA

En las retculas de especializacin Un subtipo hereda atributos y relaciones... de sus supertipos (mltiples) directos herencia mltiple y de todos sus supertipos predecesores , hasta la raz

BECARIO hereda directamente de EMPLEADO y ESTUDIANTE, e indirectamente hereda de PERSONA Los subtipos compartidos dan lugar a retculas
86

2.3. Extensiones del modelo


E/G: Jerarquas y Retculas: Herencia mltiple (ii)
En herencia mltiple pueden surgir conflictos al heredar atributos distintos denominados igual BECARIO hereda jornada de dos predecesores !! Cmo resolver esta situacin? Renombrar algunos de los atributos en conflicto BECARIO hereda ambos atributos: jornada corresponde a jornada de EMPLEADO y jornadaEstudio corresponde a jornada de ESTUDIANTE Definir un orden de prioridad en la herencia BECARIO hereda jornada de ESTUDIANTE y no de EMPLEADO
87

2.3. Extensiones del modelo


E/G: Jerarquas y Retculas:

Inhibicin de la herencia

Algunos modelos de datos permiten indicar que ciertos atributos del supertipo no deben ser heredados por los subtipos
POLGONO numVrtices ancho PENTGONO TRINGULO RECTNGULO alto

[MPM1999]

CUADRADO

lado

ancho y alto no deberan ser heredados por el subtipo


88

2.3. Extensiones del modelo


E/G: Jerarquas y Retculas:

Redefinicin de atributos heredados

Si un supertipo y un subtipo tienen un atributo con el mismo nombre, se entiende que el atributo del subtipo redefine el del supertipo

Se utiliza el mismo nombre y significado semntico pero se modifica cmo se calcula o cmo se representa el valor del atributo

Tiene sentido sobre todo para atributos derivados


ancho rea RECTNGULO alto rea CUADRADO lado
89

[MPM1999]

2.3. Extensiones del modelo


E/G: Jerarquas y Retculas:

Tratamiento de la herencia
Consideraremos que en el MERE ...
Los subtipos heredan todos los atributos de los supertipos Pero se permite la redefinicin de atributos en los subtipos, y la inhibicin de la herencia de atributos
ancho rea RECTNGULO alto rea CUADRADO lado

[MPM1999]

... y si se da herencia mltiple y existe conflicto de nombres, el usuario elegir entre


Renombrar algunos atributos en conflicto, o Inhibir la herencia de algunos atributos
90

2.3. Extensiones del modelo

Agregacin de tipos de entidad

Restriccin inherente del MER: No puede expresar relaciones entre varias relaciones, ni entre un tipo de relacin y un tipo de entidad La agregacin... Permite combinar varios tipos de entidad , relacionados mediante un tipo de relacin, para formar un tipo de entidad agregada de nivel superior til cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad
91

2.3. Extensiones del modelo


Agregacin de tipos de entidad (ii): Ejemplo 1

Esquema en el MERE que almacena informacin sobre las entrevistas que una ETT organiza entre solicitantes de empleo y diferentes empresas

nombre EMPRESA direccin


(1,n) M

[EN2002]
ENTREVISTA_A fecha nomContacto
(1,m) N

nif

SOLICITANTE nombre telef

telefContacto

Algunas entrevistas dan lugar a ofertas de empleos y otras no cmo modelamos esto?
92

2.3. Extensiones del modelo


Agregacin de tipos de entidad (iii): Ejemplo 1

Solucin 1: Relacin ternaria


EMPRESA ENTREVISTA_A OFERTA_EMPLEO SOLICITANTE

[EN2002]

ERROR!

Toda entrevista da lugar a un empleo


ESO ES FALSO!
93

2.3. Extensiones del modelo


Agregacin de tipos de entidad (iv): Ejemplo 1

Solucin 2:
EMPRESA ENTREVISTA_A

[EN2002]
SOLICITANTE

RESULTA_EN OFERTA_EMPLEO

ERROR!

NO es posible establecer una relacin entre varias relaciones, ni entre relaciones y entidades

94

2.3. Extensiones del modelo


Agregacin de tipos de entidad (v): Ejemplo 1

Solucin 3:

EMPRESA ENTREVISTA

ENTREVISTA_A

SOLICITANTE

Entidad COMPUESTA o AGREGADA

RESULTA_EN

[EN2002]

OFERTA_EMPLEO

OK!

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN


95

2.3. Extensiones del modelo


Agregacin de tipos de entidad (vi): Ejemplo 1

[EN2002]

Solucin 4: Relacin ternaria falsa


nombre EMPRESA nif

(0,n)

REALIZA

(0,m)

SOLICITANTE

(1,1)
fecha ENTREVISTA

(0,1)

GENERA

(1,1)

OFERTA EMPLEO idOferta

nomContacto

telefContacto

Tipo de entidad dbil de otros dos Qu significa que ENTREVISTA tenga fecha como clave parcial?
96

2.3. Extensiones del modelo


Agregacin de tipos de entidad (vii): Ejemplo 1
Solucin 5:
nombre EMPRESA nif SOLICITANTE

[EN2002]

(0,n)
REALIZA

(1,1)

fech a ENTREVISTA

(1,1)
(1,1)

(0,m)
SUFRE

(0,1)
GENERA

OFERTA EMPLEO

idOferta

Tipo de entidad dbil de otros dos


97

2.3. Extensiones del modelo


Agregacin de tipos de entidad (viii): Ejemplo 2
Esquema en el MERE que almacena informacin acerca de profesores y las asignaturas que stos imparten, as como los diversos medios que utilizan para impartir cada asignatura (pizarra, transparencias, etc.)
PROFESOR
M

EXPLICA
M

ASIGNATURA

UTILIZA
N

MEDIO

[EN2002]

ERROR! no es posible establecer una relacin entre una relacin y una entidad
98

2.3. Extensiones del modelo


Agregacin de tipos de entidad (ix): Ejemplo 2

Solucin:

[EN2002]
M N

PROFESOR

EXPLICA M

ASIGNATURA

EXPLICACIN
Entidad COMPUESTA o AGREGADA

UTILIZA N MEDIO
99

MER : AGREGACIN

AGREGACIN COMPUESTO / COMPONENTE:


Un todo se obtiene por la unin de diversas partes, que pueden ser objetos distintos y que desempean papeles distintos en la agregacin.
COCHE [MPM99] (4,4) RUEDA (1,1) CHASIS

(1,1) MOTOR

AGREGACIN COLECCIN / MIEMBRO :


Un todo se obtiene por la unin de diversas partes del mismo tipo y que desempean el mismo papel en la agregacin. Se puede establecer orden entre las partes
BOSQUE ARBOL FLOTA
{NumBarco}

BARCO
100

También podría gustarte