SQL – Modelo Entidad Relación (MER)


¿Qué es el Modelo Entidad-Relación (MER)?

El Modelo Entidad-Relación es una técnica de diseño utilizada para representar datos y sus relaciones de manera visual antes de implementarlos en una base de datos relacional.

Propósito del MER:

✅ Facilitar el diseño lógico de bases de datos.
✅ Identificar correctamente las entidades y sus relaciones.
✅ Minimizar errores en la estructura de la base de datos.


Componentes del Modelo Entidad-Relación

El MER se compone de entidades, atributos, claves y relaciones, que se representan en diagramas utilizando símbolos específicos.

1. Entidades

Una entidad representa un objeto del mundo real con existencia propia. Puede ser una persona, un lugar, un evento o un concepto.

1.1 Entidades fuertes vs. Entidades débiles

Entidad fuerte: Tiene una clave primaria propia. (Ejemplo: Cliente, Producto).

Entidad débil: No tiene clave primaria propia y depende de otra entidad. (Ejemplo: Factura, Detalle de pedido).


2. Claves Primarias y Claves Foráneas

Las claves primarias y foráneas permiten la identificación única y la relación entre tablas.

2.1 Clave Primaria (PK – Primary Key)

2.2 Clave Foránea (FK – Foreign Key)


3. Atributos

Son las características o propiedades de una entidad.

3.1 Tipos de atributos:

  • Atributos simples: No pueden dividirse. (Ejemplo: Nombre, Edad).
  • Atributos compuestos: Se pueden dividir en subcomponentes. (Ejemplo: Dirección → Calle, Ciudad, País).
  • Atributos derivados: Se obtienen a partir de otros. (Ejemplo: Edad calculada a partir de la fecha de nacimiento).
  • Atributos multivaluados: Pueden tener varios valores. (Ejemplo: Teléfonos de contacto).


4. Relaciones y Cardinalidad

La cardinalidad en bases de datos SQL define la relación entre dos entidades en un modelo entidad-relación (MER). Especifica cuántas instancias de una entidad pueden o deben estar relacionadas con instancias de otra entidad.

4.1 Importancia de la Cardinalidad

  • Ayuda a diseñar correctamente la estructura de una base de datos.
  • Define restricciones en las relaciones para mantener la integridad referencial.
  • Optimiza consultas SQL al comprender las conexiones entre entidades.

4.2 Tipos de Cardinalidad

Existen tres tipos principales de cardinalidad en una base de datos relacional:

Relación 1:1 (Uno a Uno)
  • Cada entidad en una tabla se asocia con, como máximo, una entidad en otra tabla.
  • Se usa cuando una entidad tiene atributos que se deben separar en una tabla secundaria.

Ejemplo: Cada empleado tiene un solo casillero, y cada casillero pertenece a un solo empleado.

Relación 1:N (Uno a Muchos)
  • Un registro en la primera tabla puede estar relacionado con múltiples registros en la segunda tabla, pero no al revés.
  • Se usa para relaciones comunes como clientes y pedidos.

Ejemplo: Un cliente puede realizar muchas compras, pero cada compra pertenece a un solo cliente.

Relación N:M (Muchos a Muchos)
  • Un registro en una tabla puede estar relacionado con múltiples registros en otra tabla y viceversa.
  • Se implementa con una tabla intermedia.

Ejemplo: Un estudiante puede estar en varios cursos, y un curso puede tener varios estudiantes.