Contenido del curso
Bases de Datos: De Cero a Experto

🎯 Objetivo:

Entender las principales diferencias entre MongoDB (NoSQL documental) y bases de datos relacionales como MySQL o PostgreSQL (SQL), para saber cuándo usar cada una.


🧠 Conceptos base

MongoDB SQL (MySQL, PostgreSQL, etc.)
No usa tablas, usa colecciones y documentos JSON. Usa tablas, filas y columnas.
No requiere esquema fijo. Requiere definir estructuras (esquemas).
Pensado para escalar horizontalmente. Escala mejor verticalmente (más recursos en un servidor).
Ideal para datos flexibles o cambiantes. Ideal para datos estructurados y relaciones complejas.

🔍 Comparación por categorías

1. Modelo de datos

MongoDB SQL
JSON (documentos) Tablas relacionales
Datos anidados posibles Solo datos tabulares
Sin esquema obligatorio Esquema rígido y normalización

2. Lenguaje de consulta

MongoDB SQL
Usa su propio lenguaje basado en JSON. Usa el lenguaje SQL estándar.

Ejemplo MongoDB:

javascript
db.usuarios.find({ edad: { $gt: 30 } })

Ejemplo SQL:

sql
SELECT * FROM usuarios WHERE edad > 30;

3. Escalabilidad

MongoDB SQL
Escala horizontalmente (sharding). Escala verticalmente (más CPU/RAM).
Mejor para sistemas distribuidos. Más complejo escalar entre servidores.

4. Flexibilidad

MongoDB SQL
Puedes tener documentos distintos en una misma colección. Todas las filas deben seguir la misma estructura.
Se adapta rápido a cambios. Requiere modificar esquemas.

5. Relaciones

MongoDB SQL
Soporta relaciones, pero no es su punto fuerte. Especialista en relaciones entre tablas.
JOINs limitados JOINs avanzados (INNER, LEFT, etc.)

6. Transacciones

MongoDB (moderno) SQL
Soporta transacciones (desde v4.0). Soporte completo y robusto.
Menos optimizado para procesos financieros. Ideal para operaciones críticas.

⚖️ ¿Cuál elegir?

Necesitas… Elige…
Datos muy relacionados entre sí (clientes, órdenes) ✅ SQL
Estructura fija y validaciones complejas ✅ SQL
Escalabilidad para miles de usuarios ✅ MongoDB
Datos en JSON, flexibles o que cambian mucho ✅ MongoDB
Prototipado rápido o MVP de una app web ✅ MongoDB
Transacciones bancarias o contables ✅ SQL

📝 Actividad práctica

  1. Transforma esta tabla SQL a MongoDB:

    sql
    INSERT INTO productos (nombre, precio) VALUES ('Mouse', 12000);

    → ¿Cómo sería en MongoDB?

  2. Menciona una app que podría usar MongoDB y otra que es mejor con SQL. Explica por qué.


✅ Revisión rápida

  • ¿Qué diferencia principal hay entre una colección y una tabla?

  • ¿Qué base maneja mejor estructuras flexibles como JSON?

  • ¿Qué base es mejor para datos financieros?

Scroll al inicio