El modelo entidad-relación
Las piezas del modelo de Chen: entidad, atributo, dominio y relación, con el grado, el rol, el tipo de correspondencia y la cardinalidad mínima y máxima.
Entidad, tipo de entidad, atributo y dominio
El modelo entidad-relación lo propuso Peter Chen y es la herramienta habitual del análisis conceptual: sirve para capturar los requisitos de información y dibujar la estructura de los datos antes de decidir en qué gestor van a vivir.
Un tipo de entidad es una categoría de cosas del mundo real sobre las que hay que guardar información: alumno, curso, tema, intento. Una entidad es un ejemplar concreto de esa categoría: el alumno con documento 12345678Z. La relación entre los dos términos es la misma que hay en programación entre una clase y un objeto, y por eso en el habla corriente se dice «entidad» para las dos cosas.
Un atributo es cada dato que se guarda de una entidad: el nombre del alumno, la fecha de su último intento, el número de preguntas de un tema. Y el dominio de un atributo es el conjunto de valores que ese atributo puede tomar: el dominio de «nivel de un tema» es {1, 2, 3} y el de «porcentaje de aciertos» son los números entre 0 y 100.
El tipo de entidad es la plantilla y la entidad es el ejemplar. El dominio no es el valor de un atributo: es el conjunto de valores que ese atributo tiene permitido tomar.
Para el examen
Autor del modelo E/R: Peter Chen
Tipo de entidad frente a entidad: plantilla frente a ejemplar
Dominio: conjunto de valores permitidos de un atributo, no su valor actual
Tipos de atributo en la notación E/R
No todos los atributos se comportan igual, y la notación gráfica del modelo distingue varias clases. Lo que se pregunta no es el dibujo, sino saber a qué clase pertenece un atributo dado.
| Tipo de atributo | Qué significa | Ejemplo |
|---|---|---|
| Simple o atómico | No se puede descomponer en partes con significado propio | El nivel de un tema |
| Compuesto | Se descompone en varios atributos con sentido por separado | El periodo de una suscripción, que se abre en fecha de inicio y fecha de fin |
| Multivalorado | Un mismo ejemplar puede tener varios valores a la vez | Los teléfonos de contacto de un alumno |
| Derivado o calculado | No se almacena porque se obtiene a partir de otros | El porcentaje de aciertos, que sale de los aciertos y del total de preguntas |
| Identificador o clave | Su valor distingue a un ejemplar de todos los demás | El documento de identidad del alumno |
| Clave parcial o discriminante | Distingue los ejemplares de una entidad débil, pero solo dentro de su entidad fuerte | El número de orden de un intento dentro de un mismo test |
Los tipos de entidad también se distinguen gráficamente entre fuertes y débiles, y una relación de jerarquía se dibuja con un símbolo propio. Todo eso se explica en el subtema siguiente, que es donde tiene consecuencias.
Para el examen
Compuesto: se descompone en otros
Multivalorado: admite varios valores a la vez
Derivado: se calcula y no se almacena
Clave parcial o discriminante: solo distingue dentro de la entidad fuerte
La relación: grado, rol y atributos propios
Una relación (o interrelación) es una asociación con significado entre tipos de entidad: un alumno se matricula en un curso, un intento pertenece a un test. Es el segundo elemento fundamental del modelo y el que da nombre al método.
El grado de una relación es cuántos tipos de entidad participan en ella. Nombrar bien el grado es una pregunta habitual y no tiene misterio, pero se confunde con la cardinalidad.
| Grado | Nombre | Ejemplo |
|---|---|---|
| 1 | Unaria o reflexiva | Un tema es prerrequisito de otro tema |
| 2 | Binaria | Un alumno se matricula en un curso |
| 3 | Ternaria | Un alumno falla una pregunta en un intento concreto |
| 4 | Cuaternaria | Cuatro tipos de entidad a la vez |
| 5 o más | N-aria, sin nombre propio | Poco frecuentes y casi siempre señal de que falta descomponer |
El rol es el papel que desempeña cada tipo de entidad dentro de la relación. Se escribe como un texto junto al extremo correspondiente y es imprescindible en las relaciones reflexivas, donde el mismo tipo de entidad aparece dos veces: sin los roles «es prerrequisito de» y «tiene como prerrequisito» el diagrama no se puede leer.
Una relación también puede tener atributos propios, que no pertenecen a ninguna de las entidades que enlaza sino al hecho de que estén relacionadas. La fecha en que un alumno se matriculó en un curso no es un dato del alumno ni del curso: es un dato de la matriculación.
Grado es cuántos tipos de entidad participan. Cardinalidad es cuántas ocurrencias se asocian. Son dos preguntas distintas sobre la misma relación.
Para el examen
Grado de una relación: cuántos tipos de entidad participan: unaria, binaria, ternaria…
Rol: obligatorio en las relaciones reflexivas
Atributos propios: una relación puede tenerlos: la fecha de matriculación
Cardinalidad, tipo de correspondencia y la etiqueta (mín, máx)
La cardinalidad de una relación expresa cuántas ocurrencias de un extremo se asocian con una ocurrencia del otro extremo. De ahí sale el tipo de correspondencia, que resume la relación con las máximas de los dos lados: uno a uno (1:1), uno a muchos (1:N) o muchos a muchos (N:M).
- 1:1. Un alumno tiene una suscripción activa y una suscripción activa pertenece a un alumno.
- 1:N. Un curso agrupa muchos temas, pero cada tema pertenece a un solo curso.
- N:M. Un alumno realiza muchos intentos de test y un test lo intentan muchos alumnos.
El tipo de correspondencia se queda corto porque solo recoge los máximos y no dice si la participación es obligatoria. Para eso se usa la etiqueta de cardinalidad mínima y máxima, escrita como un par (mín, máx). La mínima vale 0 cuando la participación es opcional y 1 cuando es obligatoria; la máxima vale 1 o n. Combinando ambas se obtienen las cuatro etiquetas posibles: (0,1), (1,1), (0,n) y (1,n).
La pregunta que resuelve la etiqueta es siempre la misma: tomada una ocurrencia de una entidad, ¿con cuántas ocurrencias de la otra puede estar asociada como mínimo y como máximo? Si un alumno puede no haber hecho ningún intento y puede haber hecho muchos, la respuesta para el alumno es (0,n). Si todo intento pertenece obligatoriamente a un solo alumno, la respuesta para el intento es (1,1).
Cuidado con dónde se dibuja la etiqueta, porque hay dos convenciones en circulación. En la más extendida en el material de oposiciones español, el par va junto a la entidad cuya participación describe. En otra convención igual de válida, muy usada cuando se etiquetan correspondencias 1:N, el par se escribe en el extremo contrario. En el examen, lo seguro es leer qué pregunta responde el diagrama en lugar de fiarse de la posición: si la etiqueta dice (1,n) y al otro lado dice (1,1), la relación es uno a muchos, esté escrita donde esté.
El tipo de correspondencia solo mira las máximas. La etiqueta (mín, máx) añade la información que de verdad decide el diseño: si participar es obligatorio u opcional.
Para el examen
De dónde sale el tipo de correspondencia: solo de las cardinalidades MÁXIMAS
Qué aporta la mínima: la obligatoriedad: 0 opcional, 1 obligatoria
Las cuatro etiquetas posibles: (0,1), (1,1), (0,n) y (1,n)
La notación de pata de gallo
Además de la notación de Chen existe la notación de pata de gallo (crow’s foot), que es la que traen casi todas las herramientas de diseño actuales. Dice exactamente lo mismo, pero en lugar de escribir números dibuja símbolos en los extremos de la línea que une las dos entidades.
Cada extremo lleva dos marcas: la de más cerca de la entidad indica el máximo y la de detrás indica el mínimo. Un trazo perpendicular significa uno, una horquilla de tres puntas (la pata de gallo, que es lo que da nombre a la notación) significa muchos y un círculo significa cero.
| Equivale a | Mínimo | Máximo | Se lee |
|---|---|---|---|
| (0,1) | Círculo | Trazo | Cero o uno: opcional y a lo sumo uno |
| (1,1) | Trazo | Trazo | Exactamente uno: obligatorio y único |
| (0,n) | Círculo | Pata de gallo | Cero o muchos: opcional y sin tope |
| (1,n) | Trazo | Pata de gallo | Uno o muchos: obligatorio y sin tope |
La ventaja práctica de esta notación es que se lee de un vistazo si la participación es obligatoria, algo que en un diagrama de Chen con muchas etiquetas numéricas cuesta más ver.
Para el examen
Trazo: uno
Horquilla: muchos
Círculo: cero
Cómo se lee: la marca pegada a la entidad es el máximo; la de detrás, el mínimo