Está en la página 1de 16

Bases de Datos y Sistemas de Información – Ing.

Informática – GRUPO A

Tema 2 Modelo entidad-


entidad-relación
relación

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.

Algunos conceptos y vocabulario que emplearemos en el resto del tema:

• 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.:

¡Error! No se encuentra el origen de la referencia.-1


Una persona puede tener varios números de teléfono (casa, trabajo, móvil) y puede que nos
interese tenerlos todos. En este caso haremos de teléfono un atributo multivalorado.
• Atributos simples y compuestos:
Def.: Se dice que un atributo es compuesto cuando puede descomponerse en otros
componentes o atributos más pequeños, y simple en otro caso.
Ej.:
En el caso del domicilio puede que nos interese descomponerlo a su vez en calle, el número
y la ciudad por separado.
• Clave:
Def: Atributo o conjunto de atributos cuyos valores identifican unívocamente cada entidad.
Ej.: DNI es un atributo clave de la entidad Alumno.
• Tipo de entidad:
Es el conjunto de entidades que comparten los mismos atributos (aunque con diferentes
valores para ellos).
Ej.: En nuestro caso Alumnos será un tipo de entidad que representa cualquier
multiconjunto de entidades en el que todas tengan como conjunto de atributos {DNI,
Nombre y Apellidos, ...} y valores dentro de los dominios correspondientes. Asignaturas
será otro tipo de entidad, etc.
Intuición: En el enfoque “clásico” sería el tipo de los registros. Estamos describiendo el
esquema.
• Relaciones:
Def: Conjuntos de la forma {(e1, ..., en) | e1 ∈ E1, e2 ∈ E2, ..., en ∈ En} con ei entidades y
Ei conjuntos de entidades del mismo tipo.
Ej.: Sea {a1, a2, a3, a4} un conjunto de entidades de tipo alumno (i.e. alumnos concretos) y
{b1,b2,b3} 3 asignaturas concretas. Una posible relación: {(e1,b1), (e2,b1), (e1,b2) }
diciendo que e1 está matriculado tanto en b1 como en b2 y e2 en b1.
• Tipos de relación:
Representan a todas las posibles relaciones entre conjuntos del mismo tipo. Se identifican
mediante los tipos de entidades que relacionan (y los atributos si tienen). Es el producto
cartesiano E1xE2x...xEn, siendo Ei conjuntos de entidades.
Ej.: El tipo de relación matrícula relaciona el tipo de entidad alumnos con el tipo de entidad
asignaturas.
Observación: Las relaciones también pueden tener atributos.
Cuando un mismo tipo de entidad aparece 2 o más veces en un tipo de relación se asigna un
nombre a cada papel que hace el tipo de entidad en el tipo de relación.
Ej.: En el Ej.: de secretaría, algunos profesores tienen un supervisor, por lo que definiremos
un tipo de relación supervisa que va de profesores a profesores, el primero (por Ej.:) tendrá
el papel de supervisor y el segundo de supervisado.
• Jerarquías Isa:
Def: Se dice A isa B si el conjunto de entidades B es una generalización del conjunto de
entidades A. attrib(B)⊆attrib(A). A hereda de B (en el mismo sentido de la programación
orientada a objetos).
• Atributos clave prestados (borrowed key attributes)
En una jerarquía Isa A isa B, los atributos clave de A pueden serlo también de B.

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.

¡Error! No se encuentra el origen de la referencia.-2


Observaciones:
El diseño del modelo E-R a partir del análisis inicial NO es directo. A un mismo análisis le
corresponden muchos diseños “candidatos”.
¿Cuál escoger? Muchos criterios, ninguno definitivo.
De un buen diseño depende:
- eficiencia: Muy importante en las BD (grandes cantidades de datos).
- simplicidad del código: Menos errores
- flexibilidad: Fácil de modificar

2.2 Diagramas entidad relación


Los componentes básicos de los diagramas ER son los atributos, los tipos de entidades y los
tipos de relaciones.
• Tipos de entidades: Rectángulos.

Asignaturas

• Atributos: Elipses. Se conectan mediante líneas a los tipos de entidades o tipos de relación.

Teléfono

Alumnos

• Atributos multivalorados: Una elipse con doble línea:

Teléfono

• Atributos compuestos. Los componentes de un atributo se representan a su vez como


atributos:

Calle Número Ciudad

Domicilio

• Tipos de Relación: Rombos conectados a los tipos de entidades que relacionan.

Alumnos Matricul Asignaturas

2.3 Cuestiones de diseño


Pasos en el diseño de un diagrama E-R:

¡Error! No se encuentra el origen de la referencia.-3


1. Elección de los tipos de entidad y sus atributos.
2. Elección de los tipos de relación.

2.3.1.1 Elección de los tipos de entidad y sus atributos


Del punto 1) de la especificación del problema de la secretaría se deduce que va ha haber un
tipo de entidad alumnos, pero no cuáles son sus atributos:
¿Debe incluir las asignaturas en las que está matriculado?
La respuesta es NO y hacerlo así sería un error grave.
Aparte de la idea ‘filosófica’ (cada asignatura es un objeto con significado propio, es decir, una
entidad), al mezclar en una sola entidad alumnos y asignaturas cometemos 4 errores:
1. Un alumno no tiene una asignatura asociada sino un conjunto de asignaturas asociadas. En
cambio, sí tiene un DNI asociado, una dirección asociada, etc. Por tanto las entidades serán
de la forma
{DNI=12345678V, Nomb.Ape=Luis Martínez, Telf.=01234567, Cod=MD,
Título=Matemática Discreta, Créditos=9}
{DNI=12345678V, Nomb.Ape=Luis Martínez, Telf.=01234567, Cod=IS, Título=Ingeniería
del Software, Créditos=X}
{DNI=12345678V, Nomb.Ape=Luis Martínez, Telf.=01234567, Cod=LPI,
Título=Laboratorio de programación I, Créditos=X}
Redundancia! (inf. De alumnos repetida)

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=…} } }

Redundancia! (en la inf. de las asignaturas).

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

Aún nos falta un atributo, que es la nota: ¿Dónde la ponemos?

¡Error! No se encuentra el origen de la referencia.-4


En alumnos NO (un alumno muchas notas)
En asignaturas NO (una asignatura mucho alumnos)
Va a ser un atributo del tipo de relación matrícula.

2.3.1.2 Elección de los tipos de relación


El primer tipo de relación es matrícula que relaciona cada alumno con las asignaturas en las que
está matriculado. Además, está relación tiene un atributo, nota, que se asocia cada tupla de la
relación.
El segundo tipo de relación es supervisa que va de profesores a profesores y que incluye los
papeles supervisor y supervisado.
La última es imparte que relaciona cada profesor con la asignatura que imparte y el aula en la
que da esa asignatura. Aquí también surgen varias posibilidades:
• Hacer 2 relaciones binarias. Por Ej.:, profesor con asignatura y asignatura con aula.
• Hacer una relación ternaria entre profesores, aulas y asignaturas.
• Hacer 3 relaciones binarias profesor-asignatura, profesor-aula, asignatura-aula

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:

Profesor-asignatura = { ({DNI=6666666, NombreYApe=Rómulo Melón,…},{Cod=MD,….}),


({DNI=6666666, NombreYApe=Rómulo Melón,…},{Cod=IS,….}),…}

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.

¡Error! No se encuentra el origen de la referencia.-5


Calle Número Ciudad

Núm.
Apell. y Nombre Domicilio Teléfono COU Código Título
Créditos

DNI

Alumnos Matrícula Asignaturas

Nota
Supervisa

Supervisor Supervisado

Profesores Aulas
Imparte

DNI

Apellidos y Nombre Domicilio Teléfono Edificio Número

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,…})

Que no debería ser una instancia válida de la relación.


Def:
Las restricciones son propiedades que se asocian a un tipo de entidad o de relación.
Las instancias válidas del tipo de entidad o relación son aquellas en las que se verifique el
conjunto de restricciones asociadas.
Observaciones:
Las restricciones son parte del diseño de la BD igual que los tipos de entidades o de relaciones.
Los SGBD se encargan de comprobar que la instancia verifica las restricciones más usuales.

¡Error! No se encuentra el origen de la referencia.-6


Ej.: En el caso anterior, una vez incluida la restricción, el SGBD no nos permitiría insertar la
segunda tupla.

2.4.1Cardinalidad de un tipo de relación


Def: Cardinalidad de una entidad en una relación (nivel de instancias)
Sea r una relación entre tipos de entidades E1, E2, …, Ek, entonces se dice que:
• El cardinal de Ei en r es n si dados e1∈E1, …, ei-1∈Ei-1, ei+1∈Ei+1,…ek∈ek
cualesquiera, se verifica que existen exactamente n ei ∈Ei tales que:
<e1,…, ei-1, ei, ei+1,..., ek> ∈ r.
• El cardinal de Ei en r es menor o igual que n si dados e1∈E1, … , ei-1∈Ei-1,
ei+1∈Ei+1,…,en∈Ek cualesquiera, se verifica que existen a lo sumo n ei ∈Ei tales que:
<e1,…, ei-1, ei, ei+1,..., ek> ∈ r

Ej.: Consideremos la siguiente relación (instancia) de tipo AxBxC:


A B C
A1 B1 C1 1
A1 B1 C2 2
A2 B2 C1 3
A2 B2 C2 4
A3 B1 C1 5
A3 B1 C2 6

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)

Si asumimos que en la instancia de la BD se tiene


A = {A1,A2,A3}, B={B1,B2}, C={C1,C2}

El cardinal de A en esta instancia es <=2, la de B=1 y la de C=2.

Def: Restricciones de cardinalidad. (nivel de esquema)


Se dice que un tipo de entidad participa en un tipo de relación con una restricción de
cardinalidad =n o <=n si en todas las instancias válidas del tipo de relación se verifica la
restricción. En el caso en que un tipo de entidad participe varias veces en el tipo de relación se
podrá establecer una restricción para cada papel.
Ejs.:
1.

¡Error! No se encuentra el origen de la referencia.-7


Personas R
Nacida País

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.

2. Fijado un alumno puede haberse matriculado en cualquier número de asignaturas  no hay


restricción sobre asignatura en la relación matrícula.
Fijada una asignatura, puede haberse matriculado sobre ella un número cualquiera de
alumnos  no hay restricciones sobre el tipo de entidad alumnos en la relación matrícula.

3. El supervisor de un profesor, si lo tiene, es único. El tipo de entidades profesor, en el papel


supervisor tiene cardinal <=1. El tipo de entidades profesor, en el papel supervisado no
tiene ninguna restricción de cardinal: un profesor puede supervisar a un número
indeterminado de profesores.

4. Tipo de relación imparte:


• Dado un profesor y una asignatura, existe a lo sumo (si es profesor de la asignatura) un
aula en la que se imparte clase. Restricción de cardinal para aulas: <= 1.
• Dada una asignatura y un aula, puede haber varios profesores (ej.: uno de mañana y otro
de tarde) o ninguno.

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) Restricciones de una a muchas, de muchas a una , de una a una


Concepto:
Dado un tipo de relación R entre tipos de entidad E1, E2, …., En se puede especificar una
restricción de cardinalidad distinguiendo si el tipo de entidad tiene restricción <= 1 o =1
diremos que participa con cardinalidad una o no tiene ninguna restricción (cardinalidad
muchas).
Si A participa con cardinalidad una en el tipo de relación R lo representaremos:

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.

¡Error! No se encuentra el origen de la referencia.-8


Personas R
Nacida País

O bien

=1
Personas R
Nacida País

2. Matrícula: Se queda como está.

3. Profesores y supervisores:
Profesor

Supervisor Supervisado

Supervisa

4. Tipo de relación imparte:


Asignatura

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.

2.4.2 Participación de una entidad en una relación


Sea r una relación definida sobre los tipos de entidades E1, …, Em y sea Ej ∈ {E1,…Em}:
• Participación:
Def.: Se dice que la participación de la entidad e ∈ Ej en r es n ( n ∈ N) si e ∈ Ej aparece en
n tuplas de la relación.

¡Error! No se encuentra el origen de la referencia.-9


• Participación total:
Def.: Se dice que Ej tiene participación total en r si cada entidad ej ∈ Ej se encuentra en
alguna tupla de r. En otro caso se dice que la participación es parcial.

Ej.: Consideremos la siguiente relación r de tipo AxBxC:


A B C
A1 B1 C1
A1 B1 C2
A2 B2 C1
A2 B2 C2
A3 B1 C1
A3 B1 C2

Con los multiconjuntos de entidades A = {A1,A2,A3}, B={B1,B2}, C={C1,C2}


La participación de A1, A2, A3 en esta instancia es =2, la de B1=4, la de B2=2 y la de C1=3 y
la de C2=3.

• Restricciones de participación en los esquemas


- Def.: Una restricción de participación (min,max) (min ∈ N, max ∈ N) de un tipo de
entidades Ej en un tipo de relación R indica que en todas las instancias válidas de la BD
se verifica:
e ∈ Ej  participación de e en R está entre min y max.
- Def.: Una restricción de participación total de un tipo de entidades Ej en un tipo de
relación R indica que en todas las instancias válidas de la BD, se verifica que Ej tiene
una participación total.
Ej.:s
1. La participación de alumno en matrícula tiene una restricción de participación total.
2. La participación de profesor en imparte tiene una restricción de participación (0, 6).
Diagramas ER
La restricción de participación (min,max) se representa:
Asignatura

Imparte

(0,6)

Profesor Aula

La restricción de participación total se representa como:

Alumno Matrícula Asignatura

¡Error! No se encuentra el origen de la referencia.-10


2.4.3 Unicidad de entidades: Claves
Las entidades deben poder distinguirse unas de otras a través de los valores de sus atributos.
Interesa encontrar un conjunto de atributos lo más pequeño posible que nos permita distinguir
unas entidades de otras. Estos conjuntos serán las claves.

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

¡Error! No se encuentra el origen de la referencia.-11


2) El código es más fácil de introducir (para buscar la información) (y los índices más
rápidos, pero aún no hemos hablado de índices).
• En el caso de aulas, la única superclave {edificio, núm.aula} es la única clave candidata y la
clave primaria.

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

Utilidad de las entidades débiles


También queremos relacionar cada canción con su autor o autores. Un autor viene dado por su
DNI que no puede repetirse.

¡Error! No se encuentra el origen de la referencia.-12


compositores DNI

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 Diagramas entidad relación extendidos (EER)


Los conceptos básicos del modelo E-R pueden modelar la mayoría de las situaciones, pero
algunos aspectos se pueden modelar más adecuadamente con el modelo E-R extendido.
Nuevas características:
- Generalización
- Agregación
- Especialización
- Herencia de atributos
- ...

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.

¡Error! No se encuentra el origen de la referencia.-13


Diagramas EER
La generalización se representa con un triángulo que incluye el texto is a
DNI Apellidos y Nombre Domicilio Teléfono

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.

Con el modelo E/R básico:

Equipos

Fuera de casa
Casa

Partido
Resultado

Árbitros

¡Error! No se encuentra el origen de la referencia.-14


Sin embargo, si es necesario incluir las empresas que publicitan sus productos en un partido,
¿cómo se logra?
Sería necesario introducir un tipo de entidad Empresas y un tipo de relación Anuncia. Anuncia
debería relacionar Empresas con Partidos, pero no existe esta entidad.
Posibilidad: una nueva entidad ternaria entre Equipos y Empresas, pero esto daría lugar a
redundancia en los atributos de Partido.
Solución: una agregación denominada Partidos, que se tratará como un tipo de entidad y que
puede relacionarse con Empresas.

Partidos

Equipos

Casa Fuera de casa

Juega
con Resultado

Anuncia Arbitra

Empresas Árbitros

¡Error! No se encuentra el origen de la referencia.-15


Diagrama ER completado
Calle Número Ciudad

Núm.
Apell. y Nombre Domicilio Teléfono COU Código Título
Créditos

DNI

Alumnos Matrícula Asignaturas

Nota
Supervisa

Supervisor Supervisado

Profesores Aulas
Imparte
(0,6)
DNI

Apellidos y Nombre Domicilio Teléfono Edificio Número

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.

• Desventajas del modelo E-R:


- Carece de un soporte formal y los SGBD no suelen implementarlo directamente.
Normalmente hay que transformarlo en un modelo de más bajo nivel.

Modelo ER Modelo ER
| |
| modelo X (ej. relacional)
| |
V V
SGBD SGBD

¡Error! No se encuentra el origen de la referencia.-16

También podría gustarte