Atributos a las relaciones en el modelo ER

En el modelo ER, las entidades tienen atributos que pueden ser de varios tipos, como de un solo valor, de varios valores, compuestos, simples, almacenados, derivados y complejos. Pero las relaciones también pueden tener atributos asociados a ellas. Por lo general, no se recomienda otorgar atributos a las relaciones si no es necesario porque al convertir el modelo ER en un modelo relacional, las cosas pueden volverse complejas y es posible que debamos crear una tabla separada para representar la relación. Veamos varios casos y cuando necesitamos dar atributos a la relación con la ayuda de ejemplos:

1. Relación uno a uno:
en una organización, un empleado administra un departamento y cada departamento es administrado por algún empleado. Entonces, hay una participación total de la entidad em>Departamento y hay una relación uno a uno entre las entidades dadas. Ahora, si queremos almacenar la fecha de inicio a partir de la cual el empleado comenzó a administrar el departamento, podemos pensar que podemos dar el atributo Fecha de inicio a la relación que administra . Pero, en este caso, podemos evitarlo asociando el atributo Start_Date a la entidad Empleado o Departamento .


2. Relación de uno a muchos:
en una organización, muchos empleados pueden trabajar para un departamento, pero cada empleado puede trabajar para un solo departamento. Entonces, hay una relación de uno a muchos entre las entidades. Ahora, si queremos almacenar Start_Date cuando el empleado comenzó a trabajar para el departamento, en lugar de asignarlo a la relación, debemos asignarlo a la entidad Empleado . Asignarlo a la entidad de empleado tiene sentido ya que cada empleado puede trabajar para un solo departamento pero, por otro lado, un departamento puede tener muchos empleados trabajando para él y, por lo tanto, no tendría sentido si asignamos el atributo Fecha_Inicio al Departamento.


3. Relación de muchos a muchos:
en una organización, un empleado puede trabajar en muchos proyectos simultáneamente y cada proyecto puede tener muchos empleados trabajando en él. Por lo tanto, es una relación de muchos a muchos . Así que aquí asignar el Número_de_horas_de_trabajo al empleado no funcionará, ya que la pregunta será si almacenará las horas de trabajo de qué proyecto porque un solo empleado puede trabajar en varios proyectos. Similar el caso con la entidad del proyecto . Por lo tanto, nos vemos obligados a asignar el atributo Number_of_Working_hours a la relación.


Conclusión: Asigne atributos a una relación solo en el caso de una relación de muchos a muchos .

Publicación traducida automáticamente

Artículo escrito por raman_257 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *