Bases de Datos Relacionales · Bases de Datos

Modelo entidad-relación

Diseñar un modelo entidad-relación de un dominio: identificar entidades, atributos, claves y relaciones con su cardinalidad, y traducirlo a un esquema relacional.

Modelo entidad-relación

Diagrama de bases de datos relacionales: tablas con relaciones y consultas SQL.
Bases de datos relacionales: modelo E-R, normalizacion y SQL.

Mapa conceptual

Primero el mapa, luego el territorio Diseñar una base de datos es decidir qué cosas existen y cómo se conectan, antes de tocar una sola fila. El diagrama entidad-relación es ese plano: barato de cambiar en el papel, carísimo de arreglar con datos encima.

Entidades

Una entidad es un objeto del dominio sobre el que queremos guardar información y que tiene identidad propia: cliente, producto, pedido, asignatura. En el diagrama se dibuja como un rectángulo. Una entidad se materializará más tarde como una tabla.

Atributos

Los atributos son las propiedades de una entidad: nombre, correo, fecha. En el modelo se representan como elipses unidas a su entidad y se traducen en columnas. Un atributo clave (subrayado) identifica sin ambigüedad cada instancia.

Claves

La clave primaria es el atributo, o combinación de ellos, que distingue inequívocamente cada entidad: el documento, el número de pedido. Debe ser única y no nula. Cuando ningún atributo natural sirve, se introduce un identificador artificial.

Relaciones

Una relación conecta entidades y captura su interacción con un verbo: cliente HACE pedido, alumno CURSA asignatura. Se dibuja como rombo o línea y se traduce, según su cardinalidad, en clave foránea o en tabla intermedia.

Cardinalidad

Participación y obligatoriedad

No toda relación es obligatoria. Un pedido requiere cliente (participación total), pero un cliente puede existir sin pedidos (participación parcial). Modelar si una relación es obligatoria y cuántas instancias mínimo y máximo admite evita esquemas que luego no reflejan la realidad.

De ER a tablas

  1. Cada entidad se convierte en una tabla con sus atributos como columnas.
  2. La clave primaria de la entidad es la clave primaria de la tabla.
  3. Una relación uno-a-muchos se resuelve poniendo la clave primaria del lado «uno» como foránea en el lado «muchos».
  4. Una relación muchos-a-muchos se materializa en una tabla intermedia con dos claves foráneas.
  5. Una uno-a-uno puede resolverse con una foránea única en cualquiera de los dos lados.

Atributos de relación

A veces la propia relación lleva datos: la fecha en que un alumno se matriculó en una asignatura no pertenece ni al alumno ni a la asignatura, sino a la matrícula. En muchos a muchos esos atributos van a la tabla intermedia.

Generalización y herencia

Entidades que comparten rasgos pueden organizarse en una superclase y subclases: Vehículo con subtipos Coche y Moto. Se modela la herencia para no duplicar atributos comunes y capturar la relación «es-un».

Clave natural frente a artificial

El correo identifica a un usuario, pero puede cambiar. Las claves naturales que mutan obligan a re-propagar la foránea por todas partes. Por eso es habitual usar un identificador artificial e inmutable, reservando la natural para la búsqueda del usuario.

Dependencia y entidades débiles

Ciertas entidades no existen sin su dueño: los elementos de un pedido carecen de sentido fuera de él. Son entidades débiles cuya clave primaria incluye la clave de la entidad dueña: una clave parcial más el identificador del pedido.

El paso de diagrama a esquema sigue reglas mecánicas.
Elemento ERSe traduce aEjemplo
EntidadtablaCliente
Atributocolumnacorreo del cliente
Relación uno-muchosclave foráneacliente id dentro de Pedido
Relación muchos-muchostabla intermediaMatricula con alumno id y asignatura id

¿Cómo se materializa normalmente una relación muchos a muchos entre alumno y asignatura?

Notación y lectura

Existen varias notaciones (pie de cuervo, Chen). Más que la forma, importa leer igual las cuatro preguntas: ¿cuántos como máximo?, ¿cuántos como mínimo?, ¿es obligatoria?, ¿dónde va la clave? Una convención clara y constante evita malentendidos entre diseñador y desarrollador.

Errores frecuentes

En el paso de modelo entidad-relación a esquema, toda relación se resuelve siempre con una única clave foránea.

Validar el modelo

Se prueba el modelo redactando preguntas reales del negocio y comprobando que el esquema las responde: ¿puedo saber todos los pedidos de un cliente? ¿un producto sin ventas? Un buen modelo responde sin forzar ni duplicar, y anticipa consultas futuras.

Piezas del modelo ER

Objeto con identidad propia
Entidad
Propiedad de una entidad
Atributo
Identifica sin ambigüedad
Clave primaria
Conecta entidades
Relación
Cuántos a cuántos
Cardinalidad
Dos foráneas, muchas a muchas
Tabla intermedia

Ordena el proceso de modelar un dominio:

Entidades
Atributos
Relaciones
Tablas

draw.io
Herramienta gratuita para dibujar diagramas entidad-relación.

Modela una biblioteca: socios, libros, préstamos. Decide entidades, atributos, relaciones y su cardinalidad. ¿Un libro físico admite varios préstamos históricos? ¿Cómo lo resolverías?

Documentación PostgreSQL
Referencia oficial de SQL y bases de datos.