Está en la página 1de 7

Modelo avanzado de datos

Diagrama Entidad Relación- Entidades Asociativas y de Correlación


Seguimos avanzando en el tema y damos paso a relaciones con cardinalidades que
conllevan mayor complejidad en su resolución.

Relación m:n se lee “muchos a muchos”.

Ejemplo: las entidades Equipos y componentes (solo tenemos componentes que forman
parte de algún equipo) y la relación “está compuesto por” o “es parte de”.

El análisis correspondiente para establecer las cardinalidades máximas de esta relación


sería:

Cada tupla de la entidad EQUIPOS se puede relacionar como máximo con “muchas”
tuplas de la entidad COMPONENTES y cada tupla de la entidad COMPONENTES se puede
relacionar como máximo con “muchas” tuplas de la entidad EQUIPOS.

El análisis correspondiente para establecer las cardinalidades mínimas de esta relación


sería:

Cada tupla de la entidad EQUIPOS se puede relacionar como mínimo con “una” tupla de
la entidad COMPONENTES (cada equipo tiene al menos un componente) y cada tupla de
la entidad COMPONENTES se puede relacionar como mínimo con “una” tupla de la
entidad EQUIPO. Es evidente que esta relación no la podremos resolver como en los casos
anteriores, pasando un atributo (PK) como clave foránea a la otra entidad, ya que en
ambos casos el atributo FK podría tener más de un valor y eso no está permitido en este
modelo de datos.

Por lo tanto, para resolver esta relación de muchos a muchos, se deberá generar una
nueva entidad llamada asociativa, que guarde la información de la relación entre las
entidades que la generaron y en algunos casos, además, otros atributos propios de esta
relación, dejando como PK y FK de esta entidad asociativa a la clave concatenada
(compuesta) formada por las PKs de las entidades que la generaron.

El diagrama correspondiente sería:

© Universidad de Palermo. Prohibida la reproducción total o parcial de imágenes y textos. 1


Esta relación de m:n se
rompe y genera una nueva
Entidad , llamada +Asociativa

El diagrama resultante, entonces, es el siguiente:

Relación m:1c se lee muchos a 1 condicional.

Ejemplo: Entidades: CIUDADANOS y OBRAS SOCIALES y la relación “tiene como obra


social” o “tiene como afiliado”.

El análisis correspondiente para establecer las cardinalidades máximas de esta relación


sería:

Cada tupla de la entidad CIUDADANOS se puede relacionar como máximo con “una”
tupla de la entidad OBRAS SOCIALES (por ley todos los aportes de un ciudadano
correspondientes a las obras sociales se deben asignar a una única obra social elegida por
el ciudadano o que, en su defecto, el Estado le asigna) y cada tupla de la entidad OBRAS
SOCIALES se puede relacionar como máximo con “muchas” tuplas de la entidad
CIUDADANOS.

El análisis correspondiente para establecer las cardinalidades mínimas de esta relación


sería:

Cada tupla de la entidad CIUDADANOS se puede relacionar como mínimo con “ninguna”
tupla de la entidad OBRAS SOCIALES y cada tupla de la entidad OBRAS SOCIALES se
puede relacionar como mínimo con “una” tupla de la entidad CIUDADANOS (Supongamos
que al menos tiene afiliado a su presidente).

© Universidad de Palermo. Prohibida la reproducción total o parcial de imágenes y textos. 2


Evidentemente, a esta relación no la podremos resolver pasando un atributo (PK) como
clave foránea a la otra entidad, ya que en un extremo de la relación tenemos una
cardinalidad máxima muchos y en el otro caso, una cardinalidad mínima ninguna, es decir
que no podemos pasar un atributo con más de una entrada ni tampoco el otro atributo
con valor “nulo”.

Por lo tanto, para resolver esta relación de muchos a uno condicional, se deberá generar
una nueva entidad llamada de correlación que guarde la información de la relación
entre las entidades que la generaron y en algunos casos, además, otros atributos
propios de esta relación, dejando como PK y FK de esta entidad de correlación a la clave
concatenada (compuesta) formada por las PKs de las entidades que la generaron.

El diagrama correspondiente sería:

Relación m:nc se lee “muchos a muchos condicional”.

Las entidades de este nuevo ejemplo son: Equipos y componentes, pero a diferencia del
ejemplo de la relación m:m, ahora se pueden tener componentes que aún no fueron
empleadas en equipo alguno.

El análisis correspondiente para establecer las cardinalidades máximas de esta relación


sería:

Cada tupla de la entidad EQUIPOS se puede relacionar como máximo con “muchas”
tuplas de la entidad COMPONENTES y cada tupla de la entidad COMPONENTES se puede
relacionar como máximo con “muchas” tuplas de la entidad EQUIPOS.

El análisis correspondiente para establecer las cardinalidades mínimas de esta relación


sería:

Cada tupla de la entidad EQUIPOS se puede relacionar como mínimo con “una” tupla de
la entidad COMPONENTES (cada equipo tiene al menos un componente) y cada tupla de
la entidad COMPONENTES se puede relacionar como mínimo con “ninguna” tupla de la
entidad EQUIPO.

© Universidad de Palermo. Prohibida la reproducción total o parcial de imágenes y textos. 3


Evidentemente, a esta relación no la podremos resolver pasando un atributo (PK) como
clave foránea a la otra entidad, ya que en ambos casos el atributo FK podría tener más de
un valor y eso no está permitido en este modelo de datos.

Por lo tanto, para resolver esta relación de muchos a muchos condicional, se deberá
generar una nueva entidad llamada de correlación, que guarde la información de la
relación entre las entidades que la generaron y en algunos casos, además, otros
atributos propios de esta relación, dejando como PK y FK de esta entidad asociativa a la
clave concatenada (compuesta) formada por las PKs de las entidades que la generaron.

El diagrama correspondiente sería:

Nota: cabe destacar que las entidades asociativas o de correlación también pueden tener
una PK propia y, en este caso, las pks que las originaron solo se pasarían como FK.

Ejemplo: la entidad asociativa INSCRIPCIONES, resultante de la relación m:n de las


entidades ALUMNOS y MATERIAS, podría tener como PK Nro-inscripción y como claves
foráneas: legajo-alumno y cód-materia.

Relaciones bicondicionales

Son aquellas relaciones condicionales que poseen ambas cardinalidades mínimas cero.

Un ejemplo de relación bicondicional sería:

Relación: mc:mc (se lee muchos condicional a muchos condicional).

© Universidad de Palermo. Prohibida la reproducción total o parcial de imágenes y textos. 4


Ejemplo: Entidades: VEHÍCULO y PERSONA, y la relación: “Es propietario”.

El análisis correspondiente para establecer las cardinalidades máximas de esta relación


sería:

Cada tupla de la entidad VEHICULO se puede relacionar como máximo con “muchas”
tuplas de la entidad PERSONA y cada tupla de la entidad PERSONA se puede relacionar
como máximo con muchas tuplas de la entidad VEHICULO.

El análisis correspondiente para establecer las cardinalidades mínimas sería: cada tupla de
la entidad PERSONA se puede relacionar como mínimo con ninguna tupla de la entidad
VEHICULO.

Cada tupla de la entidad VEHICULOS se puede relacionar como mínimo con ninguna
tupla de la entidad PERSONA.

Por lo tanto, para resolver esta relación mc:mc, y considerando que hay tuplas de la
entidad VEHICULOS que no están relacionadas con tupla alguna de la entidad PERSONA
y tuplas de la entidad PERSONA que no se relacionan con tupla alguna de la entidad
VEHICULO, resulta imprescindible generar una nueva entidad asociativa que relacione a
ambas entidades.

De manera análoga, todas las relaciones bicondicionales requerirán de una entidad de


correlación (asociativa) para poder relacionar a las entidades originales.

Diagrama Entidad Relación- Relaciones recursivas


Podemos decir que ocurre una relación recursiva cuando existe una asociación entre
instancias de la misma entidad.

Ejemplo 1

• Cada empleado tiene asociado un legajo, nombre, apellido y fecha de nacimiento.

© Universidad de Palermo. Prohibida la reproducción total o parcial de imágenes y textos. 5


• Cada empleado puede supervisar a varios o ningún empleado.
• Cada empleado puede ser supervisado por 1 o ningún empleado.

Para establecer las cardinalidades máximas y mínimas deberemos tener en cuenta:

a) Cada instancia de empleado, ¿con cuántas instancias de empleados supervisados


se puede asociar como máximo y como mínimo?
Respuesta: cada empleado puede supervisar a muchos o ningún empleado.
b) Cada instancia de empleado supervisado, ¿con cuántas instancias de empleado se
puede asociar como máximo y como mínimo?
Respuesta: cada empleado supervisado se puede asociar con 1 o ningún empleado
supervisor.

Ejemplo 2

Cada empleado puede estar casado con otro empleado de la empresa o con ninguno.

Para establecer las cardinalidades máximas y mínimas, deberemos tener en cuenta:

a) Cada empleado de la empresa, ¿con cuántos empleados de la misma empresa


puede estar casado como máximo y como mínimo?
b) Cada empleado casado, ¿con cuántos empleados de la empresa se puede asociar?

© Universidad de Palermo. Prohibida la reproducción total o parcial de imágenes y textos. 6


Ejemplo 3

Cada materia puede tener varias o ninguna materia correlativa.

Para establecer las cardinalidades máximas y mínimas, deberemos tener en cuenta:

a) Cada materia puede tener varias o ninguna materia correlativa.


b) Cada materia puede ser correlativa de varias o ninguna materia.

Modelo Entidad Relación Extendido


El modelo Entidad Relación Extendido (E.E.R.) agrega el concepto de herencia al modelo
de datos Entidad Relación y se utiliza en el caso de situaciones muy complejas, así como
también en el análisis y el diseño de sistemas orientado a objetos.

© Universidad de Palermo. Prohibida la reproducción total o parcial de imágenes y textos. 7

También podría gustarte