Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2.1 Definicin de Modelo de Datos 2.2 El modelo Entidad Relacin 2.3 El modelo Entidad Relacin Extendido
Un modelo de datos es un mecanismo de abstraccin que permite la representacin de una parcela del mundo real (universo del discurso o mini-mundo) cuyos datos nos interesa registrar. Un modelo de datos es un conjunto de conceptos que permiten describir, a distintos niveles de abstraccin, la estructura de una base de datos, a la cual denominamos esquema.
Global: contiene una representacin del conjunto de los datos de una organizacin
Externo: representa slo una parte de los datos, se describen para atender las necesidades de uno o varios procesos o de un grupo de usuarios en particular Interno: describe las caractersticas de los datos tal como han de encontrarse almacenados fsicamente
Segn el nivel del abstraccin de la arquitectura ANSI a tres niveles, en el que se encuentre la estructura descrita, el modelo que permite su descripcin ser un modelo externo, global o interno.
Existen, por tanto, en una base de datos tres clases de esquemas: el esquema global, los esquemas externos y el esquema interno.
Introduccin
Modelo
Describe
Gran
difusin
Introduccin
10
En el proceso de diseo...
Requisitos de datos
DISEO CONCEPTUAL
Esquema Conceptual
MER
11
Introduccin
Esquema conceptual Descripcin concisa de los requisitos de informacin de los usuarios
Descripciones
TIPOS
detalladas de
DE DATOS RELACIONES ENTRE DATOS RESTRICCIONES que los DATOS deben cumplir
Sin
detalles de implementacin
Ms
12
Entidad
13
ENTIDAD
Cosa
u objeto del mundo real con existencia propia y distinguible del resto con existencia...
fsica o real (una persona, un libro, un empleado) abstracta o conceptual (una asignatura, un viaje)
Objeto
Persona,
lugar, cosa, concepto o suceso, real o abstracto, de inters para la empresa (ANSI, 1977)
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 ...
15
16
PELICULA
titulo = El seor de los anillos genero = Fantasa nacionalidad = EEUU aoestreno = 2001 ... titulo = Amelie genero = Comedia nacionalidad = Francia aoestreno = 2001 ...
p3
titulo = Amores perros genero = Drama nacionalidad = Mjico aoestreno = 1999 ...
p4
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) ...
Tipos de atributos
Simples
compuestos
dividirse en otros con significado fechanacim direccion propio dia mes ao calle ciudad provincia codpostal
Valor
Atributos
No
simples
genero
divisibles. Atmicos
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
derivados
Atributos
almacenados
21
monovalorados (monovaluados)
Atributos
multivalorados (multivaluados)
pueden tener lmites superior e inferior del nmero de valores por entidad
nacionalidad (1-2) telefono (0-3)
22
Se
La
[MPM1999]
codpostal calle ciudad provincia codpostal fechanacim direccin (0,3) nombre telefono EMPLEADO altura
D (1,2)
ciudad
provincia
direccin EMPLEADO
(0,3) (0,1)
telefono altura
(1,2)
dni
edad
nacionalidad
nss
dni edad
nacionalidad
Una
clave identifica de forma nica cada entidad concreta atributo identificador Notacin
EMPLEADO dni dni EMPLEADO
[EN2002]
[MPM1999]
instancia
Una
Un
fechanacim)
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
Claves
[MPM1999]
calle ciudad provincia codpostal fechanacim direccin (0,3) nombre telefono EMPLEADO altura n-f nss
D (1,2)
telefono
altura
nombre
nss
IP
nacionalidad edad
dni
dni edad
nacionalidad
En el MER es obligatorio que todo tipo de entidad tenga un identificador (restriccin inherente al modelo)
Conjunto de valores
Cada atributo simple est asociado a un dominio, que especifica sus valores vlidos
Atributo Dominio Descripcin Dominio cadenas de hasta 30 caracteres alfabticos
nmeros reales entre 0 y 25 (metros) ...
nombre NOMBRES TELEFONOS MEDIDAS
nombre NOMBRES
altura
... MEDIDAS ...
EMPLEADO telefono
[MPM1999]
altura
29
tipo de entidad que participa en un tipo de relacin juega un papel especfico en la relacin
DIRECTOR Es _dirigida HA_RODADO dirige PELICULA
Los
nombres de rol se deben usar, sobre todo, en los tipos de relacin reflexivos, para evitar ambigedad
original VERSION_DE versin PELICULA
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
Razn
Clases
de restricciones estructurales:
mximo de instancias de tipo de relacin en las que puede participar una misma instancia de tipo de entidad
la
DIRECTOR
1
HA_RODADO
en la lnea que une entidad y relacin Ojo: da la sensacin de que se representa al revs
N
PELICULA
de cardinalidad ms comunes:
1
TRABAJA_EN 1 lugar trabajo
ACTUA_EN
N film PELICULA
Razn de Cardinalidad
Nmero
Notacin [MPM1999]
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
ACTOR
M:N ACTUA_EN
1:1
TRABAJA_EN
1:N
lugar trabajo
LOCAL_VIDEOCLUB
PELICULA
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
ACTOR
TRABAJA_EN
ACTUA_EN PELICULA
lugar trabajo
LOCAL_VIDEOCLUB
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
Participacin
de participacin:
total (dependencia en
36
[EN2002]
trabajador
1
EMPLEADO encargado 1
HA_ RODADO
N
TRABAJA_EN
1 lugar trabajo
SUPERVISA sucursal N
LOCAL_VIDEOCLUB
PELICULA
37
PERSONA USA
p1
EDIFICIO
POSEE
EDIFICIO
p2
e3 p3 e4
p2
e3 p3 e4
38
Notacin
mnimo y mximo de instancias del tipo de relacin en las que puede intervenir una instancia del tipo de entidad Notacin
(min, max)
relacin
PERSONA
(0,n)
[EN2002]
ACTOR N
ACTUA_EN M PELICULA
ACTOR
(1,n)
ACTUA_EN (0,m) PELICULA
(1,1)
LOCAL_VIDEOCLUB
Notacin
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)
relacin
PERSONA
(1,n) (0,n)
EDIFICIO
40
41
de notaciones
PERSONA EDIFICIO POSEE
p1 p2 e1 e2 e3
[EN2002]
PERSONA
(0,n)
POSEE
(1,1)
EDIFICIO
[MPM1999]
PERSONA (1,1) POSEE (0,n) EDIFICIO
p3
e4
En toda notacin, la cardinalidad de una entidad es la etiqueta de la lnea que la une a la relacin
42
LOCAL VIDEOCLUB
1:N
[MPM1999]
EMPLEADO
(1,1)
SUPERVISA
[SKS1998]
EMPLEADO
SUPERVISA
LOCAL VIDEOCLUB
43
secuela (0,1)
SECUELA DE
1:1
[MPM1999]
versin (0,n) PELICULA original (0,1)
VERSIONA
N:1
44
1 TRABAJA_EN 1
[MPM1999]
ACTOR (0,m)
M:N
ACTUA_EN
45
relacin
Un
pertenecen a la
atributo de una M:N es propio de la relacin Un atributo de una 1:1 o 1:N se puede llevar horas EMPLEADO a uno de los tipos de entidad participantes
1 horas TRABAJA_EN 1
1
SUPERVISA N LOCAL_VIDEOCLUB fechainicio fechainicio
[EN2002]
horas
46
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
Clave
de la entidad dbil, que identifican de forma nica cada instancia, siempre que est relacionada con una instancia del tipo de entidad regular COPIA
= (clave_entidad_regular, clave_parcial)
PACIENTE 1
ACUDE N VISITA_MEDICA N ASISTIDA POR 1 MEDICO
PELICULA 1
titulo
TIENE N
COPIA numcopia
especialidad
Dependencia en existencia
47
48
POSEE
N PERMISO CONDUCCION numlicencia tipo
PERMISO_CONDUCCIN no es dbil: depende en existencia de EMPLEADO, pero tiene clave primaria propia
49
existencia de una instancia del tipo de entidad dbil depende de la existencia de una instancia del tipo de entidad regular
Tipo
Relaciona
Clases
En
de dependencia:
existencia En identificacin
50
[MPM1999]
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
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
en identificacin
51
[MPM1999]
PELICULA ID TIENE titulo
numcopia
PERMISO CONDUCCION
COPIA
idcopia
52
[MPM1999]
CLIENTE
(1,1) E POSEE (0,n) PRESTAMO numprestamo 1:N dni
Dependencia en existencia
[MPM1999]
PRESTAMO (1,1) ID TIENE (0,n) PAGO numprestamo
numpago idpago
Dependencia en identificacin
[MPM1999]
ACTOR
(0,m) ACTUA_EN (1,n) PELICULA M:N titulo nombre
Participacin total
55
[MPM1999]
CLIENTE
(0,n)
ALQUILA
(0,1)
(0,1)
CINTA VIDEO fecha ALQUILA
(0,n)
fecha (0,m)
LOCAL VIDEOCLUB
(0,1)
LOCAL VIDEOCLUB
CINTA VIDEO
56
(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
57
(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...
58
(1,n)
PUEDE SUMINISTRAR
(1,m)
PROVEE
(1,n)
SUMINISTRA
(0,m)
cantidad fecha
(1,m)
PRODUCTO
codpr
(1,n)
TIENDA
(1,p)
(0,n)
VENDE
(1,m)
nombre
Tipos de relacin con grado superior a dos (v) solucin: relacin ternaria como entidad dbil (Entidad Asociativa) [EN2002] cantidad fecha
(1,1) (1,n)
PROVEEDOR idprov nombre
REALIZA
59
Otra
SUMINISTRO
(1,1)
CONTIENE
(0,n)
PRODUCTO codpr
(1,1)
RECIBE
(1,n)
TIENDA
60
ternarias falsas
dni
[EN2002]
(0,n)
num
REALIZA
(0,m)
CANDIDATO
(1,1)
ENTREVISTA
(0,1)
fecha
GENERA
(1,1)
61
Restriccin de Exclusividad
Imparte
(1, 1)
PROFESOR (0, n) Recibe
(0, n)
CURSO (0, n)
62
Restriccin de Exclusividad
Imparte (1, 1)
(1, n)
(0, n)
PROFESOR
CURSO
(0, n) Recibe (0, n)
63
Restriccin de Exclusividad
(0, 1) Percibe (0, 1)
BECA
PROFESOR
(1, n)
Contratado
(1, n)
(0, n)
PROYECTO
64
Restriccin de Exclusin
Imparte (1, 1)
(1, n)
(0, n)
{exclusin}
PROFESOR
CURSO
(0, n)
Recibe (0, n)
65
Restriccin de Inclusividad
(1, 1) Imparte
(1, n)
(0, n)
(1, n)
PROFESOR
CURSO
(0, n) Recibe
(0, n)
66
Restriccin de Inclusin
(1, 1) Imparte
(1, n)
(0, n)
{inclusin}
PROFESOR
CURSO
(0, n)
Recibe (0, n)
67
La dimensin temporal
F_Pres
EJEMPLAR
(0, 5) N :1 Presta
SOCIO
(0, 1)
68
La dimensin temporal
F_Pres
F_Dev
N: M Imparte
EJEMPLAR
(1, n)
SOCIO
(0, n)
69
2.3 El Modelo Entidad-Relacin Extendido, MERE (Enhanced Entity-Relationship model, EER) Aportaciones de diversos autores al modelo Entidad-Relacin bsico. Permiten representar...
70
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
Agrupacin de instancias dentro de un tipo de entidad, que debe representarse explcitamente debido a su importancia para el diseo o aplicacin
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
[SKS1998]
[MPM1999]
SECRETARIO
ES
GERENTE
COMERCIAL
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
(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
74
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
fechaFab
numBastidor
VEHCULO
precio
fechaFab
numEjes
tonelaje fechaFab
G
numPuer
CAMIN
TURISMO
numBastidor
precio
numEjes
TURISMO
tonelaje
numPuer
[EN2002]
76
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
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?
79
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
estadoLaboral=en_activo
EMPLEADO
ESTUDIANTE
estadoLaboral en_activo
EMPLEADO
claseTrabajo mdico
MDICO
en_paro
PARADO
celador
enfermero
limpiador
LIMPIADOR
CELADOR
ENFERMERO
[EN2002]
[MPM1999]
80
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
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]
Disyuncin/Solapamiento
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]
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]
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
86
87
DOCENTE
ADMON_Y_SERV BECARIO
BECARIO
NO_BECARIO
TITULAR
CATEDRTICO
[MPM1999]
88
EMPLEADO
ESTUDIANTE
[MPM1999]
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
Hasta ahora hemos estudiado jerarquas de especializacin en las que se cumple la restriccin: Todo subtipo participa en slo una relacin supertipo/subtipo
En una retcula de especializacin... Un subtipo puede participar en varias relaciones supertipo/subtipo Un subtipo puede tener ms de un supertipo
fechaIni DESEMPLEADO
jornada salario
EMPLEADO
ESTUDIANTE
dedicacin
DOCENTE ADMN_Y_SERV
puesto
BECARIO
beca
NO_BECARIO
92
En las jerarquas de especializacin Cada subtipo hereda atributos y relaciones... de su (nico) supertipo directo y de sus supertipos predecesores, hasta la raz
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
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
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
RECTNGULO
alto rea
[MPM1999]
lado
CUADRADO
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
[MPM1999]
lado
CUADRADO
Categoras y categorizacin
Categorizacin: Proceso por el que varias clases de naturaleza distintase agrupan en una nueva clase. La clase resultante de la categorizacin es la categora. Diferencias con la generalizacin: No todas las ocurrencias de las clases tienen que pertenecera la categora. Herencia selectiva de atributos.
Categoras y categorizacin
Categoras y categorizacin
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
102
Esquema en el MERE que almacena informacin sobre las entrevistas que una ETT organiza entre solicitantes de empleo y diferentes empresas
[EN2002]
ENTREVISTA_A fecha
(1,m) N
nif
SOLICITANTE
telefContacto
nombre
telef
nomContacto
Algunas entrevistas dan lugar a ofertas de empleos y otras no cmo modelamos esto?
[EN2002]
ESO ES FALSO!
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
Solucin 3:
EMPRESA
ENTREVISTA
ENTREVISTA_A
SOLICITANTE
RESULTA_EN
[EN2002]
OFERTA_EMPLEO
OK!
(0,n)
REALIZA
(0,m)
SOLICITANTE
(1,1)
fecha ENTREVISTA
(0,1)
GENERA
(1,1)
nomContacto
telefContacto
Tipo de entidad dbil de otros dos Qu significa que ENTREVISTA tenga fecha como clave parcial?
RUEDA