relaciones-en-entity-framework

Relaciones entre entidades en Entity Framework

  • 2 min

En Entity Framework, las relaciones entre clases reflejan cómo va a ser la estructura de tablas en la base de datos relacional.

Las relaciones entre tablas son una parte fundamental de las base de datos relacionales (por eso se llaman “relacionales” 😊). Permiten organizar y estructurar la información.

En Entity Framework, las relaciones entre tablas se representan como relaciones entre entidades.

Al igual que sus equivalentes en base de datos, podemos tener tres tipos de relaciones fundamentales:

  • Relación uno a uno (1:1): Una entidad A se relaciona con una única entidad B y viceversa.
  • Relación uno a muchos (1): Una entidad A puede estar relacionada con muchas entidades B, pero una entidad B solo se relaciona con una A.
  • Relación muchos a muchos (N): Muchas entidades A se relacionan con muchas entidades B y viceversa.

Vamos a repasar cada una de ellas, y las veremos en profundidad en su respectivo tutorial 👇.

Relación Uno a Uno (1:1)

Una relación uno a uno ocurre cuando una fila de una tabla está relacionada con solo una fila de otra tabla.

  • Usuario - Perfil (cada usuario tiene un único perfil).
  • Empleado - Ordenador (cada empleado tiene un único ordenador).
  • Pasaporte - Persona (cada pasaporte pertenece a una sola persona).

Relación Uno a Muchos (1)

Una relación uno a muchos ocurre cuando

  • Una entidad A puede tener muchas instancias de una entidad B
  • Pero cada instancia de B está relacionada con una sola A

Este es el tipo de relación más común en las bases de datos.

  • Editorial → Libros (una edituorial puede publicar muchos libros, un libro solo tiene una editorial)
  • Departamento → Empleados (un departamento tiene muchos empleados, un empleado tiene un único departamento)
  • Cliente → Pedidos (un cliente realiza muchos pedidos, un pedido tiene un único cliente)

Relación Muchos a Muchos (N)

Una relación muchos a muchos ocurre cuando,

  • Multiples entidades de la clase A se pueden asociar con múltiples entidades de la clase B
  • Múltiples entidades de la clase A se pueden asociad con múltiples entidades de la clase A

Este tipo de relación es más compleja debido a la necesidad de una tabla intermedia para almacenar las asociaciones.

  • Estudiantes ←→ Cursos (un estudiante toma muchos cursos, un curso tiene muchos estudiantes)
  • Productos ←→ Pedidos (un producto aparece en muchos pedidos, un pedido contiene muchos productos)
  • Usuarios ←→ Roles (un usuario tiene muchos roles, un rol pertenece a muchos usuarios)