Contenido del curso
Bases de Datos: De Cero a Experto

🎯 Objetivo:

Aplicar el modelo entidad-relación (ER) en ejemplos reales y cotidianos. Diseñar la estructura lógica de bases de datos para distintos escenarios prácticos.


🧩 Caso 1: Agenda de contactos

✏️ Objetivo del sistema:

Guardar datos de personas con múltiples formas de contacto.

🔷 Entidades y atributos:

  • Persona: id, nombre, apellido

  • Teléfono: id, número, tipo (celular, casa, trabajo)

  • Correo: id, email

🔗 Relaciones:

  • Una persona puede tener muchos teléfonos → 1:N

  • Una persona puede tener varios correos → 1:N

💡 Diagrama lógico:

lua
[Persona] ----< [Teléfono]
|
|----< [Correo]

🧩 Caso 2: Inventario simple

✏️ Objetivo del sistema:

Registrar productos y sus movimientos de entrada/salida.

🔷 Entidades y atributos:

  • Producto: id, nombre, categoría, precio

  • Movimiento: id, tipo (entrada/salida), cantidad, fecha

🔗 Relaciones:

  • Un producto puede tener muchos movimientos → 1:N

💡 Diagrama lógico:

css
[Producto] ----< [Movimiento]

🧩 Caso 3: Sistema de ventas

✏️ Objetivo del sistema:

Registrar ventas de productos a clientes.

🔷 Entidades y atributos:

  • Cliente: id, nombre, correo

  • Producto: id, nombre, precio

  • Venta: id, fecha, id_cliente

  • DetalleVenta: id_venta, id_producto, cantidad, subtotal

🔗 Relaciones:

  • Un cliente puede hacer muchas ventas → 1:N

  • Una venta puede incluir muchos productos → N:M → se usa una tabla intermedia: DetalleVenta

💡 Diagrama lógico:

css
[Cliente] ----< [Venta] ----< [DetalleVenta] >---- [Producto]

💻 Diagrama para probar en dbdiagram.io:

sql
Table cliente {
id_cliente int [pk]
nombre varchar
correo varchar
}

Table producto {
id_producto int [pk]
nombre varchar
precio int
}

Table venta {
id_venta int [pk]
id_cliente int [ref: > cliente.id_cliente]
fecha date
}

Table detalle_venta {
id_venta int [ref: > venta.id_venta]
id_producto int [ref: > producto.id_producto]
cantidad int
subtotal int
}


📝 Fragmento práctico

Escoge uno de estos escenarios:

  • 📞 Agenda personal

  • 📦 Control de inventario

  • 🛒 Sistema de ventas

➡️ Dibuja el modelo ER a mano o en dbdiagram.io
➡️ Enumera las entidades, atributos y relaciones


💬 Cierre de la lección

Diseñar bases de datos parte siempre desde problemas reales.
Si puedes identificar las entidades y relaciones en un negocio o situación diaria, ya estás pensando como un diseñador de base de datos.


✅ Revisión rápida

  • ¿Qué relación hay entre cliente y venta?

  • ¿Por qué usamos una tabla detalle_venta?

  • ¿Cuál es la diferencia entre una relación 1:N y N:M?

Scroll al inicio