Modelo Entidad-Relación

Una forma de dibujar los datos de un sistema antes de construirlo: qué cosas existen, qué se sabe de ellas y cómo se conectan. Lo aprenderás con el ejemplo de una biblioteca.

Rectángulo: entidad Elipse: atributo Rombo: relación
Pasa el cursor o toca una figura para ver qué representa.

¿Qué es el modelo entidad-relación?

El modelo entidad-relación (MER) representa con dibujos los datos de un sistema: las cosas que existen, lo que se sabe de ellas y cómo se conectan entre sí.

Lo propuso Peter Chen en 1976 y sigue siendo el primer paso al diseñar una base de datos: primero se dibuja el modelo y después se construyen las tablas.

Entidad

Una cosa u objeto del que se guarda información.

En la biblioteca: Persona, Libro, Autor.

Atributo

Una característica que describe a una entidad.

En la biblioteca: nombre, ISBN, título.

Relación

La asociación que une a dos o más entidades.

En la biblioteca: un Persona toma prestado un Libro.

Planificar antes de programar

Un error de diseño se corrige en un dibujo, no en una base de datos que ya está llena.

Hablar el mismo idioma

El diagrama lo entiende tanto quien programa como quien conoce el funcionamiento del negocio.

Preparar las tablas

Cada entidad termina siendo una tabla, y el modelo indica cómo se conectan entre sí.

Cómo leer un diagrama

Tres ideas bastan para interpretar cualquier modelo: qué significa cada figura, cómo se relacionan las entidades y cuántos elementos participan en cada lado.

Las figuras del modelo

Este sitio usa la notación de Chen: cada figura indica qué tipo de elemento es. Aquí están las ocho que necesitas.

Todo junto en un solo diagrama
Persona con cada tipo de atributo, y Libro relacionado con su entidad débil Ejemplar. La línea doble indica que todo ejemplar debe pertenecer a un libro.

Del concepto a la base de datos

El mismo modelo se dibuja en tres niveles. Cada uno agrega detalle al anterior. Elige un nivel para ver su definición y el ejemplo de la biblioteca.

Los tres niveles de un vistazo

ConceptualLógicoFísico
Pregunta que responde¿Qué información existe?¿Cómo se organiza en tablas?¿Cómo se implementa en un gestor?
ElementosEntidades, atributos, relaciones y cardinalidadTablas, columnas, claves primarias y foráneasTipos exactos, restricciones, índices y SQL
Depende del motorNoNo
Relaciones N:MSe dibujan tal cualSe vuelven una tabla intermediaSe crean con CREATE TABLE
En la bibliotecaPersona, Libro, Autor y PréstamoTablas SOCIO, LIBRO, AUTOR, LIBRO_AUTOR y PRESTAMOScript para PostgreSQL

Pon a prueba lo aprendido

Cinco preguntas de opción múltiple. Al terminar recibirás tu calificación y sabrás qué sección repasar.