🎓 Modelo Entidad-Relación

Taller Interactivo - PILARES CDMX

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

🎯 Objetivo Principal

El Modelo Entidad-Relación (E-R) es una herramienta visual que nos permite diseñar bases de datos representando el mundo real de forma estructurada.

💡 Piensa en esto: Cuando usas Facebook, Instagram o cualquier app, detrás hay una base de datos diseñada con este modelo.

¿Por qué es importante?

El Proceso de Diseño

1. Mundo Real
2. Modelo E-R
3. Tablas SQL

📖 Historia Breve

Fue creado por Peter Chen en 1976 y desde entonces es el estándar mundial para diseñar bases de datos relacionales.

Conceptos Fundamentales

🏢 1. ENTIDAD

Definición: Un objeto o "cosa" del mundo real sobre el que queremos almacenar información.

Ejemplos:

  • Persona, Cliente, Estudiante
  • Producto, Libro, Vehículo
  • Pedido, Factura, Cita
Regla de oro: Si puedes contar varios de ellos, es una entidad. Ej: "Hay 50 estudiantes" ✓

🏷️ 2. ATRIBUTOS

Definición: Características o propiedades que describen a una entidad.

Tipos de atributos:

Simple vs Compuesto

  • Simple: No se puede dividir → edad, teléfono
  • Compuesto: Se puede dividir → nombre completo (nombre + apellido), dirección (calle + número + colonia)

Monovaluado vs Multivaluado

  • Monovaluado: Un solo valor → CURP, número de pasaporte
  • Multivaluado: Varios valores → teléfonos de contacto, correos electrónicos

Derivado

  • Se calcula a partir de otro → edad (desde fecha_nacimiento), antigüedad

⭐ Identificador (Llave Primaria)

  • Atributo único que identifica cada registro
  • Ejemplos: ID_estudiante, ISBN, RFC, matrícula

🔗 3. RELACIONES

Definición: Conexiones o asociaciones entre dos o más entidades.

Ejemplos:

  • Un ESTUDIANTE se inscribe en un CURSO
  • Un MÉDICO atiende a un PACIENTE
  • Un CLIENTE realiza un PEDIDO

🔢 4. CARDINALIDAD

Definición: Indica cuántas instancias de una entidad se relacionan con otra.

Uno a Uno (1:1)

👤 ↔️ 🎫

Ejemplo: Persona ↔ Pasaporte

Una persona tiene UN pasaporte, y un pasaporte pertenece a UNA persona

Uno a Muchos (1:N)

🏢 ↔️ 👥👥👥

Ejemplo: Departamento ↔ Empleados

Un departamento tiene MUCHOS empleados, pero cada empleado pertenece a UN departamento

Muchos a Muchos (N:M)

👥 ↔️ 📚📚

Ejemplo: Estudiantes ↔ Cursos

Un estudiante toma VARIOS cursos, y un curso tiene VARIOS estudiantes

💪 5. ENTIDADES FUERTES vs DÉBILES

Entidad Fuerte: Existe por sí misma, tiene su propia llave primaria

Ejemplo: CLIENTE (ID_cliente)

Entidad Débil: Depende de otra entidad para existir

Ejemplo: DEPENDIENTE (de un empleado) - no tiene sentido sin el empleado

Símbolos del Diagrama E-R

📝 Nota: Estos símbolos son el "alfabeto" del Modelo E-R. Apréndelos bien porque los usarás siempre.

RECTÁNGULO

Representa una ENTIDAD

Ejemplo: ESTUDIANTE, PRODUCTO, CLIENTE

ELIPSE/ÓVALO

Representa un ATRIBUTO

Ejemplo: nombre, edad, precio

ROMBO

Representa una RELACIÓN

Ejemplo: inscribe, compra, atiende

LÍNEA

Conecta entidades con relaciones y atributos

Une los elementos del diagrama

◯◯

ELIPSE DOBLE

Atributo MULTIVALUADO

Ejemplo: teléfonos, emails

ELIPSE SUBRAYADA

Atributo IDENTIFICADOR (llave primaria)

Ejemplo: ID, matrícula, RFC

RECTÁNGULO DOBLE

Entidad DÉBIL

Depende de otra entidad

- - -

LÍNEA DISCONTINUA

Atributo DERIVADO

Se calcula de otros atributos

Notación de Cardinalidad

1 → Uno

N o M → Muchos

0..1 → Cero o uno (opcional)

1..* → Uno o muchos

0..* → Cero o muchos

Ejemplo Completo: Sistema de Biblioteca PILARES

📖 Escenario: Vamos a diseñar el modelo E-R para una biblioteca de PILARES

Paso 1: Identificar Entidades

Pregúntate: ¿Sobre qué objetos necesito guardar información?

LIBRO
USUARIO
PRÉSTAMO

Paso 2: Definir Atributos

📚 LIBRO

ISBN
título
autor
editorial
año
categoría

Llave primaria: ISBN (subrayado)

👤 USUARIO

ID_usuario
nombre
apellido
teléfono
email
fecha_registro

Llave primaria: ID_usuario

📋 PRÉSTAMO

ID_préstamo
fecha_préstamo
fecha_devolución
estado

Llave primaria: ID_préstamo

Paso 3: Identificar Relaciones y Cardinalidad

Relación 1: USUARIO realiza PRÉSTAMO

Cardinalidad: 1:N (Un usuario puede tener muchos préstamos)

Relación 2: LIBRO está en PRÉSTAMO

Cardinalidad: 1:N (Un libro puede estar en muchos préstamos históricos)

Diagrama E-R Completo (Representación Textual)

    [nombre]  [apellido]  [teléfono]    [título]  [autor]  [editorial]
        ○         ○           ○             ○        ○          ○
        |         |           |             |        |          |
    [ID_usuario]──────┬──────────────┘     ┌───────[ISBN]──────┘
        ○         |                      |         ○
                  |                      |
              ┌───▭───┐              ┌───▭───┐
              │USUARIO│              │ LIBRO │
              └───────┘              └───────┘
                  │                      │
                  │   1              N   │
                  │                      │
                  └──────┬◇┬──────────┘
                      [realiza]
                         │
                         │
                    ┌────▭────┐
                    │PRÉSTAMO │
                    └─────────┘
                         │
            ┌────────────┼────────────┐
            ○            ○            ○
    [ID_préstamo] [fecha_    [fecha_
                     préstamo] devolución]
                
✓ Resultado: Este diagrama E-R se puede convertir directamente a tablas SQL en MySQL Workbench.

Ejercicios Prácticos

📝 Ejercicio 1: Identifica Entidades y Atributos

Escenario: Sistema de citas médicas en una clínica

Lee el siguiente texto y escribe qué entidades encuentras:

"La clínica atiende pacientes que agendan citas con diferentes médicos. Cada paciente tiene nombre, teléfono y CURP. Los médicos tienen nombre, especialidad y cédula profesional. Las citas tienen fecha, hora y consultorio asignado."

📝 Ejercicio 2: Define las Relaciones

Para el mismo sistema de citas médicas, identifica las relaciones y su cardinalidad:

¿Cuál es la cardinalidad entre PACIENTE y CITA?

¿Cuál es la cardinalidad entre MÉDICO y CITA?

📝 Ejercicio 3: Caso Completo - Tienda en Línea

Diseña el modelo E-R completo para:

Una tienda en línea donde los clientes hacen pedidos de productos. Cada cliente tiene nombre, email y dirección. Los productos tienen código, nombre, precio y stock. Los pedidos tienen fecha y total.

Pasos a seguir:

  1. Identifica las entidades (mínimo 3)
  2. Define los atributos de cada entidad (incluye llaves primarias)
  3. Identifica las relaciones entre entidades
  4. Define la cardinalidad de cada relación
💡 Consejo: No hay una única respuesta correcta. Lo importante es que tu diseño sea lógico y consistente.

Quiz de Evaluación

🎯 Objetivo: Evalúa tu comprensión del Modelo Entidad-Relación

1. ¿Qué símbolo se usa para representar una entidad en el diagrama E-R?

2. ¿Cuál de estos es un ejemplo de atributo multivaluado?

3. En la relación "Un departamento tiene muchos empleados", ¿cuál es la cardinalidad?

4. ¿Qué es una entidad débil?

5. ¿Cuál es un ejemplo de cardinalidad muchos a muchos (N:M)?

6. ¿Qué atributo sirve como identificador único de una entidad?

🎓 Pregunta de Reflexión

Explica con tus propias palabras: ¿Por qué es importante diseñar el modelo E-R antes de crear las tablas en la base de datos?