← Back to course

Base de Datos

  • 🧠 Lección: Bases de Datos (Relacionales vs No Relacionales)

    🎯 Objetivo

    Entender cuándo usar bases de datos relacionales y no relacionales, cómo modelarlas y cómo elegir la mejor opción para tu producto (incluyendo escenarios AI-native).


    🚀 1. ¿Qué es una base de datos?

    Una base de datos es donde:

    • 💾 Guardas información

    • 🔍 Consultas datos

    • ⚙️ Soportas tu lógica de negocio

    👉 Es el corazón del sistema


    ⚖️ 2. Tipos principales

    🗄️ Relacionales (SQL)

    Ej: PostgreSQL, MySQL

    • Datos estructurados en tablas

    • Relaciones entre entidades

    • Uso de SQL


    📦 No Relacionales (NoSQL)

    Ej: MongoDB, Redis

    • Datos más flexibles (JSON, key-value, etc.)

    • No requieren esquema rígido

    • Escalan fácilmente


    🧩 3. Base de Datos Relacional

    📊 Estructura

    users
    - id
    - name
    - email
    
    orders
    - id
    - user_id
    - total

👉 Relación:

  • Un usuario tiene muchas órdenes


✅ Ventajas

  • Integridad de datos

  • Relaciones claras

  • Consultas complejas


❌ Desventajas

  • Menos flexible

  • Cambios de esquema más complejos


📦 4. Base de Datos No Relacional

📊 Estructura (JSON)

{
  "user": "Juan",
  "orders": [
    { "total": 100 },
    { "total": 50 }
  ]
}

✅ Ventajas

  • Flexible

  • Escalable

  • Rápido para ciertos casos


❌ Desventajas

  • Menos consistencia

  • Relaciones limitadas


⚔️ 5. Comparación clave

Screenshot 2026-05-05 at 12.42.37.png

🧠 6. ¿Cuál elegir?

🟢 Usa Relacional cuando:

  • Tienes relaciones claras

  • Necesitas consistencia

  • Ej: usuarios, pagos, cursos


🔵 Usa No Relacional cuando:

  • Datos flexibles

  • Alta velocidad

  • Ej: logs, chats, sesiones


⚙️ 7. En tu stack (recomendado)

🧱 AIDevAcademy

  • PostgreSQL → datos principales

  • Redis → cache / sesiones

  • (Opcional) MongoDB → datos flexibles


🤖 8. Bases de datos en AI

En sistemas AI-native puedes usar:

  • Vector DB (embeddings)

  • Cache inteligente

  • Almacenamiento de prompts

👉 Ej:

  • Pinecone

  • Weaviate


🧩 9. Buenas prácticas

✅ Haz esto:

  • Diseña antes de implementar

  • Usa claves primarias

  • Normaliza datos (SQL)

  • Indexa correctamente


❌ Evita esto:

  • Guardar todo en JSON sin control

  • Queries lentas

  • No usar índices

  • Mezclar responsabilidades


🧪 10. Ejemplo práctico

SQL (PostgreSQL)

SELECT * FROM users WHERE email = 'test@mail.com';

NoSQL (MongoDB)

db.users.find({ email: "test@mail.com" })

🧠 11. Checklist antes de elegir

  • ¿Qué tipo de datos manejo?

  • ¿Necesito relaciones?

  • ¿Qué tan rápido debo escalar?

  • ¿Qué tan flexible debe ser el esquema?


🔁 12. Arquitectura híbrida (pro)

PostgreSQL → datos core

Redis → cache

Vector DB → AI

👉 Esta es la arquitectura moderna


🏁 Conclusión

No hay una mejor base de datos…
hay una mejor elección según el problema.


🔥 Frase clave

“El modelo de datos define la calidad del sistema.”