Modelo entidad-relación (MER): guía completa con ejemplos

Aprende qué es el modelo entidad-relación (MER), entidades, cardinalidades y generalización. Con notación de Chen y Martin y un caso práctico resuelto.

Antes de escribir una sola línea de CREATE TABLE, hay una pregunta que decide si tu base de datos va a funcionar bien o va a ser un dolor de cabeza durante años: ¿qué datos existen realmente en este negocio y cómo se relacionan entre sí?Responder eso es lo que llamamos modelado de datos. Y aunque suene abstracto, en la práctica es lo más parecido a hacer los planos antes de construir una casa. Nadie levanta paredes y después decide dónde va el baño.En este post vamos a recorrer todo el camino: qué es el modelado de datos, sus tres niveles, cómo se construye un modelo entidad-relación, y las dos notaciones más usadas para dibujarlo. Al final, resolvemos un caso completo de un taller mecánico con ambas notaciones.

1. ¿Qué es el modelado de datos?

El modelado de datos ayuda a definir y estructurar los datos en el contexto de los procesos empresariales a los que sirven. No es un ejercicio académico: es lo que sostiene activamente el desarrollo del software.Además, modelar te obliga a tomar decisiones que después son carísimas de cambiar:Cómo se van a almacenar los datosCómo se van a compartir entre módulos, sistemas o equiposCómo se van a actualizarCómo se van a aprovechar para generar valor

Los tres niveles del modelado

El proceso no se hace de un solo golpe. Se descompone en tres modelos que se encadenan: la salida de uno es la entrada del siguiente.

2. El modelo conceptual

El modelo conceptual, también llamado entidad-relación (MER), fue expuesto por Peter P. Chen en 1976. Es una técnica de representación gráfica de un conjunto de datos (las entidades) y las relaciones existentes entre ellos.Sus características principales:Refleja solo la existencia de los datos, no sus transformaciones. Dice qué hay, no qué se hace con ello. Ojo con esto: es la confusión número uno de quien viene de diagramas de flujo.Incluye todos los datos del sistema en estudio, por lo que está orientado a cualquier tipo de aplicación.Es independiente del sistema operativo donde vaya a convivir la base de datos.No es restrictivo respecto al espacio, al almacenamiento ni al tiempo de ejecución.Es fácil de mantener y está abierto a la evolución del sistema.Esa independencia es justo lo que lo hace valioso: un buen MER sigue siendo válido si mañana cambias de MySQL a PostgreSQL, o si migras de un servidor local a la nube.

3. Las piezas del MER

El modelo entidad-relación está formado, como su nombre indica, por entidades y relaciones. Vamos pieza por pieza.

3.1 Entidad

Una entidad es un ente real o irreal que existe y del cual se desea almacenar información.Que sea "irreal" no es un capricho: un pedido, una matrícula o una reserva no son objetos que puedas tocar, pero existen conceptualmente y necesitas guardar información sobre ellos.Una entidad es un conjunto de ocurrencias, es decir, un conjunto de datos de un determinado individuo, objeto o cosa. Y a cada uno de los diferentes datos de la ocurrencia se le llama atributo.

Entidades regulares (fuertes o propias)

Son aquellas que tienen existencia por sí mismas y cuyas ocurrencias son identificables por sí mismas. Se representan con un rectángulo y su nombre, que suele ser un sustantivo.CLIENTE, PRODUCTO, PROVEEDOR: todas existen sin depender de nadie.

Entidades débiles

Son aquellas cuyas ocurrencias solo son identificables por estar asociadas a otra u otras entidades: alguno de los atributos que las identifican se refiere a otra entidad.El ejemplo clásico: una LÍNEA DE PEDIDO no significa nada por sí sola. "Línea número 3" no identifica nada; necesitas saber línea 3 de qué pedido.

En Oracle Data Modeler las entidades débiles se representan igual que las regulares, pero con peculiaridades propias de la herramienta.

3.2 Relación

Una relación es una asociación o correspondencia entre diferentes entidades. Se representa mediante un rombo con un nombre que es un verbo.Ese detalle del verbo importa más de lo que parece. Si no puedes nombrar la relación con un verbo claro (compra, suministra, notifica, imparte), probablemente no tienes clara la regla de negocio que estás modelando.

3.3 Grado de una relación

El grado se define como el número de entidades que participan en la relación:Grado 1 (reflexiva): una entidad se relaciona consigo misma. Ejemplo: un EMPLEADO supervisa a otro EMPLEADO.Grado 2 (binaria): intervienen dos entidades. Es el caso más frecuente con diferencia.Grado 3 (terciaria): intervienen tres entidades. Y así sucesivamente.

3.4 Tipo de correspondencia

El tipo de correspondencia representa la participación en la relación de cada una de las entidades afectadas, es decir, el número máximo de ocurrencias de cada entidad que pueden intervenir en una ocurrencia de la relación.Hay tres tipos:1:1 (una a una). A cada ocurrencia de una entidad le corresponde no más de una de la otra, y viceversa. Ejemplo: un país tiene una capital y una capital pertenece a un país.1:N (una a muchas). A cada ocurrencia de la primera entidad le corresponden varias de la segunda, y a la de la segunda le corresponde una de la primera. Ejemplo: un cliente realiza muchos pedidos, pero cada pedido es de un solo cliente.M:N (muchas a muchas). A cada ocurrencia de la primera entidad pueden corresponderle más de una ocurrencia de la segunda, y viceversa. Ejemplo: un alumno cursa varias asignaturas y una asignatura tiene varios alumnos.

3.5 Cardinalidad

Aquí está la parte que más se atraganta, así que vamos despacio.La cardinalidad de una entidad en una relación mide el máximo y el mínimo de ocurrencias de una entidad que pueden estar relacionadas con una ocurrencia de otra u otras entidades que participan en la relación. Se pone una a cada lado de la relación.La clave para no perderse: la cardinalidad se escribe como (mínimo, máximo).El mínimo responde a: ¿es obligatorio? → 0 = no, 1 = síEl máximo responde a: ¿cuántos como mucho? → 1 = uno, n = muchos

Cardinalidad
Definición
(1,1)
A cada elemento de la entidad le corresponde otro en la otra entidad (obligatoriedad)
(0,1)
A cada elemento de la entidad le puede corresponder uno o ningún elemento en la otra entidad (no obligatoriedad)
(1,n)
A cada elemento de la entidad le puede corresponder uno o más elementos en la otra entidad (obligatoriedad)
(0,n)
A cada elemento de la entidad le puede corresponder ninguno, uno o más elementos en la otra entidad (no obligatoriedad)

Tabla: diferentes tipos de cardinalidades existentes en el análisis de datos.

Truco de examen: cuando dudes, tradúcelo a una frase con "al menos" y "como mucho". (0,n) = "al menos ninguno y como mucho muchos". Si la frase suena rara para tu caso, la cardinalidad está mal.

3.6 Relaciones débiles: dos tipos de dependencia

Cuando una entidad débil se relaciona con la fuerte de la que depende, esa relación puede ser de dos tipos:Dependencia de existencia. Las ocurrencias de la entidad débil no pueden existir si desaparece la ocurrencia fuerte de la que dependen. Estas se tratan como si fueran una relación entre dos entidades regulares.Dependencia de identificación. Se cumple la dependencia de existencia y además la entidad débil no puede identificarse únicamente con sus atributos propios: necesita añadir la clave de la entidad regular de la que depende.La diferencia práctica: en la de existencia el problema es sobrevivir; en la de identificación, además, el problema es tener nombre propio.

3.7 Identificadores y claves

Aquí cerramos el vocabulario básico:Ocurrencia: conjunto de atributos de un determinado elemento de una relación o entidad. (Una fila, para entendernos.)Atributo: la unidad indivisible de una entidad o relación. Sirve para identificar y definir a la entidad o la relación.Identificador (superclave o determinante): conjunto de uno o más atributos que permiten identificar de forma única una ocurrencia de una entidad dentro de un conjunto de ellas.Claves candidatas: aquellas que pueden ser claves primarias. De entre las claves candidatas, una de ellas será la clave principal, la cual identifica unívocamente a cada ocurrencia.Clave ajena (foránea): el atributo o conjunto de atributos de una entidad que son clave primaria en otra entidad. Es el pegamento que une las tablas.

4. Generalización: supertipos y subtipos

A veces varias entidades comparten tantos atributos que separarlas es absurdo... pero unirlas del todo tampoco funciona. Ahí entra la generalización.Una entidad o supertipo puede descomponerse en subentidades o subtipos; a esto se le conoce como jerarquías entre entidades. Los atributos del supertipo son heredados por el subtipo, pero no al revés. Una generalización se anota en el modelo mediante un triángulo invertido.Si has visto herencia en programación orientada a objetos, es exactamente la misma idea.Para trabajar con jerarquías hay que manejar dos pares de conceptos:

4.1 Totalidad y parcialidad

Un supertipo es jerárquico total si los subtipos cubren todos los posibles estados del supertipo. Si solo cubrieran parte de los estados, sería parcial.Si es total, se pone un círculo encima del triángulo invertido.Si es parcial, no se pone nada.Caso de totalidad: un supertipo PERSONA con los subtipos infancia, adolescencia, adulto y tercera edad. No existen otros subtipos que cubran la vida de una persona, así que la jerarquía es total. Si faltara uno o varios de esos subtipos, sería parcial.

Nota: en Data Modeler esta situación no se contempla.

4.2 Exclusiva o solapada

Un supertipo es jerárquico solapado si puede haber ocurrencias que pertenezcan a más de uno de los subtipos. Si las ocurrencias fueran disjuntas, sería exclusiva.Si es exclusiva, se representa mediante un arco.Caso de solapada: un supertipo PERSONA con dos subtipos, trabajador y estudiante. Puede haber personas que solo estudien, personas que solo trabajen, o personas que hagan ambas cosas. Si no se cumpliera el caso de "ambas cosas", sería exclusiva.

4.3 Las cuatro combinaciones

Combinando ambos criterios salen cuatro jerarquías posibles en notación de Chen:

Jerarquía
Círculo (total)
Arco (exclusiva)
Solapada parcial
Solapada total
Exclusiva parcial
Exclusiva total

Regla mnemotécnica para memorizarlo:

🔵 Círculo = Total (cubre todo, por eso se "cierra" el círculo) 🌙 Arco = Exclusiva (el arco separa, no deja que se mezclen)

5. Metodologías para confeccionar el MER

Ya sabemos qué hay que representar. Falta el cómo dibujarlo. Existen dos notaciones dominantes.

5.1 Metodología de Chen

La notación de Chen suele resultar muy efectiva a la hora de modelar conceptos del mundo real: representa las entidades que intervienen y las relaciones entre ellas.Los diagramas de Chen son un primer paso para comprender la estructura de la base de datos y son muy adecuados para la realización de tormentas de ideas y diagramas rápidos.Existen muchas herramientas capaces de desarrollar esta metodología. Una de las más efectivas, gratuita y online, es ERDPlus.

Simbología de Chen

Tabla: simbología de la metodología de Chen.Hay una lógica muy elegante detrás: lo doble es lo débil o lo complejo. Rectángulo doble = entidad débil. Rombo doble = relación M:N.

5.2 Metodología de Martin

La metodología de Martin también es bastante efectiva a la hora de modelar el mundo real en entidades y las interrelaciones sobre estas. Los diagramas de Martin son una primera aproximación para entender cómo será la base de datos futura.Es una metodología más simple que la anterior: además de la entidad regular y la débil, las relaciones están basadas en líneas. Toda la información de cardinalidad viaja en la propia línea:Si la línea es discontinua → indica opcionalidad: el valor mínimo de la cardinalidad es 0.Si la línea es continua → indica obligatoriedad: el mínimo es 1.La cardinalidad máxima se detecta con el símbolo < al final de la línea (la famosa "pata de gallo"): si tiene el símbolo indica muchos; si no lo tiene, uno.Y ya está. Con esas tres reglas lees cualquier diagrama de Martin.

Simbología de Martin

5.3 ¿Cuál uso?

Chen
Martin
Legibilidad para principiantes
Alta: cada concepto tiene su símbolo
Media: hay que aprender el código de las líneas
Espacio que ocupa
Mucho (cada atributo es una elipse)
Poco (atributos dentro de la caja)
Mejor para
Enseñar, tormenta de ideas, diagramas rápidos
Modelos grandes, paso a implementación
Herramienta sugerida
ERDPlus
Oracle SQL Developer Data Modeler

En la práctica: Chen para pensar, Martin para trabajar.

6. Caso práctico resuelto: el taller de reparaciones

Nada de esto se asienta hasta que lo aplicas. Vamos con un caso completo.

El enunciado

Taller Mecánico Nor Andino atiende reparaciones de vehículos livianos y quiere dejar atrás sus cuadernos de registro. El dueño le explica al analista cómo funciona el negocio:Cada cliente que llega al taller queda registrado con un código interno, su nombre completo, su DNI, un teléfono de contacto y su dirección. Un cliente puede traer al taller más de un vehículo, y de hecho varios clientes de flota traen tres o cuatro.De cada vehículo se anota la placa, la marca, el modelo y el año de fabricación. La placa es única, así que sirve para identificarlo.Cuando el mecánico revisa un vehículo, registra cada avería detectada por separado: le asigna un código, escribe una descripción, la fecha en que se detectó y el importe presupuestado de la reparación. Cada avería queda en estado notificada hasta que el cliente decide si la aprueba o la rechaza, porque nada se repara sin su visto bueno.Una vez terminados los trabajos, el taller emite una única factura que agrupa todas las averías aprobadas de ese vehículo. De la factura se guarda el número, la fecha de emisión y el total. Puede haber averías rechazadas que nunca lleguen a facturarse.Reparar una avería suele exigir cambiar repuestos. De cada repuesto se registra su código, descripción, precio de venta y stock disponible. Una misma avería puede consumir varios repuestos, y un mismo repuesto se usa en muchas averías distintas; por eso interesa saber cuántas unidades se consumieron en cada caso.Los repuestos llegan al almacén del taller por medio de proveedores, identificados por su código, razón social, teléfono y categoría. Un proveedor abastece varios repuestos y un mismo repuesto puede comprarse a más de un proveedor, así que conviene registrar de cada compra la cantidad, la fecha y el precio pactado.Se pide: diseñar el modelo entidad-relación con la metodología de Chen y con la de Martin.

Paso 1: identificar las entidades

Una técnica sencilla: subraya los sustantivos del enunciado y pregúntate de cuáles necesitas guardar información. Aquí salen seis: CLIENTE · VEHICULO · AVERIA · FACTURA · REPUESTO · PROVEEDOR

Atención a este detalle, que es el que más se falla. Sería tentador guardar la placa como un simple atributo de CLIENTE y ahorrarse una entidad. Pero el enunciado dice que un cliente puede traer más de un vehículo, y un atributo solo admite un valor. Si metes la placa dentro de CLIENTE, el modelo te obliga a duplicar el cliente entero por cada carro que traiga.La regla práctica: si algo puede repetirse para una misma ocurrencia y además tiene datos propios, no es un atributo, es una entidad.

Paso 2: identificar los atributos

De cada entidad extraemos los datos que el enunciado menciona. La clave primaria va en negrita:

Fíjate en la convención de nombres: tres letras del dato + guion bajo + nombre de la entidad. Cuando el modelo crece a cuarenta tablas, saber de un vistazo a qué entidad pertenece cada columna te ahorra muchísimo tiempo. Elige la convención que quieras, pero elige una y no la rompas nunca.Nota también que pla_vehiculo es clave primaria y no hemos inventado un código artificial: cuando el mundo real ya te da un identificador único y estable, úsalo.

Paso 3: identificar las relaciones y sus cardinalidades

Ahora los verbos. Y con cada verbo, la pregunta de la cardinalidad: ¿cuántos como mínimo y cuántos como máximo?

La cardinalidad que ponemos junto a cada entidad indica en cuántas ocurrencias de la relación participa cada ocurrencia de esa entidad. Leámoslas en voz alta, que es la única forma de validarlas:

CLIENTE (1,n) → un cliente registrado tiene al menos un vehículo y puede tener muchos.

VEHICULO (1,1) → cada vehículo pertenece a un único cliente, obligatoriamente.

AVERIA (0,1) → una avería puede no estar en ninguna factura (si el cliente la rechazó) o estar en una sola.

Aquí es donde el enunciado nos obligó a poner un cero, y por eso conviene leer el enunciado buscando las excepciones.FACTURA (1,n) → una factura no existe vacía: agrupa al menos una avería.

Paso 4: los atributos de las relaciones

Dos de las relaciones llevan atributos propios, y esto es importante:

Relación
Atributos propios
requiere (AVERIA ↔ REPUESTO)
cantidad
— unidades de ese repuesto consumidas en esa avería
suministra (PROVEEDOR ↔ REPUESTO)
cantidad
,
fec_compra
,
pre_compra

¿Por qué no pueden ir dentro de una entidad? Porque no pertenecen ni a una ni a la otra. El precio al que un proveedor te vendió un repuesto no es un dato del repuesto (cada proveedor te lo cobra distinto) ni del proveedor (te vende cosas distintas a precios distintos): es un dato del hecho de la compra.Regla práctica: si un dato solo tiene sentido cuando existen las dos ocurrencias a la vez, pertenece a la relación. Y las relaciones M:N son las que más suelen tener atributos propios.

Paso 5: el diagrama de Chen

Paso 6: el diagrama de Martin

Caso práctico 2: control académico de una universidad

El enunciado

El área de registros académicos de una universidad quiere reemplazar sus hojas de cálculo por una base de datos. Esto es lo que le explican al analista:De cada alumno se registra un código interno, su nombre completo, su DNI, el correo institucional y la fecha en que ingresó.Todo alumno pertenece a una única carrera, y una carrera reúne a muchos alumnos. De cada carrera se guarda su código, su nombre y la duración en ciclos.Una asignatura se identifica por su código, y de ella se anota el nombre, el número de créditos y el ciclo en que se dicta. Cada asignatura pertenece a una sola carrera, mientras que una carrera ofrece muchas asignaturas.Cada asignatura tiene un docente responsable, y un mismo docente puede tener varias asignaturas a su cargo. Del docente se registra su código, nombre, especialidad y correo institucional.Un alumno se matricula en muchas asignaturas y una asignatura reúne a muchos alumnos matriculados. De cada matrícula interesa saber la nota obtenida, la fecha en que se matriculó y el número de intento, porque un alumno puede llevar la misma asignatura más de una vez.Se pide: diseñar el modelo entidad-relación con la metodología de Chen y con la de Martin.

Paso 1: identificar las entidades

ALUMNO · CARRERA · ASIGNATURA · DOCENTE

La trampa de este caso. Casi todo el mundo crea una entidad CALIFICACION o NOTA. Y es un error.Pregúntate: ¿existe una nota por sí sola? No. Una nota solo existe cuando hay un alumno concreto y una asignatura concreta a la vez. No es un ente del que queramos guardar información: es el dato que produce el cruce de dos entidades.Por eso la nota es un atributo de la relación matricula, no una entidad. Fíjate en que es la trampa exactamente inversa a la del taller mecánico: allí sobraba un atributo que debía ser entidad (VEHICULO); aquí sobra una entidad que debe ser atributo.

Paso 2: identificar los atributos

Entidad
Atributos
ALUMNO
cod_alumno, nom_alumno, dni_alumno, ema_alumno (correo), ing_alumno (fecha de ingreso)
CARRERA
cod_carrera, nom_carrera, dur_carrera (duración en ciclos)
ASIGNATURA
cod_asignatura, nom_asignatura, cre_asignatura (créditos), cic_asignatura (ciclo)
DOCENTE
cod_docente, nom_docente, esp_docente (especialidad), ema_docente (correo)

Misma convención que en el caso anterior: tres letras del dato + guion bajo + nombre de la entidad.

Paso 3: identificar las relaciones y sus cardinalidades

Relación
Entidades
Cardinalidades
Correspondencia
estudia
ALUMNO ↔ CARRERA
ALUMNO (1,1) · CARRERA (1,n)
1:N
ofrece
CARRERA ↔ ASIGNATURA
CARRERA (1,n) · ASIGNATURA (1,1)
1:N
imparte
DOCENTE ↔ ASIGNATURA
DOCENTE (1,n) · ASIGNATURA (1,1)
1:N
matricula
ALUMNO ↔ ASIGNATURA
ALUMNO (0,n) · ASIGNATURA (0,n)
M:N

Leídas en voz alta:ALUMNO (1,1) → todo alumno estudia una carrera, y solo una.CARRERA (1,n) → una carrera tiene al menos un alumno y puede tener muchos.ASIGNATURA (1,1) en ofrece → cada asignatura pertenece a una sola carrera. Es la restricción que pedía el enunciado.ALUMNO (0,n) en matricula → el cero importa: un alumno recién ingresado todavía no se matriculó en nada.

Paso 4: los atributos de la relación

La relación matricula lleva tres atributos propios:

Atributo
Por qué vive en la relación
nota
La nota es de un alumno en una asignatura. Ni el alumno «tiene una nota», ni la asignatura tampoco.
fec_matricula
La fecha del acto de matricularse, no del alumno ni del curso.
num_intento
Cuántas veces ese alumno ha llevado esa asignatura. Solo tiene sentido con ambos presentes.

Aquí está la ventaja de haber resistido la tentación de crear la entidad CALIFICACION: los tres datos caen de forma natural en el mismo sitio.

Paso 5 y 6: los diagramas

Caso práctico 3: empleados de un departamento (con generalización)

El enunciado

El departamento comercial de una empresa quiere ordenar la información de su personal. El jefe de área lo describe así:De todo empleado se registra su DNI, nombre completo, dirección, teléfono y sueldo. Cada empleado pertenece a un solo departamento, y un departamento tiene varios empleados a su cargo. Del departamento interesa su código, su nombre y su ubicación.Los empleados se agrupan en tres perfiles: desarrolladores, vendedores y compradores — aunque hay personal que no encaja en ninguno de los tres, como el equipo administrativo. Nadie desempeña dos perfiles a la vez.De los desarrolladores se anota la metodología con la que trabajan.De los vendedores se anota su comisión. Cada vendedor atiende a determinados clientes y un mismo cliente puede ser atendido por varios vendedores; interesa saber desde qué fecha se le asignó cada cliente. Del cliente se guarda su código, nombre y teléfono.De los compradores se anota la información de compra y el presupuesto asignado. Un comprador negocia con varios proveedores, pero cada proveedor tiene asignado un único comprador como contacto. Del proveedor se guarda su código, nombre, dirección y teléfono.Se pide: diseñar el modelo entidad-relación con la metodología de Chen y con la de Martin.

Paso 1: identificar entidades, supertipo y subtipos

Entidades regulares: DEPARTAMENTO · EMPLEADO · CLIENTE · PROVEEDORSupertipo: EMPLEADO → subtipos: DESARROLLADOR · VENDEDOR · COMPRADOR

La clave de este caso está en dos frases del enunciado. Son las que deciden el tipo de jerarquía, y hay que cazarlas al leer:«hay personal que no encaja en ninguno de los tres» → la jerarquía es parcial. En Chen: sin círculo.«nadie desempeña dos perfiles a la vez» → la jerarquía es exclusiva. En Chen: con arco.Resultado: jerarquía exclusiva parcial. Si el enunciado no dijera nada, tendrías que preguntarle al cliente: no se puede adivinar.

Paso 2: identificar los atributos

Del supertipo (los heredan los tres subtipos)

Entidad
Atributos
EMPLEADO
dni_empleado, nom_empleado, dir_empleado, tel_empleado, sue_empleado

De cada subtipo (solo los propios)

Subtipo
Atributos
DESARROLLADOR
met_desarrollador (metodología)
VENDEDOR
com_vendedor (comisión)
COMPRADOR
inf_comprador (información de compra), pre_comprador (presupuesto)

Un vendedor tiene seis atributos: los cinco de EMPLEADO más su comisión. Pero solo se dibuja la comisión, porque los demás ya están arriba. La herencia baja, nunca sube: EMPLEADO no tiene comisión.

Del resto de entidades

Entidad
Atributos
DEPARTAMENTO
cod_departamento, nom_departamento, ubi_departamento
CLIENTE
cod_cliente, nom_cliente, tel_cliente
PROVEEDOR
cod_proveedor, nom_proveedor, dir_proveedor, tel_proveedor

Paso 3: identificar las relaciones y sus cardinalidades

Relación
Entidades
Cardinalidades
Correspondencia
emplea
DEPARTAMENTO ↔ EMPLEADO
DEPARTAMENTO (1,n) · EMPLEADO (1,1)
1:N
atiende
VENDEDOR ↔ CLIENTE
VENDEDOR (1,n) · CLIENTE (1,n)
M:N
negocia
COMPRADOR ↔ PROVEEDOR
COMPRADOR (1,n) · PROVEEDOR (1,1)
1:N

Fíjate en un detalle que se pasa por alto: las relaciones salen de los subtipos, no del supertipo. atiende cuelga de VENDEDOR, porque un desarrollador no atiende clientes. Colgarla de EMPLEADO sería un error de modelado: estarías afirmando que cualquier empleado puede tener clientes asignados.

Paso 4: los atributos de la relación

Relación
Atributo propio
atiende
fec_asignacion
— desde cuándo ese vendedor atiende a ese cliente

Como siempre, la M:N es la que trae atributos: la fecha de asignación no es del vendedor ni del cliente, sino del vínculo entre los dos.

Paso 5 y 6: los diagramas

Caso práctico 4: entidad bancaria (entidad débil y relación reflexiva)

El enunciado

Un banco quiere modelar la información de su red de oficinas. El área de sistemas describe el negocio así:De cada sucursal se registra su código, su nombre, su dirección y la ciudad. La red está organizada de forma jerárquica: algunas sucursales son principales y de ellas dependen otras sucursales, aunque hay oficinas que no dependen de ninguna.De cada cliente se guarda su código, nombre completo, DNI y teléfono.Una cuenta se identifica por su número, y de ella interesa el saldo, la fecha de apertura y la moneda. Un cliente puede tener varias cuentas y una misma cuenta puede tener varios titulares; de cada titularidad se anota desde qué fecha se registró y de qué tipo es (titular o mancomunado).Cada cuenta está abierta en una sola sucursal, y una sucursal custodia muchas cuentas.De cada transacción se anota su número, la fecha, la cantidad y el tipo de movimiento. El número de transacción se numera desde 1 dentro de cada cuenta, así que dos cuentas distintas pueden tener ambas una transacción número 1. Una cuenta recién abierta puede no tener todavía ninguna transacción.Se pide: diseñar el modelo entidad-relación con la metodología de Chen y con la de Martin.

Paso 1: identificar las entidades

SUCURSAL · CLIENTE · CUENTA · TRANSACCION (débil)

Este caso trae dos conceptos que los anteriores no tenían. Ambos salen de frases muy concretas del enunciado, y en los dos hay que estar atento al leer:1. TRANSACCION es una entidad débil. La pista es «se numera desde 1 dentro de cada cuenta». Eso significa que num_transaccion no identifica una transacción: la transacción número 1 existe muchas veces. Para identificarla hace falta añadir el número de cuenta. Es una dependencia de identificación, y en Chen el rombo lleva una I en la parte superior.2. depende es una relación reflexiva. Una sucursal se relaciona con otras sucursales, es decir, con su propia entidad. Al participar una sola entidad, el grado de la relación es 1. Y como las dos ramas salen del mismo sitio, hay que etiquetarlas con su rol (principal y dependiente) o el diagrama es ilegible.

Paso 2: identificar los atributos

Entidad
Atributos
SUCURSAL
cod_sucursal, nom_sucursal, dir_sucursal, ciu_sucursal
CLIENTE
cod_cliente, nom_cliente, dni_cliente, tel_cliente
CUENTA
num_cuenta, sal_cuenta (saldo), fec_cuenta (apertura), mon_cuenta (moneda)
TRANSACCION (débil)
num_transaccion (identificador parcial), fec_transaccion, can_transaccion (cantidad), tip_transaccion (tipo)

En el diagrama de Chen num_transaccion va subrayado con línea discontinua, que es la forma habitual de señalar un identificador parcial. Su clave real es num_cuenta + num_transaccion.

Paso 3: identificar las relaciones y sus cardinalidades

Relación
Entidades
Cardinalidades
Correspondencia
Grado
depende
SUCURSAL ↔ SUCURSAL
principal (0,n) · dependiente (0,1)
1:N
1 (reflexiva)
custodia
SUCURSAL ↔ CUENTA
SUCURSAL (1,n) · CUENTA (1,1)
1:N
2
titular
CLIENTE ↔ CUENTA
CLIENTE (1,n) · CUENTA (1,n)
M:N
2
registra
CUENTA ↔ TRANSACCION
CUENTA (0,n) · TRANSACCION (1,1)
1:N
2

Dos ceros que salen directamente del enunciado y conviene justificar:dependiente (0,1) → «hay oficinas que no dependen de ninguna».CUENTA (0,n) en registra → «una cuenta recién abierta puede no tener todavía ninguna transacción».

Paso 4: los atributos de la relación

Relación
Atributos propios
titular
fec_titularidad
,
tip_titularidad

El tipo de titularidad no es del cliente (puede ser titular de una cuenta y mancomunado de otra) ni de la cuenta (cada uno de sus titulares tiene un rol distinto). Es del vínculo.

Paso 5 y 6: los diagramas