• No se han encontrado resultados

3. Modelo Entidad-Relación

N/A
N/A
Protected

Academic year: 2022

Share "3. Modelo Entidad-Relación"

Copied!
55
0
0

Texto completo

(1)

Objetivos:

3. Modelo Entidad-Relación

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

1. Introducción e historia del modelo 2. Conceptos básicos del modelo 3. Extensiones del modelo

• Modelo de datos conceptual de alto nivel

• Propuesto por Peter P Chen en 1976

3.1. Introducción e historia del modelo Entidad- Relación

• Propuesto por Peter P. Chen en 1976

– Extensiones/aportaciones de muchos otros autores

» No existe un único MER, sino una FAMILIA DE MODELOS

• Es un modelo semántico, surge por la necesidad de tener un modelo más cercano al usuario

• Describe el “mundo real” como un conjunto de

2

ENTIDADES y de RELACIONES entre ellas

• Gran difusión

– Muy extendido en los métodos de diseñode bases de datos – Soportado por herramientas softwarede diseño(CASE)

(2)

• Descripción concisa de los requisitos de

i f d l i

Esquema conceptual

3.1. Introducción e historia del modelo Entidad-Relación

información de los usuarios – Descripciones detalladas de

• TIPOS DE DATOS

• RELACIONES ENTRE DATOS

• RESTRICCIONES que los DATOS deben cumplir

Si d t ll d i l t

3

• Sin detalles de implementación – Más fácil de entender

– Comunicación con el usuario no técnico

3.2. Conceptos básicos del modelo

• Entidad ( tit )

• Entidad ( entity )

• Atributo ( attribute )

• Dominio ( values set )

• Relación ( relationship )

4

(3)

ENTIDAD

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

3.2. Conceptos básicos del modelo

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)

5

• “Persona, lugar, cosa, concepto o suceso, real o abstracto, de interés para la empresa”

(ANSI, 1977)

ATRIBUTO

• Propiedad o característica de una entidad

U tid d ti l d it l

3.2. Conceptos básicos del modelo

• Una entidad particular es descrita por los valores de sus atributos:

titulo = El alquimista impaciente genero = Thriller

nacionalidad = España añoestreno = 2002 p1

6

...

nss = 1122334455 dni = 87654321

nombre = Cristina Aliaga Gil nacionalidad = España e1

...

(4)

TIPO DE ENTIDAD (entity set)

• Define un conjunto de entidades que poseen los mismos atributos

3.2. Conceptos básicos del modelo

los mismos atributos

PELICULA: titulo, genero, nacionalidad, añoestreno,numcopias EMPLEADO: dni, nss, nombre, fechanacim, direccion, telefono,

altura, nacionalidad, edad

• Notación

7

EMPLEADO

LOCAL VIDEOCLUB

PELICULA DIRECTOR

ACTOR CLIENTE

Instancia de un tipo de entidad

• También...

Ocurrencia

PELICULA

3.2. Conceptos básicos del modelo

– Ocurrencia – Realización – Ejemplar

– Entidad concreta o individual

titulo = El señor de los anillos genero = Fantasía

nacionalidad = EEUU añoestreno = 2001 p2

...

8

titulo = Amelie genero = Comedia nacionalidad = Francia añoestreno = 2001 p4

...

titulo = Amores perros genero = Drama nacionalidad = Méjico añoestreno = 1999 p3

...

(5)

Intensión y Extensión

• Un tipo de entidad describe el esquema o intensión para un conjunto de entidades que

3.2. Conceptos básicos del modelo

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

1 (8 6 4321 11223344 “C i i Ali Gil” “Lib d 2 Y l

9

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) ...

Tipos de atributos

• Simples o Compuestos

3.2. Conceptos básicos del modelo

p p

• Almacenados o Derivados

• Monovalorados o Multivalorados

• Opcionales

10

(6)

Atributos Simples o Compuestos

• Atributos compuestos

Pueden dividirse en otros con significado propio

3.2. Conceptos básicos del modelo

– Pueden dividirse en otros con significado propio

– Valor compuesto = concatenación de valores de componentes

fechanacim dia mes año

direccion

calle ciudad provincia codpostal

11

componentes

• Atributos simples

– No divisibles. Atómicos genero

Atributos Almacenados o Derivados

• Atributos derivados

– Valor calculado a partir de otra información ya 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

atrib toderi ado de entidades relacionadas

12

» atributo derivado de entidades relacionadas

• Atributos almacenados fechanacim

[de cada

EMPLEADO

]

nacionalidad

[de una

PELICULA

]

(7)

Atributos Monovalorados o Multivalorados

• Atributos monovalorados (monovaluados) – sólo un valor sólo un valor para cada entidad 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 ]

13

[ p p p ]

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)

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 existeo no

telefono

[de un

EMPLEADO

]

14

– La entidad no tiene ningún valor aplicable para el atributo:

fechaalquiler

[

PELICULA

sólo en vídeo-venta (no alquiler)]

(8)

Notación para atributos

[EN2002]

(0,3) dirección

(1,2) (0,1) EMPLEADO nombre

fechanacim telefono

calle

provincia ciudad

codpostal

altura

15 ( )

nss edad

dni nacionalidad

Atributos Clave

• Atributo con valor distinto para cada instancia de un tipo de entidad

de un tipo de entidad dni en EMPLEADO

• Una clave identifica de forma única cada entidad concreta  atributo identificador

• Notación

16

EMPLEADO

[EN2002]

dni

(9)

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

17

más de una clave  claves candidatas

Claves o Identificadores Candidatos de

EMPLEADO:

– dni – nss

– (nombre, fechanacim)

Atributos Clave (iii)

• Atributo identificador principal (IP) – Clave Principal

– 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

18

• Atributos identificadores alternativos (IA) – Claves Alternativas

– El resto de IC’s

– nss y (nombre, fechanacim) en EMPLEADO

(10)

Notación para atributos clave

[EN2002]

(0,3)

(1,2) (0,1) EMPLEADO nombre

fechanacim telefono

calle ciudad provincia

codpostal

nss

altura nacionalidad n-f

dirección

IP

19

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

nss edad dni

DOMINIO (values set)

• Conjunto de valores

• Cada atributo simple está asociado a un dominio que especifica sus valores válidos 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)

... ... ...

20

No suele representarse, aunque una forma de hacerlo sería:

[MPM1999]

... ... ...

TELEFONOS NOMBRES telefono

nombre

MEDIDAS altura

EMPLEADO

(11)

RELACIÓN (relationship)

• También “interrelación”

A i ió í l d i

• 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

21

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”

DIRECTOR HA_RODADO PELICULA

J Méd 

Vacas

Tesis Instancia

del tipo de relación

J. Médem  C. Saura  F. Trueba  S. Segura  A Amenábar 

Tesis

Belle Epoque

Torrente

Tierra

Abre los ojos

22

A. Amenábar 

Abre los ojos

Los otros

Tipo de Relación:

conjunto de instancias Tipo de Entidad:

conjunto de instancias

(12)

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

23

DIRECTOR HA_RODADO PELICULA

Grado de un tipo de relación

• Número de tipos de entidad que participan en el tipo de relación

ACTOR ACTUA_EN PELICULA

en el tipo de relación

– Binaria: grado 2 (el más frecuente) – Ternaria: grado 3

– Reflexiva (o recursiva): grado 1

24

CLIENTE PELICULA

LOCAL_VIDEOCLUB ALQUILA

PELICULA CONTINUACION

DE

(13)

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 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

DIRECTOR HA_RODADO PELICULA

realizador film

25

g

original versión PELICULA VERSION_DE

Restricciones estructurales sobre tipos de relación

• Limitan las posibles combinaciones de entidades que pueden participar en las 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”

26

dirigido muchas

• Clases de restricciones estructurales:

– Razón de cardinalidad (o tipo de correspondencia)

– Razón de participación

(14)

Razón de Cardinalidad

Notación [EN2002]

• Número máximo de instancias de tipo de relación en las que puede participar una 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 1

DIRECTOR

27

– etiqueta en la línea que une entidad y relación – Ojo: da la sensación de

que se representa “al revés”

N

PELICULA HA_RODADO

• Razones de cardinalidad más comunes:

– 1:1 (“uno a uno”)

Razón de Cardinalidad (ii) [EN2002]

1:1 ( uno a uno ) – 1:N (“uno a muchos”) – M:N (“muchos a muchos”)

ACTOR personaje M EMPLEADO

encargado 1 trabajador

1

28

PELICULA personaje

film M ACTUA_EN

N LOCAL_VIDEOCLUB

encargado

sucursal 1

lugar trabajo 1

TRABAJA_EN SUPERVISA

1 N

(15)

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 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

29

• Clases de participación:

– Participación total (dependencia en existencia) – Participación parcial

Razón de Participación (ii) [EN2002]

• Notación

DIRECTOR

1 personaje M

ACTOR

– Líneas dobles o simples

EMPLEADO trabajador

PELICULA HA_ RODADO

1

N

PELICULA personaje

film M ACTUA_EN

N

LOCAL_VIDEOCLUB 30

encargado

sucursal 1

lugar trabajo 1

TRABAJA_EN SUPERVISA

1 N

(16)

Cardinalidad de tipo de entidad

• Otra forma de expresar las razones de cardinalidad y participación y p p

PERSONA EDIFICIO

USA POSEE

PERSONA EDIFICIO POSEE

PERSONA USA EDIFICIO

31 p1 

p2 

p3 

e1

e2

e3

e4

p1 

p2 

p3 

e1

e2

e3

e4

Cardinalidad de tipo de entidad (ii) Notación [EN2002]

• Números mínimo y máximo de instancias del

ti d l l d i t i

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

(1 ) (0 )

32

POSEE

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

(0,n)

(17)

Cardinalidad de tipo de entidad

(iii) [EN2002]

EMPLEADO 1

1 M

ACTOR

LOCAL_VIDEOCLUB

TRABAJA_EN SUPERVISA

1 N

(1 1)

EMPLEADO

PELICULA ACTUA_EN

N

ACTOR

33

(0,n)

(1,1) (1,1)

(1,1)

LOCAL_VIDEOCLUB

TRABAJA_EN SUPERVISA

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

Cardinalidad de tipo de entidad (vii)

• Cardinalidad de tipos de entidad recursivos [ EN2002 ]

N subalterno 1 superior

(0,1) (0,n)

EMPLEADO JEFE DE

34

(18)

Atributos de tipos de relación

• Similares a los atributos de tipos de entidad

[EN2002]

EMPLEADO

LOCAL_VIDEOCLUB 1 1

TRABAJA_EN SUPERVISA

1 N

horas fechainicio

35

Atributos de tipos de relación (ii)

• Conceptualmente pertenecen a la relación – Un atributo de una Un atributo de una M:N es propio de la relación 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

h f h i i i

horas EMPLEADO

1 1

TRABAJA EN SUPERVISA

36

horas fechainicio

[EN2002]

horas

fechainicio

TRABAJA_EN SUPERVISA

1 N

LOCAL_VIDEOCLUB

(19)

Tipo de Entidad Débil

Notación [EN2002]

• No tiene atributos clave propios

• Una instancia se identifica por su relación

• 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)

At ib t d l tid d débil id tifi d f

37

• 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

Tipo de entidad débil (ii) [EN2002]

PELICULA titulo PACIENTE 1

nss

Tipo de Entidad Regular

numcopia 1

N COPIA TIENE

VISITA_MEDICA diahora 1

N

N ACUDE

Tipo de Relación Identificador

Cl i l

38

MEDICO ncolegiado nombre 1

especialidad

ASISTIDA POR

Clave parcial o Discriminante

Dependencia

en existencia

(20)

Tipo de entidad débil (iii) [EN2002]

• No toda participación total (o dependencia en existencia) implica un tipo de entidad débil

EMPLEADO

numlicencia dni 1

N POSEE

existencia) implica un tipo de entidad débil

39

numlicencia PERMISO

CONDUCCION tipo

PERMISO_CONDUCCIÓNno es débil: depende en existencia de EMPLEADO, pero tiene clave primaria propia

Tipos de relación con grado superior a dos

• Tipo de relación ternaria [EN2002]

CLIENTE

CINTA VIDEO ALQUILA (0,1)

(0,n)

(0,m) fecha

40

LOCAL VIDEOCLUB (0,m)

• Cardinalidad de los tipos de entidad

fecha

(21)

Tipos de relación con grado superior a dos (ii)

• Equivalencia ternaria – varias binarias [EN2002]

CLIENTE

CINTA (0,1)

(0,n)

ALQUILA

(1,m) (0,1)

(0,n)

fecha

CINTA CLIENTE

41

CINTA VIDEO LOCAL

VIDEOCLUB ALQUILA

(0,m) fecha

LOCAL VIDEOCLUB

(1,n) (1,1)

(1,n) CONTIENE

ALQUILA_EN CINTA VIDEO

Tipos de relación con grado superior a dos (iii)

• Ternaria no equivalente a varias binarias [EN2002]

(1,m) (1,m)

(1 n)

(1,n)

(0 )

PROVEE

PUEDE SUMINISTRAR

PRODUCTO PROVEEDOR

PRODUCTO (0,m)

(1,n)

(1,p)

SUMINISTRA

idprov codpr cantidad

fecha

PROVEEDOR

42

TIENDA

(1,n) (0,n)

(1,m)

VENDE TIENDA

(1,p)

nombre

• Pérdida de semántica...

(22)

A t i d di t l d l Modelo Entidad-Relación Extendido, MERE

Enhanced Entity-Relationship model, 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

43

• Dos (o más) tipos de relación son exclusivos, respecto de un tipo de entidad que participa en

Relaciones Exclusivas

3.3. Extensiones del modelo

ambos, si cada instancia del tipo de entidad sólo puede participar en uno de los tipos de relación

GASTA CONSUME

VEHÍCULO

44

GASOLINA GASOIL

• CONSUME y GASTA son exclusivas respecto del tipo de

entidad VEHICULO

(23)

• Caso especial de relación entre un tipo de entidad y

Especialización/Generalización (E/G) 3.3. Extensiones del modelo

Caso especial de relación entre un tipo de entidad y varios otros tipos de entidad

• La jerarquía o relación que se establece entre uno y otros corresponde a la noción de “es_un” o de

“es_un_tipo_de”

45

• Estas jerarquías pueden formarse por especialización o bien por generalización

• Agrupación de instancias dentro de un tipo de entidad, que debe representarse explícitamente debido a s importancia para el diseño o aplicación

E/G: Subtipo de un tipo de entidad 3.3. Extensiones del modelo

debido a su importancia para el diseño o aplicación

– Subtipos del tipo de entidad VEHÍCULO:

• CAMIÓN

• TURISMO

• AUTOBÚS

• CICLOMOTOR

– Subtipos del tipo de entidad EMPLEADO:

• SECRETARIO

46

• GERENTE

• COMERCIAL

• El tipo de entidad que se especializa en otros se

llama supertipo

( VEHICULO, EMPLEADO )

(24)

• Es la relación que se establece entre un supertipo y cada uno de sus subtipos

(noción es_un o es_un_tipo_de)

E/G: Relación Supertipo/Subtipo 3.3. Extensiones del modelo

• Notación:

EMPLEADO

[EN2002]

47 SECRETARIO GERENTE COMERCIAL

• La extensión de un subtipo es un subconjunto de la extensión del supertipo

E/G: Relación Supertipo/Subtipo (ii)

3.3. Extensiones del modelo

– Una instancia de subtipo también es instancia del supertipo y es lamisma instancia, pero con un papel específico distinto

– Una instancia no puede existir sólo por ser miembro de un subtipo: también debe ser miembro del supertipo

– Una instancia del supertipo puede no ser miembro de ningún subtipo

VEHÍCULO

48 VEHÍCULO

CICLOMOTOR CAMIÓN TURISMO

(25)

• Un subtipo puede tener atributos propios

(específicos)

y participar en relaciones por separado

E/G: Herencia de tipo

3.3. Extensiones del modelo

y p p p p

• Un subtipo hereda todos los atributos del supertipo, y toda relación en la que participa el supertipo

– Un subtipo, con sus atributosy relaciones específicos, más los atributosy relacionesque heredadel supertipo, es un tipo de entidad por derecho propio

VEHÍCULO FABRICA FABRICANTE

numBastidor

precio (1 1) (1 )

49

CAMIÓN LLEVA SIDECAR

precio

numEjes tonelaje

numPuer numPlazas cilindrada

(1,1) (1,n)

(1,1) (0,1)

TURISMO

N:1

1:1 MOTOCICLETA

• Proceso de definición de un conjunto de subtipos de un tipo de entidad (» supertipo)

E/G: Especialización

3.3. Extensiones del modelo

• Subtipos suelen estar definidos según característica distintiva de las entidades del supertipo

– Discriminantede la especialización

EMPLEADO

50

actividad

SECRETARIO GERENTE COMERCIAL

(26)

• Varias especializaciones de un tipo de entidad,

b dif t di i i t

E/G: Especialización (ii)

3.3. Extensiones del modelo

con base en diferentes discriminantes

PELÍCULA

color

género

[EN2002]

51 COLOR

BLANCO_Y_NEGRO COMEDIA

DRAMA TERROR

• Conviene incluir relaciones subtipo/supertipo si hay...

– Atributosque sólo tienen sentido para algunas instancias de un tipo y no para todas (atributos específicos)

E/G: Especialización (iii)

3.3. Extensiones del modelo

un tipo y no para todas (atributos específicos) especialidadMédica «no es aplicable» a CELADOR

– Tipos de relaciónen los que sólo participan algunas entidadesde un tipo y no todas (relaciones específicas)

Relación SUPERVISA entre CELADOR y SECCIÓN_HOSPITAL

52 SUPERVISA

(1,1) (1,1)

CELADOR SECCIÓN_HOSPITAL

(27)

• Proceso inverso de la especialización

• Suprimir diferencias entre varios tipos de entidad:

identificar atrib tos relaciones com nes formar

E/G: Generalización

3.3. Extensiones del modelo

identificar atributos y relaciones comunes, y formar un supertipo que los incluya

numBastidor

precio fechaFab

precio

numEjes tonelaje numBastidor

fechaFab CAMIÓN

VEHÍCULO

G

53

numEjes

TURISMO numBastidor

numPuer fechaFab

precio TURISMO

CAMIÓN

numPuer tonelaje

[EN2002]

G

Generalización

• Énfasis en las similitudes

E/G: Generalización vs. Especialización 3.3. Extensiones del modelo

• Énfasis en las similitudes

• Cada instancia del supertipo es también una instancia de alguno de los subtipos

Especialización É

54

• Énfasis en las diferencias

• Alguna instancia del supertipo puede no ser

instancia de ningún subtipo

(28)

• Definición

Restricciones sobre la E/G 3.3. Extensiones del modelo

¿Qué instancias del supertipo pertenecen a cada subtipo?

• Disyunción/Solapamiento

¿A cuántos subtipos puede pertenecer (a la vez) una instancia del supertipo?

55

• Completitud/Parcialidad

¿Debe toda instancia del supertipo pertenecer a algún subtipo?

• Subtipos definidos por predicado o condición

– Condición de pertenencia a cada subtipo

Restricciones sobre la E/G: Definición 3.3. Extensiones del modelo

– Condición de pertenencia a cada subtipo

con base en el valor de algún atributo del supertipo – Restricción que especifica que...

• Las instancias del subtipo deben satisfacer la condición

• Todas las instancias del supertipo que cumplen la condición, deben pertenecer al subtipo

PERSONA

[EN2002]

56

EMPLEADO ESTUDIANTE

estadoLaboral=en_activo matriculado=true

[ ]

(29)

• Subtipos definidos por atributo

Todas las s bclases definen la condición de pertenencia en

Restricciones sobre la E/G: Definición (ii)

3.3. Extensiones del modelo

– Todas las subclases definen la condición de pertenencia en términos del mismo atributo

– ... es el discriminante de la especialización

en_activo en_paro

estadoLaboral claseTrabajo

PERSONA EMPLEADO_HOSPITAL

57

_p médico celador enfermero limpiador

[EN2002]

EMPLEADO PARADO

ENFERMERO

MÉDICO CELADOR LIMPIADOR

• Subtipos definidos por el usuario

– No existe (o no interesa definir) ninguna condición de

Restricciones sobre la E/G: Definición (iii)

3.3. Extensiones del modelo

– No existe (o no interesa definir) ninguna condición de pertenencia a los subtipos

– El usuario, al insertar una instancia, elige a qué subtipo pertenece

PROFESOR

58

TITULAR AYUDANTE ASOCIADO

(30)

• Subtipos disjuntos si una

i t i d l ti

Restricciones sobre la E/G:

Disyunción/Solapamiento

3.3. Extensiones del modelo

• Subtipos solapados si i t i d l

instancia del supertipo puede ser miembro de, como máximo, uno de los subtipos

VEHÍCULO

una instancia del supertipo puede ser, a la vez, miembro de más de un subtipo

• Es la opción «por defecto»

59 VEHÍCULO

TURISMO CAMIÓN

d

[EN2002]

PERSONA

EMPLEADO ESTUDIANTE

o

• Especialización total (completa) indica que t d i t i d l

Restricciones sobre la E/G: Completitud/Parcialidad

3.3. Extensiones del modelo

•Especialización parcial indica que es posible que alguna instancia del supertipo no pertenezca a ninguno toda instancia del

supertipo también debe ser instancia de algún subtipo

supertipo no pertenezca a ninguno de los subtipos

•Es la opción «por defecto»

•La unión de las extensiones de los subtipos no es la extensión del supertipo en su totalidad

60

ANIMAL

d

MACHO HEMBRA HERMAFRODITA

ALIMENTO

d

LACTEO FRUTA VERDURA

(31)

• Las restricciones de disyunción y completitud son independientes entre sí

3.3. Extensiones del modelo E/G: Tipos de Especialización

• Dan lugar a 4 tipos de especialización:

– Disjunta y Total – Disjunta y Parcial – Solapada y Total

Solapada y Parcial

61

– Solapada y Parcial

• Lo veremos con un ejemplo de una base de datos de una Universidad

EMPLEADO ESTUDIANTE

3.3. Extensiones del modelo

E/G: Especialización Disjunta y Total

claseTrabajo tipo

DOCENTE ADMON_Y_SERV BECARIO BECARIO NO_BECARIO

Especialización Disjunta y Parcial

DOCENTE

d d

62

DOCENTE

TITULAR

AYUDANTE CATEDRÁTICO

cuerpoDocente d

(32)

3.3. Extensiones del modelo

E/G: Especialización Solapada y Total

PERSONA

Especialización Solapada y Parcial

EMPLEADO

ocupación

ESTUDIANTE O

63

EMPLEADO

DOCENTE INVESTIGADOR

dedicación O

• Deben aplicarse a la Especialización y la

Generalización, debido a las restricciones definidas

3.3. Extensiones del modelo

E/G: Reglas de inserción y eliminación

 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 definición

64

 Insertar una instancia en un supertipo de una

especialización total implica insertarla en, al menos, un subtipo

Y si la especialización es disjunta, entonces la

instancia se insertará en un único subtipo

(33)

 Eliminar una instancia de un supertipo implica

3.3. Extensiones del modelo

E/G: Reglas de inserción y eliminación (ii)

eliminarla de todos los subtipos a los que pertenece

 Eliminar una instancia de un subtipo implica eliminarla del supertipo si la especialización es ...

– disjunta y total, o bien

– solapada y total, y la instancia ya sólo pertenece

65

p y , y y p

al subtipo (se eliminó del resto)

En el resto de casos, la instancia sólo se elimina del subtipo

– No del supertipo (lo haría el usuario, si fuese necesario)

• El objetivo principal es transformar el esquema conceptual de datos en el esquema lógico de datos

• Otros objetivos del diseño lógico son ...

– Eliminar redundancias

3.4.1 Objetivos y fases del diseño lógico

Eliminar redundancias

– Conseguir máxima simplicidad

– Evitar cargas suplementarias de programación para conseguir ...

– una estructura lógica adecuada

– un equilibrio entre los requisitos de usuario y la eficiencia

• Diseño lógico con la máximaportabilidad

66

• Diseño lógico con la máxima portabilidad

Introducción “tardía” del SGBD específico

 Implementación del esquema lógico en distintos SGBD comerciales

 Migración entre diferentes versiones de un mismo SGBD

(34)

Diseño Lógico Estándar (DLS)

– Se elige el modelo de datos de representación, aún no el SGBD Transformación independiente del SGBD específico

3.4.1 Objetivos y fases del diseño lógico

Fases

– Transformación independiente del SGBD específico Esquema Conceptual Esquema Lógico eStándar(ELS)

 Uso de un Modelo Lógico de datos eStándar(MLS)

Relacional 

• Red

J á i

67

• Jerárquico

• Orientado a Objetos

 Se describe el ELS mediante los elementos del modelo de datos

• LDD deSQL-92 en el Modelo Relacional

• Diagrama de Estructura de Datos

Diseño Lógico Específico (DLE) – Se elige el SGBD específico

3.4.1 Objetivos y fases del diseño lógico

Fases (y 2)

– Adaptación del esquema lógico a un SGBD comercial concreto

Esquema Lógico Estándar Esquema Lógico Específico (ELE)

Uso del Modelo Lógico de datosparticular del SGBD elegido

68

• Oracle, Informix, DB2, Interbase, Postgress, Sybase ...

Se describe el ELE mediante el LDD propio del SGBD específico

• SQL de Oracle, ...

(35)

Reglas de traducción MEREMR

 Reglas para el modelo básico

• Dominios At ib t

3.4.2 Diseño lógico estándar

RESUMEN

• Atributos

• Tipos de entidad

• Tipos de relación

MER MR (SQL-92)

Tipo de Entidad Tabla(relación) Tipo de Relación M:N Tabla

RESUMEN

69

 Reglas para las extensiones del modelo

• Relaciones exclusivas

• Jerarquías de Especialización/Generalización

p ab a

Tipo de Relación 1:1, 1:N, N:1 Propagación de clave o tabla

• Dominio

3.4.2 Diseño lógico estándar

Traducción de un dominioy un tipo de entidad

MR

• Tipo de entidad

– Se traduce a una tabla(relación)

– Se recomienda usar el mismo nombre o uno

similar MERE

ESTADO_CIVIL: {S, C, V, D}

CREATE DOMAIN Estado_civil AS CHAR(1) CHECK VALUE IN (‘S’, ‘C’, ‘V’, ‘D’) ;

70

PERSONA CREATE TABLE Persona

( ) ;...

MERE MR

(36)

• Atributo simpley monovaluado Columna

• Atributo identificador

– Id principalClave primaria(PRIMARY KEY)

3.4.2 Diseño lógico estándar

Traducción de un atributo

Id.principalClave primaria(PRIMARY KEY) – Id.alternativoClave alternativa(UNIQUE)

 Podrá contener NULL si no se indica lo contrario

direccion dni

numSS

nombre CREATE TABLE Persona

( dni PRIMARY KEY, SS UNIQUENULL

MERE MR

71

PERSONA telefono fechaNacim nacionalidad altura

numSS UNIQUENULL, nombre ...,

direccion ..., telefono ..., fechaNacim ..., nacionalidad ..., altura ... ) ;

• Atributo compuesto.- Dos alternativas:

a) «Eliminar» atributo compuesto y considerar todos sus

t l i l d l t bl lt t

3.4.2 Diseño lógico estándar

Traducción de un atributo (2)

componentescomo columnas simplesde la tabla resultante b) «Eliminar» los componentes y considerarel atributo compuesto

comouna sola columnade la tabla

C á d á á

MERE MR

(DED)

72

¿Cuándo será más adecuado utilizar una opción u otra?

(37)

• Atributo multivalorado

– Nueva tablaS, en la que el atributo multivalorado se representa como una columna simpleA

3.4.2 Diseño lógico estándar

Traducción de un atributo (3)

– S contendrá una nueva columnaF, clave ajenaa la clave primaria de la tabla correspondiente a la entidad

– La clave primariade S es la combinación (F, A)

PERSONA (dni, nombre, fechaNac) DIRECC_PERSONA(dni, direccion)

FK fechaNac

dni

(1 ) nombre

MERE MR

CREATE TABLE Di P (

73 DIRECC_

PERSONA PERSONA

MR

(DED)

tiene

PERSONA direccion(1,n) CREATE TABLE Direcc_Persona( dni...

direccion ...

PRIMARY KEY (dni, direccion)

FOREIGN KEY (dni)REFERENCES Persona(dni) ON DELETE CASCADE

ON UPDATE CASCADE );

• Atributo derivado

– Es necesario decidir si se almacena o no

3.4.2 Diseño lógico estándar

Traducción de un atributo (y 4)

1. Si se almacena, será una columnade la tabla que corresponda y deberá crearse un disparadorque calcule su valor y lo mantenga actualizado

2. Si no se almacena, deberá crearse un procedimiento que calcule su valor cada vez que se solicita

MERE MR

74

PERSONA (dni, nombre, fechaNac, edad)

PERSONA

fechaNac dni

edad nombre

(38)

Nueva tabla R, que incluye...

claves ajenashacia las E1 V E2

3.4.2 Diseño lógico estándar

Traducción de una relación binaria M:N

j

claves primarias de R1 y de R2

 Su combinación (concatenación) forma la clave primariade R

– columnas correspondientes a los atributosde la relación V (simples o componentes simples de atributos compuestos)

ACTOR(nombre caché )

R1 R2

R

nombre papel código

75

ACTOR(nombre, ..., caché, ...)

ACTUA_EN(actor, pelicula, papel, paga) PELICULA(código, título, ...)

FK

FK

ACTOR PELICULA

paga (1,m) (1,n)

título caché

Actua en

[MPM 1999]

3.4.2 Diseño lógico estándar

Traducción de una relación binaria M:N (3)

codAutor derechosAutor isbn

AUTOR(codAutor, nomAutor, ...)

ESCRIBE(autor, libro, derAutor, numPag) LIBRO(isbn, titulo, ...)

FK

FK

AUTOR LIBRO

numPaginas (1,4) (1,n)

titulo nomAutor

codAutor derechosAutor isbn

Escribe

76

– Pero la traducción, aunque lo parezca, no está completa...

– ... pues falta especificar ciertos aspectos que tienen

que ver con las reglas de integridad

(39)

– Especificación de accionesde mantenimiento de la integridad referencial(NO ACTION, CASCADE, SET NULL, SET DEFAULT)

CREATE TABLE Escribe

3.4.2 Diseño lógico estándar

Traducción de una relación binaria M:N (4)

CREATE TABLE Escribe ( autor Autores,

libro Codigos,

derAutor NUMERIC(2) DEFAULT 20 NOT NULL

CHECK (derAutor≥0 AND derAutor<100), numPag NUMERIC(2) NOT NULL CHECK (numPag≥0), PRIMARY KEY (autor, libro),

FOREIGN KEY (autor) REFERENCES AUTOR(codAutor)

77

ON DELETE NO ACTION ON UPDATE CASCADE, FOREIGN KEY (libro) REFERENCES LIBRO(isbn)

ON DELETE CASCADE ON UPDATE CASCADE );

a)

Datos coherentes:evitar queESCRIBE contenga un libro con autor

3.4.2 Diseño lógico estándar

Traducción de una relación binaria M:N (5)

Especificación de restricciones

a)

Datos coherentes: evitar que ESCRIBE contenga un libro con autor desconocido (fila con autor NULL) o un autor de un libro inexistente (fila con libro NULL)

autor libro derAutor numPag

NULL 0-201-65370-2 ... ...

A001 NULL ... ...

78

– Ambas cosas ya quedan aseguradas por la propia definición de la clave primaria de ESCRIBE:

PRIMARY KEY(autor, libro)

(40)

b) Cardinalidad mínima 1:todo libro tiene al menos un autor

3.4.2 Diseño lógico estándar

Traducción de una relación binaria M:N (6)

Especificación de restricciones

b) Cardinalidad mínima 1: todo libro tiene al menos un autor c) Cardinalidad máxima 4: evitar que un libro haya sido escrito por

más de 4 autores

– CREATE ASSERTION autores_de_libro CHECK (

(NOT EXISTS (SELECT * FROM LIBRO

WHERE isbn NOT IN (SELECT libro

79

FROM ESCRIBE))) AND

(4 >= (SELECT MAX(COUNT(*)) FROM ESCRIBE GROUP BY libro)) );

d) Cardinalidad mínima 1:todo autor ha escrito al menos un

3.4.2 Diseño lógico estándar

Traducción de una relación binaria M:N (y 7)

Especificación de restricciones

d) Cardinalidad mínima 1: todo autor ha escrito al menos un libro

– Evitar que en AUTOR exista una fila tal que NO haya ninguna tupla en ESCRIBE que le haga referencia (autor sin libros).

– Es necesario crear una RI General o Aserto:

CREATE ASSERTION libros_de_autor CHECK (

80

CHECK (

NOT EXISTS (SELECT * FROM AUTOR

WHERE codAutor NOT IN (SELECT autor FROM ESCRIBE)) );

(41)

1) Caso general

Propagación de clave

E1 V E2

R1 R2

1 N

3.4.2 Diseño lógico estándar

Traducción de una relación binaria 1:N

Propagación de clave

En R2 se incluyen nuevas columnas...

clave externahacia la clave primaria de R1

 columnas para los atributosde la relación V (simples o componentes simples de atributos compuestos)

1.1) Participación total de E2 en V codProv

nombreCiudad

81 CIUDAD( nomCiudad, provincia, ... )

PROVINCIA( codProv, nomProv, ... )

FK: NULOS NO PERMITIDOS

PROVINCIA CIUDAD

(1,1) (1,n)

nomProv

nombreCiudad contiene

...

1.2) Participación parcial de E2 en V

3.4.2 Diseño lógico estándar

Traducción de una relación binaria 1:N (2)

PINACOTECA CUADRO

(0,1) (1,n)

nomMuseo

codCuadro Expone

titulo pintor ciudad

sala

82

CUADRO(codCuadro, titulo, pintor, museo, sala...)

PINACOTECA(nomMuseo, ciudad, ...)

FK

NULOS PERMITIDOS

(42)

2) Se cumple uno o varios de estos supuestos:

La relaciónV tiene varios atributospropios

Haypocas ocurrenciasde la relaciónV

3.4.2 Diseño lógico estándar

Traducción de una relación binaria 1:N (3)

Hay pocas ocurrenciasde la relación V

Es probable que en el futuro Vse transformeen una M:N

 Añadir una nueva tabla R, que incluye...

claves ajenashacia las claves primarias de R1 y de R2

 una será clave primariade R: la propagada desde la entidad cuyas instancias participan como mucho una vez en la relación V

• columnas para los atributosde V (simples o componentes

83

simples de atributos compuestos)

ESTUDIANTE

COCHE (0,1)

(0,n) nif

matricula

Propietario_de

modelo nombre

1 : N

ESTUDIANTE( nif, nombre, ... ) PROPIEDAD( coche, estudiante) COCHE( matricula, modelo, ... )

FK FK NN

1) Participación total de ambas entidades

– Si las entidades no participan en otras relaciones...

 una única tabla R, que incluye...

3.4.2 Diseño lógico estándar

Traducción de una relación binaria 1:1

, q y

– columnas para todos los atributosde ambas entidades – clavesde R:

 Clave primaria= clave primaria de R1 o de R2(es indiferente)

 La otra (si es distinta) será alternativa(UNIQUE) y además NOT NULL

– columnas para atributosde la relaciónV (simples o componentes simples de atributos compuestos)

84

PACIENTE( nss, nombre, numHisto, fechaApert, centroSalud,... )

AK, NN PK

nombre centroSalud

(1,1) (1,1) fechaApertura

nss numHistoria

...

MEDICO HISTORIAL PACIENTE

...

Tiene

(43)

2) Participación total de una entidad y parcial de la otra

2.1) Caso general E1 V E2

3.4.2 Diseño lógico estándar

Traducción de una relación binaria 1:1 (2)

Propagación de clave

La clave de la entidad con participación parcial «se propaga»

hacia la entidad con participación total clave ajena Los atributosde la relación V «siguen» a la clave propagada

Un empleado puede no

R1 R2

(1,1) (0,1)

DEPARTAMENTO EMPLEADO

codEmp numDep

Dirige

85

dirigir ningún departamento, o bien ser el gerente de uno de ellos (desde cierta fecha, en la que fue nombrado como tal)

EMPLEADO(codEmp, nomEmp, ...)

DEPARTAMENTO(numDep,nomDep, codDir, fechInicDir...)

FK AK, NN

nomEmp fechaInic nomDep

NN

2.2) Hay pocas instancias del tipo de relación

 Añadir una nueva tabla Rque incluye...

claves ajenashacia las claves primarias deR1 y de R2

3.4.2 Diseño lógico estándar

Traducción de una relación binaria 1:1 (3)

claves ajenashacia las claves primarias de R1 y de R2

 una será clave primariade R (la de participación total, si existe)

 la otra será clave alternativaen R (UNIQUE) y además NOT NULL – columnas para los atributosde V (simples o componentes simples

de atributos compuestos)

EMPLEADO(codEmp nomEmp )

86

EMPLEADO(codEmp, nomEmp, ...) DIRIGE (emp, dep, fechInic)

DEPARTAMENTO(numDep, nomDep,...)

FK AK,NN FK

(44)

2.3) Hay muchas instancias del tipo de relación

 Una única relación Rque incluye...

todos losatributosde las entidades y de la relación

3.4.2 Diseño lógico estándar

Traducción de una relación binaria 1:1 (4)

– todos los atributosde las entidades y de la relación

– la clave primariaes la de la entidad con participación parcial – debe permitirse NULLen los atributos procedentes de la entidad con

participación total y de la relación CREATE TABLE Empleado(

codEmp ... PRIMARY KEY,

nomEmp ... , NULL permite representar empleados que no dirigen ningún

departamento Atributos de

EMPLEADO

87

...,

numDepDir ... NULLUNIQUE, nomDepDir ... NULL,

...,

fechInicDir ... NULL, ... );

departamento UNIQUE asegura que un

departamento sólo es dirigido por un empleado

Los atributos monovalorados aseguran que un empleado pueda dirigir como mucho un

departamento Atributos de

DEPARTAMENTO

Atributos de DIRIGE

3) Participación parcial de ambas entidades

 Añadir una nueva tabla R

• La tablaR se construye exactamente igual que en el caso (2 2)

3.4.2 Diseño lógico estándar

Traducción de una relación binaria 1:1 (y 5)

• La tabla R se construye exactamente igual que en el caso (2.2)

• Evita los NULL que aparecerían si se propagara la clave de R1 a R2 o viceversa (caso general (2.1))

(0,1) (0,1) MUJER

HOMBRE

nif nif

Matrimonio a la antigua lugar

HOMBRE(nif, ...)

MATRIMONIO(esposa, esposo, fecha, lugar)

FK

88

( ) ( )

fecha MUJER(nif, ...)FK

AK, NN

Y... ¿qué acciones de mantenimiento de la integridad referencial debemos imponer para (todos los casos de) transformación de relaciones 1:1?

NN NN

(45)

Caso particular de relación 1:1 E1 V E2

3.4.2 Diseño lógico estándar

Traducción de dependencia en existencia y en identificación

o 1:N con propagación de clave y participación total de E2

Si V es 1:1caso 2.1; Si V es 1:Ncaso 1.1

– La clave ajenaFK en R2 hacia R1 no permite NULL

– La clave primariade R2 depende del tipo de dependencia:

• en Existencia

clave primaria propia deR2 (identificador principal de E2)

R1 R2

89

– clave primaria propia de R2 (identificador principal de E2)

• en Identificación

– combinación de atributos: FK y clave de R2

Las actualizaciones y borrados en la tabla R1 deben transmitirse en cascadahacia R2 (CASCADE)

1:N

FAMILIAR

EMPLEADO nifFam

nifEmp

Ti

3.4.2 Diseño lógico estándar

Traducción de dependencia en existencia y en identificación (y 2)

EMPLEADO ( nifEmp, nomEmp, ...)

FAMILIAR ( nifFam, emp, ... )FK NOTNULL

ON DELETE CASCADE ON UPDATE CASCADE

FAMILIAR EMPLEADO

(1,1) (0,n)

nomEmp Tiene

fecha hora

90 PACIENTE ( historial, nombre, ... )

VISITA_MEDICA ( historial, fecha, hora, ... )

FK NOTNULL

ON DELETE CASCADE ON UPDATE CASCADE

VISITA MEDICA PACIENTE

1:N (1,1) (1,n)

historial nombre

observ Acude

(46)

EMPLEADO Es jefe de subordinado

nifEmp jefe nomEmp

3.4.2 Diseño lógico estándar

Traducción de una relación binaria reflexiva

subordinado

 tabla

que contiene dos claves externashacia la clave primaria de la tabla correspondiente a la entidad

Nombradas según los

roles

de la entidad en la relación EMPLEADO ( nifEmp, nomEmp, ..., jefe, ... )

NULL FK

Caso 1:N solución problemática si

puede haber muchos empleados sin jefe ( demasiados nulos )

91

– Nombradas según los

roles

de la entidad en la relación EMPLEADO ( nifEmp, nomEmp, ...) JEFE_EMP( jefe, subordinado, ... )

Otra posibilidad en el Caso 1:N

NN

FK FK

EMPLEADO ( nifEmp, nomEmp, ... ) JEFE_EMP( jefe, subordinado, ... ) Caso M:N

FK FK

Tabla R correspondiente a V, que incluye...

E1 V E2

R1 E3 R2

3.4.2 Diseño lógico estándar

Traducción de una relación n-aria

q y

claves ajenas hacia cada clave primaria de R1, R2, R3, etc.

– columnas para los atributos de la relación V (simples o componentes simples de atributos compuestos)

– la clave primaria de R

R1 E3 R2

R3

92

– la clave primaria de R

 En general, es la combinación de todas las claves externas hacia R1, R2, R3, etc.

 Pero es posible que sea un subconjunto de dicha

clave

Referencias

Documento similar

Després d’un inventari pericial i de consensuar-ho amb els mateixos redactors de l’estudi, s’apunta a que la problemàtica és deguda a que en els casos on l’afectació

Polígon industrial Torrent d'en Puig. Polígonindustrial de Can

Descripción: Premio Extraordinario Fin de Carrera - Grado en Educación Social Entidad concesionaria: Universidade de Vigo Tipo de entidad: Universidad Ciudad entidad

Cuadro 1.4 Población total, relación hombres-mujeres y edad mediana por entidad federativa y sexo Cuadro 1.5 Distribución porcentual de la población total por entidad federativa y

Codirector/a tesis: Juan Rigoberto Tejedo Huaman; Francisco Javier Bedoya Bergua Entidad de realización: Universidad Pablo de Olavide Tipo de entidad: Universidad Ciudad

La combinación, de acuerdo con el SEG, de ambos estudios, validez y fiabilidad (esto es, el estudio de los criterios de realidad en la declaración), verificada la

* Todos los alumnos que participen en el PAT que quieran conocer, no sólo el funcionamiento del área de informática, sino también, aspectos relativos a las páginas web de

Después de haber analizado los aspectos presentados en las entrevistas planteadas y aplicadas a los Visitadores Médicos y Gerentes Ventas, así como el análisis de la