Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema02 PDF
Tema02 PDF
Informática – GRUPO A
Contenido:
2.1. Conceptos
2.2. Diagramas entidad relación
2.3. Cuestiones de diseño
2.4. Restricciones
2.5. Diagramas entidad relación extendidos (EER)
2.6. Conclusiones
Bibliografía
2.1. Conceptos
En este apartado se estudia un modelo de datos de alto nivel que nos permite diseñar el esquema
conceptual de una BD.
El modelo entidad-relación se incluye a veces entre los modelos orientados a objetos por lo
noción de distinguibilidad de entidades (similar a la identidad de objetos). Se basa en los
conceptos de: entidad, tipo de entidad, atributo y relación.
Toda esta información se representará en los diagramas entidad-relación.
• Entidad:
Def.: Menor objeto con significado en una instancia.
Por Ej.:, para el análisis de la BD secretaría, el alumno con los siguientes datos:
DNI = 01234567Z,
nombre y apellidos = Manuel Vázquez Prieto,
Teléfono = 91-12345678
domicilio = Calle del Jazmín 7, 4 Izq.
COU = SI
constituye una entidad. Igual sucede con cada asignatura concreta, cada profesor, etc.
Intuición: En el caso del enfoque “clásico” correspondería a cada registro guardado en un
fichero.
• Atributo:
Def.: Componentes que determinan una entidad. Cada atributo tiene asociado un dominio:
Conjunto de valores que puede tomar.
Ej.: La entidad del Ej.: anterior viene determinada por los valores de sus atributos DNI,
Nombre y Apellidos, Teléfono, Domicilio y COU.
Notación: A veces, las entidades se representan como conjuntos de la forma
{atrib1=v1,...atribn=vn} donde cada atributo de la entidad aparece una y sólo una vez.
Ej.: {DNI=01234567Z, nombre y apellidos = Manuel Vázquez Prieto, Teléfono = 91-
12345678 ,
domicilio = Calle del Jazmín 7, 4 Izq, COU = SI}
Intuición: En el enfoque clásico serían los campos de los registros.
• Atributos monovalorados y multivalorados:
Def.: Se llaman atributos multivalorados a aquellos que pueden contener más de un valor
simultáneamente, y monovalorados a los que sólo pueden contener un valor.
Ej.:
Notación:
En el diseño del modelo E-R se describen tipos (de entidades y de relaciones).
Cada tipo representa a un conjunto (de multiconjuntos de entidades o de relaciones). Sin
embargo, a menudo diremos cosas del estilo:
a) sea R un tipo de relación y (a1,a2) ∈ R … Esto es un abuso de notación que se puede traducir
como:
b) sea R un tipo de relación, r una relación de tipo R cualquiera y (a1,a2) ) ∈ r….
Sin embargo utilizaremos la notación a) porque está claro en que caso R representa un tipo o
una relación cualquiera del tipo.
Asignaturas
• Atributos: Elipses. Se conectan mediante líneas a los tipos de entidades o tipos de relación.
Teléfono
Alumnos
Teléfono
Domicilio
Esto se puede solucionar si admitimos que los atributos contengan conjuntos de valores
{ DNI=12345678V, Nomb.Ape=Luis Martínez, Telf.=01234567, … , Asignaturas={
{Cod=MD, Título=…}, {COD=IS,Título=…}, {Cod=LPI,Título=…} } }
( no es muy elegante que digamos y los siguientes 3 puntos no se pueden arreglar así)
2. Las asignaturas son siempre las mismas, con lo que por cada alumno que se matricula en la
misma asignatura hay que repetir toda la información:
{ DNI=12345678V, Nomb.Ape=Luis Martínez, Telf.=01234567, … ,
Asignaturas={ {Cod=MD, Título=…}, {COD=IS,Título=…}, {Cod=LPI,Título=…} } }
{ DNI=0000001, Nomb.Ape=Eva Manzano, Telf.=01234567, … ,
Asignaturas={ {Cod=MD, Título=…}, {COD=IS,Título=…}, {Cod=BDSI,Título=…} } }
3. Por cada profesor hay que apuntar las asignaturas que imparte. La información de las
asignaturas debe estar por tanto relacionada con la de los profesores, pero ya está incluida
con los alumnos. Hay que repetir la información de las asignaturas más redundancia.
4. No se pueden guardar los datos de una asignatura hasta que no se matricule un alumno en
ella. Puede ser que en secretaría quieran meter los datos de las asignaturas antes de empezar
el proceso de matrícula: No pueden. Una solución sería incluirlos con los datos de los
alumnos vacíos (nulos). Chapuza!
Por tanto hay que distinguir entre el tipo de entidad alumnos y el tipo de entidad asignaturas.
Ambas se relacionarán mediante un tipo de relación matrícula.
Los restantes tipos de entidad serán: profesores y aulas.
Los atributos de cada tipo de entidad:
• Alumnos: DNI, Apellidos y Nombre, Domicilio, teléfono y COU
• Asignaturas: Código, título, núm. créditos
• Profesores: DNI, Apellidos y nombre, Domicilio y teléfono
• Aulas: Edificio y núm. edificio
Diferencias:
1. En las opciones a) y c) se permite que un profesor imparta una asignatura que aún no tiene
aula (esto puede ser deseable o no).
2. El problema de a) es:
Profesor-asignatura = { ({DNI=6666666, NombreYApe=Rómulo Melón},{Cod=MD,….})
…}
Asignatura-Aula = { ({Cod=MD….},{Edif=Mates, NumAula=S103}),
({Cod=MD….},{Edif=Biológicas, NumAula=104}) }
Estas relaciones son posibles, hay más de un curso de primero y por eso la misma asignatura se
imparte en varias aulas. Ahora bien, Don Rómulo quiere saber en qué aula debe dar su clase de
discreta, y pare ello pregunta en secretaría. ¿Qué se le contesta?
Sin embargo, con la propuesta b) sí se le puede asignar a cada profesor un aula concreta para
cada una de sus asignaturas.
El problema de c) sigue siendo el mismo:
Asignatura-Aula =
{ ({Cod=MD….}, {Edif=Mates, NumAula=S103}),
({Cod=MD….}, {Edif=Biológicas, NumAula=104}),
({Cod=IS….}, {Edif=Mates, NumAula=S103}),
({Cod=IS….}, {Edif=Biológicas, NumAula=104}) }
Profesor-Aula =
{
({DNI=6666666, NombreYApe=Rómulo Melón,…}, {Edif=Mates, NumAula=S103}),
({DNI=6666666, NombreYApe=Rómulo Melón,…}, {Edif=Biológicas, NumAula=104}),
…}
Don Rómulo sabe que da 2 asignaturas, cada una en un aula, pero sigue sin saber a dónde tiene
que ir a dar MD.
Conclusión:
Una relación ternaria tiene en general más información que 3 binarias.
Núm.
Apell. y Nombre Domicilio Teléfono COU Código Título
Créditos
DNI
Nota
Supervisa
Supervisor Supervisado
Profesores Aulas
Imparte
DNI
2.4 Restricciones
Con los elementos anteriores tenemos una primera aproximación a los diagramas ER, en la que
tenemos definidos los elementos principales de los diagramas. Sin embargo, en el modelo ER
también se pueden definir numerosas restricciones sobre los tipos de entidades y tipos de
relaciones.
Ej.: En la relación supervisa un profesor puede tener a lo sumo un supervisor, pero el diagrama
anterior permite
SUPERVISOR SUPERVISADO
({DNI=666666,…}, {DNI=444444,…})
({DNI=000001,…}, {DNI=444444,…})
Para A:
(B1,C1): A1 (1), A3 (5)
(B1,C2): A1 (2), A3 (6)
(B2,C1): A2 (3)
(B2,C2): A2 (4)
Para B:
(A1,C1): B1 (1)
(A1,C2): B1 (2)
(A2,C1): B2 (3)
(A2,C2): B2 (4)
(A3,C1): B1 (5)
(A3,C2): B1 (6)
Para C:
(A1,B1): C1 (1), C2(2)
(A2,B2): C1 (3), C2(4)
(A3,B1): C1 (5), C2(6)
Cada persona tiene un único país de nacimiento, es decir, fijada una persona, existe un
país,
Por lo que parece lógico poner la restricción =1 para el tipo de entidad país en el tipo de
relación nacida. Sin embargo, fijado un país hay una cantidad no determinada en
general de personas nacidas allí, por lo que no ponemos ninguna restricción sobre el
tipo de entidad personas.
NOTA: Durante el diseño de la BD se nos plantean problemas que no estaban aclarados desde
el principio y que nos habían pasado inadvertidos:
• Dado un profesor y un aula, puede ser que el profesor imparta varias asignaturas en ese
aula, o ninguna.
Diagramas ER
Hay dos formas de expresar las restricciones de cardinalidad sobre tipos de relaciones en los
diagramas:
O bien poniendo la restricción directamente sobre la línea (=1, <= 10…) o, más común:
A R
El caso de muchas se representa con una línea sin flecha (como hasta ahora, porque no tiene
restricción).
Ej.:s
1.
O bien
=1
Personas R
Nacida País
3. Profesores y supervisores:
Profesor
Supervisor Supervisado
Supervisa
Imparte
Profesor Aula
Existen otras formas alternativas de mostrar la participación, por ejemplo mostrar las
relaciones 1 a 1 poniendo un 1 sobre cada extremo de la línea, o un 1 y un símbolo ∞
para relaciones de una a muchas.
Imparte
(0,6)
Profesor Aula
• Superclave.
Def.: Dado un tipo de entidades E en una BD, se llama superclave a cualquier conjunto de
atributos que permita distinguir a todas las entidades de cualquier instancia válida de E en la
BD.
Si alguno de los atributos de la superclave corresponde a otro tipo de entidad F se debe
verificar:
- E y F deben participar en un tipo de relación binaria R en la que F debe tener una
restricción de cardinalidad <= 1.
- Los atributos que F aporta para la clave candidata de E deben ser atributos de una clave
candidata de F.
- La participación de E en R debe ser total.
Observación:
La segunda parte de la Def.: se refiere al caso particular de los tipos de entidades débiles
que explicaremos más adelante. En general los atributos de la superclave pertenecen al tipo
de entidad.
Ejs.:
- En el caso de alumnos, el conjunto {teléfono} NO es una superclave, porque puede
haber varias personas con el mismo número de teléfono (ej. 2 hermanos). Tampoco
podemos tomar como superclave ApellidosyNombre porque puede repetirse. Una
posible superclave es {DNI}.
- El caso de profesores es análogo al anterior
- Para asignaturas tenemos en principio 2 superclaves {título} y {código}.
- Para aulas la única superclave es {Edificio, número}.
Propiedad:
Si S es una superclave y S ⊆ S’, entonces S’ superclave
Ej.:
En el caso de asignaturas tenemos en realidad 6 superclaves
{título} , {código}, {título, núm.creditos}, {código, núm.créditos}, {título, código}, {título,
código, núm.creditos}.
• Clave candidata.
Def.: Se llama clave candidata de un tipo de entidad a una superclave que no contiene
ningún subconjunto que también sea superclave. (Conjunto mínimo de atributos que forma
una superclave).
• Clave primaria.
Se llama clave primaria a la clave candidata seleccionada por el diseñador para distinguir
entre las entidades de cada instancia.
Ejs.:
• En el caso de alumnos tenemos una única clave candidata {dni} que será también la clave
primaria.
• En el caso de profesores es idéntico: tenemos una única clave candidata {dni} que será
también la clave primaria.
• En el caso de asignaturas tenemos dos claves candidatas {código} y {título}. Elegimos
como clave primaria {código}, porque:
1) es posible que en el futuro haya dos asignaturas con el mismo título (ej. : cambio de
planes de estudio) pero parece sensato obligar a que siempre tengan códigos distintos.
Diagramas ER
En los diagramas ER los atributos de la clave primaria se representan con sus nombres
subrayados.
2.4.4 Tipos de entidad débiles
Un tipo de entidades que no tiene suficientes atributos para formar una clave primaria se
denomina tipo de entidades débil.
Ej.:
Supongamos que estamos diseñando una BD para CDs de música. Vamos a utilizar la siguiente
información:
CD : Título del CD, intérprete, núm. serie
Canción: Título, duración
También deseamos relacionar las canciones con el CD al que pertenecen. Esta relación será de
muchas a una entre canciones y CD´s (a cada canción le corresponde un CD).
canciones en CD’s
intérprete
título duración Núm.serie títuloCD
Ahora bien:
El núm.serie del CD no se puede repetir en dos CD´s diferentes.
En cambio, en diferentes CD’s puede aparecer la misma canción (mismo título) y puede darse
(desgraciada casualidad) con la misma duración.
Por Ej.: supongamos que la canción “Only You” aparece en un CD de “The Platters” y
en un CD de “Cranberries” y con la misma duración. Sin embargo, son canciones diferentes
(diferentes intérpretes), es decir, entidades diferentes:
{ {título=”Only You”, Duración=2’30”}, { título =”Only You”, Duración=2’30”}} (
multiconjunto! )
Por tanto {título, duración} no es superclave y el tipo de entidad no puede tener una clave
primaria formada sólo por sus atributos.
Sin embargo, si incluimos el núm de serie del CD en la clave sí que tendremos una superclave,
clave candidata y clave primaria.
Clave primaria del tipo de entidad canciones: {núm.serie, título, duración} .
Autor
canciones en CD’s
intérprete
título duración Núm.serie títuloCD
Diagrama ER
Los tipos de entidad débiles se representan con rectángulos dobles, y el tipo de relación
(o los tipos) que permiten formar la clave se indican con un doble rombo.
canciones en CD’s
intérprete
título duración Núm.serie títuloCD
2.5.1 Generalización
Def.:
Un tipo de entidades E es una generalización de un tipo de entidades R cuando los atributos de
E están incluidos en los atributos de R.
Ejs.:
• El tipo de entidades personas con atributos DNI, ApellidosyNombre y domicilio es una
generalización de alumnos (que tiene además el atributo COU).
• El tipo de entidades personas con atributos DNI, ApellidosyNombre y domicilio es una
generalización de profesores.
• Un tipo de entidades película puede ser una generalización de los tipos de entidades
musical, documental, melodrama …
Observación:
La idea de generalización está próxima a la de herencia en la programación orientada a objetos.
personas
is a
COU
alumnos profesores
2.5.2 Agregación
El modelo E-R no permite establecer relaciones entre relaciones.
Def.:
La agregación consiste en considerar un conjunto de componentes (tipos de entidades o tipos de
relaciones) como si fueran un único tipo de entidades.
Diagramas EER
Se denota incluyendo en un rectángulo todos los componentes de la agregación.
Ej.:
Queremos gestionar partidos de un deporte. Cada partido tiene lugar entre dos equipos (el que
juega en casa y el que juega fuera) y tiene un resultado. A cada partido le corresponde también
un árbitro. Nos interesa determinar:
• Qué equipos han jugado entre sí y con qué resultado
• Quién ha arbitrado cada partido.
Equipos
Fuera de casa
Casa
Partido
Resultado
Árbitros
Partidos
Equipos
Juega
con Resultado
Anuncia Arbitra
Empresas Árbitros
Núm.
Apell. y Nombre Domicilio Teléfono COU Código Título
Créditos
DNI
Nota
Supervisa
Supervisor Supervisado
Profesores Aulas
Imparte
(0,6)
DNI
Observaciones:
- Además de representar el diagrama se deben indicar todas las suposiciones que se han
realizado (las especificaciones nunca son completas).
2.6 Conclusiones
• Ventajas del modelo E-R:
- Diseño de alto nivel: Expresa con bastante precisión el esquema conceptual
- Los diagramas de E-R permiten mantener una visión global del diseño y favorece la
comunicación entre los diseñadores.
Modelo ER Modelo ER
| |
| modelo X (ej. relacional)
| |
V V
SGBD SGBD