¿Qué es SQL y NoSQL?

Clase 29 de 32Fundamentos de Ingeniería de Software

Resumen

Las bases de datos son el corazón de cualquier aplicación moderna. Desde Instagram hasta Tinder, todo sistema almacena y consulta información de forma estructurada. Aquí comprenderás, con ejemplos claros, cómo se diferencian las bases de datos relacionales y las no relacionales (NoSQL), qué es SQL, cuándo aparece JSON y qué habilidades prácticas necesitas para dar tus primeros pasos con confianza.

¿Qué diferencia a una base relacional de una no relacional?

Las relacionales son el modelo tradicional: datos organizados en tablas con relaciones predefinidas. Imagina un restaurante: el restaurante tiene un menú y el menú tiene ítems; además, hay meseros y cocineros. Esa estructura fija refleja un esquema con entidades y atributos que no cambian entre registros.

  • En relacionales, cada tabla mantiene los mismos campos para todos sus registros.
  • Los atributos del mesero pueden ser nombre, fecha de entrada y horarios de salida.
  • Si quieres agregar un campo nuevo como edad para 5000 meseros, debes ajustar el modelo y rellenar el dato, lo que crea redundancia.
  • Para reducir esa redundancia se usa normalización: optimiza la base para evitar datos repetidos.

En NoSQL, el enfoque cambia: trabajas con colecciones de documentos que “se parecen” pero no son idénticos. Un mesero puede tener nombre y turno; otro, además, fecha de nacimiento, sexo, años de experiencia y un ranking interno. No necesitas redefinir el esquema para cada atributo nuevo, lo que vuelve el sistema más liviano y veloz.

  • NoSQL permite agregar atributos sin alterar toda la colección.
  • Menos rigidez de esquema y mayor velocidad de acceso.
  • Reducción de redundancia al evitar duplicaciones impuestas por un esquema fijo.

Estas diferencias impulsan habilidades clave: modelado de datos flexible, diseño de colecciones y comprensión de llaves e identificadores únicos según el tipo de base.

¿Cómo funciona una base de datos relacional?

Piensa en el “arbolito” del restaurante: restaurante → menú → ítems, y al mismo nivel de menú también hay meseros y cocineros. Cada entidad tiene atributos constantes para todos sus registros. Al intentar añadir edad cuando no estaba prevista, debes modificar el esquema y poblar ese dato para todos, lo que evidencia por qué existe la normalización.

  • Ventaja: estructura clara y relaciones sólidas.
  • Reto: cambios de esquema pueden ser costosos.
  • Habilidad: entender cuándo normalizar para equilibrar consistencia y rendimiento.

¿Qué es SQL y para qué sirve?

SQL proviene de Structured Query Language: un lenguaje estructurado de consultas para pedir información a la base de datos. Se siente como programar, pero su foco es consultar y manipular datos.

  • Ejemplo de uso: “selecciona todos los meseros del restaurante Ofelie”.
  • Concepto base: operaciones inspiradas en la teoría de conjuntos.
  • Dato histórico: se popularizó pronunciarlo “secuela” por un motor llamado “Secuela”.

Habilidad central: formular consultas precisas con condiciones para obtener justo lo necesario.

¿Cómo opera una base de datos no relacional?

En NoSQL trabajas con documentos o variables dentro de colecciones; los registros pueden variar en sus atributos sin romper el modelo. Esta flexibilidad trae rapidez y ligereza.

  • En relacionales, siempre hay una llave que identifica cada registro.
  • En no relacionales, puedes usar una llave o cualquier indicador único como un nombre de usuario.
  • La organización de datos suele usar JSON (JavaScript Object Notation), entendido por múltiples lenguajes.
  • Para consultar y manipular, muchas soluciones se apoyan en JavaScript.

Habilidades destacadas: estructurar documentos con JSON, elegir identificadores adecuados y diseñar consultas eficientes en modelos no tabulares.

¿Qué tecnologías se mencionan y para qué se usan?

  • Relacionales: MySQL, Oracle, PostgreSQL. PostgreSQL incluso ofrece modos no relacionales.
  • No relacionales: MongoDB, Redis, Memcached.
  • Redis es un caso extremo: almacena un nombre o llave con una sola variable asociada.

Beneficios clave de NoSQL señalados: velocidad, ligereza y flexibilidad para evolucionar el modelo sin fricción.

¿Qué camino profesional se sugiere para avanzar?

La invitación es profundizar hasta convertirte en DBA (Database Administrator): dominar consultas con SQL, comprender esquemas relacionales, usar JSON con colecciones, y gestionar rendimiento y redundancia en escenarios reales. La formación combina sesiones en vivo, interacción y colaboración para llevar estas bases al nivel profesional.

¿Cuál es tu mayor duda entre relacionales y NoSQL, SQL o JSON? Comparte tu pregunta y construyamos la respuesta juntos.

      ¿Qué es SQL y NoSQL?