Saltar al contenido

Lección 1 de 12 · Lectura y práctica

Base de datos relacional: qué es y ejemplos SQL

Base de datos relacional: qué es, cómo funciona y ejemplos SQL Bienvenido a esta lección fundamental donde exploraremos uno de los conceptos más importantes en el mundo de la tecnología: las bases de datos relacionales. Si alguna.

Del concepto a la práctica

Taller de esta lección

Una base relacional separa entidades para evitar repetir información. En una biblioteca, el lector pertenece a lectores, el libro a libros y el préstamo conecta ambos mediante identificadores. Así, cambiar el correo de Ana no exige editar cada préstamo histórico.

Ejemplo resuelto

Datos mínimos: lectores( id=7, nombre='Ana' ), libros( id=12, titulo='Niebla' ) y prestamos( lector_id=7, libro_id=12, devuelto=false ).

sql
SELECT lectores.nombre, libros.titulo
FROM prestamos
JOIN lectores ON lectores.id = prestamos.lector_id
JOIN libros ON libros.id = prestamos.libro_id;

La salida es Ana | Niebla.

Pruébalo

  1. Identifica las tres entidades del escenario.

  2. Asigna un identificador único a cada lector y libro.

  3. Registra un préstamo usando solo los dos identificadores.

  4. Consulta el título y el nombre sin duplicar sus datos.

Un error frecuente es guardar nombre_lector dentro de cada préstamo. Corrígelo conservando lector_id; el nombre se obtiene al consultar la tabla relacionada.

Comprueba tu resultado

Crea dos lectores, dos libros y tres préstamos, incluyendo uno repetido para un lector distinto. El resultado esperado debe contener tres filas y mostrar el nombre correcto en cada combinación. Verifica que ningún préstamo almacene un nombre de libro.

Tablas de clientes y pedidos: INNER JOIN conserva coincidencias y LEFT JOIN conserva también a Luis sin pedidos.
CursaloMapa de práctica
Relacionar tablas sin perder filas

Una clave conecta cada pedido con su cliente. INNER JOIN devuelve las coincidencias y puede producir varias filas por cliente. LEFT JOIN conserva también los clientes sin pedido y representa los campos ausentes con NULL.

Ver la infografía en tamaño completo ↗

Base de datos relacional: qué es, cómo funciona y ejemplos SQL

Bienvenido a esta lección fundamental donde exploraremos uno de los conceptos más importantes en el mundo de la tecnología: las bases de datos relacionales. Si alguna vez te has preguntado cómo las aplicaciones almacenan y gestionan información, estás en el lugar correcto.

CONCEPTO CLAVE
Una base de datos relacional es un sistema de gestión que organiza los datos en tablas compuestas por filas y columnas, donde las relaciones entre los datos se establecen mediante claves. Es la tecnología más utilizada actualmente para almacenar información estructurada.
Respuesta rápida: qué es una base de datos relacional: una base de datos relacional organiza información en tablas conectadas por claves. Cada tabla guarda un tipo de entidad, como clientes, productos o pedidos; cada fila representa un registro; cada columna representa un dato; y las relaciones aparecen cuando una tabla referencia la clave de otra. SQL es el lenguaje más usado para consultar, crear y modificar este tipo de bases.

🔍 ¿Por qué necesitamos bases de datos?

Imagina que tienes una pequeña tienda y necesitas registrar todos tus productos, clientes y ventas. Podrías hacerlo en hojas de cálculo de Excel, pero cuando tengas miles de registros, búsquedas complejas y múltiples usuarios trabajando simultáneamente, las hojas de cálculo ya no serán suficientes.

Las bases de datos nacieron para resolver estos problemas:

  • Organización: Estructurar la información de manera lógica
  • Acceso rápido: Encontrar información específica en millones de registros
  • Seguridad: Controlar quién puede ver o modificar los datos
  • Integridad: Asegurar que los datos sean correctos y consistentes
  • Relaciones: Conectar información de diferentes fuentes

📋 La Estructura de una Base de Datos Relacional

1. Tablas (Relations)

La tabla es la estructura fundamental en una base de datos relacional. Piensa en ella como una cuadrícula similar a una hoja de Excel, donde organizamos información relacionada.

2. Filas (Registros o Tuplas)

Cada fila representa un registro único. Por ejemplo, en una tabla de clientes, cada fila sería los datos de un cliente específico.

3. Columnas (Campos o Atributos)

Las columnas definen qué tipo de información almacenamos. Cada columna tiene un nombre y un tipo de dato específico (texto, número, fecha, etc.).

📌 Analogía práctica: Si comparamos una base de datos con una biblioteca, las tablas serían como los estantes, las filas serían los libros individuales y las columnas serían la información de cada libro (título, autor, año, etc.).

Base de datos relacional vs no relacional

La búsqueda "base de datos relacional" suele aparecer cuando alguien está comparando cómo guardar datos para una app, un análisis o un proyecto de portfolio. Esta tabla resume la diferencia sin vueltas.

Concepto Base relacional Base no relacional
Estructura Tablas con filas, columnas y esquema definido. Documentos, clave-valor, grafos, columnas amplias u otros modelos.
Relaciones Se modelan con claves primarias y claves foráneas. Pueden duplicarse, anidarse o resolverse desde la aplicación.
Lenguaje típico SQL para consultar, filtrar, unir y agregar datos. APIs o lenguajes de consulta propios según la base.
Mejor cuando Necesitás consistencia, transacciones, reportes y datos estructurados. Necesitás flexibilidad de esquema, documentos variables o escala específica.

Ejemplos comunes de bases relacionales: PostgreSQL, MySQL, SQL Server, MariaDB, SQLite y Oracle Database. Para Data Analyst, backend, producto y operaciones, entender relaciones es una habilidad base porque casi todo reporte serio cruza tablas.

🔑 Las Claves: El Corazón de las Relaciones

Las bases de datos relacionales se llaman así porque establecen relaciones entre tablas mediante claves. Veamos los dos tipos principales:

Clave Primaria (Primary Key)

Es un valor único que identifica cada registro en una tabla. No puede haber dos claves primarias iguales y nunca puede ser NULL (vacío).

Clave Foránea (Foreign Key)

Es una columna que establece un enlace con la clave primaria de otra tabla, creando así una relación entre ambas.

Concepto Símbolo en SQL Función
Clave Primaria PRIMARY KEY Identifica cada fila de forma única
Clave Foránea FOREIGN KEY Enlaza con otra tabla
Índice INDEX Optimiza búsquedas

📝 Ejemplo Práctico: Tienda Online

Imaginemos que tenemos una tienda en línea. Necesitamos gestionar:

  1. Tabla CLIENTES: Almacena información de cada cliente
  2. Tabla PRODUCTOS: Guarda los productos disponibles
  3. Tabla PEDIDOS: Registra cada compra realizada
  4. Tabla DETALLES_PEDIDO: Conecta pedidos con productos

Tabla: CLIENTES

cliente_id (PK) nombre email ciudad
1 María García maria@email.com Madrid
2 Juan López juan@email.com Barcelona
3 Ana Martínez ana@email.com Valencia

Tabla: PRODUCTOS

producto_id (PK) nombre precio categoría
101 Portátil HP 599.99 € Electrónica
102 Teclado Mecánico 89.99 € Electrónica
103 Silla Gaming 249.99 € Muebles

Tabla: PEDIDOS

pedido_id (PK) cliente_id (FK) fecha estado
1001 1 2024-01-15 Entregado
1002 2 2024-01-16 En proceso
1003 1 2024-01-17 Enviado
💡 Observa cómo funciona la relación: El campo cliente_id en la tabla PEDIDOS es una clave foránea que apunta a cliente_id en la tabla CLIENTES. Así sabemos qué cliente realizó cada pedido sin necesidad de repetir toda su información.

🔗 Tipos de Relaciones

Las tablas pueden relacionarse de tres formas principales:

1. Relación Uno a Uno (1:1)

Cada registro de una tabla se relaciona con un único registro de otra tabla. Ejemplo: cada persona tiene un único número de pasaporte.

2. Relación Uno a Muchos (1:N)

Un registro puede relacionarse con múltiples registros de otra tabla. Ejemplo: un cliente puede realizar múltiples pedidos.

3. Relación Muchos a Muchos (N:N)

Multiple registros pueden relacionarse con múltiples registros de otra tabla. Ejemplo: un pedido puede contener múltiples productos, y un producto puede aparecer en múltiples pedidos. Esta relación se resuelve con una tabla intermedia.

📌 En nuestro ejemplo de tienda online: La relación entre PEDIDOS y PRODUCTOS es de muchos a muchos, por eso necesitamos la tabla DETALLES_PEDIDO que registra qué productos aparecen en cada pedido y en qué cantidad.

💻 Sistemas Gestores de Bases de Datos (SGBD)

Para trabajar con bases de datos relacionales necesitamos un software específico. Los más populares son:

SGBD Tipo Uso típico
MySQL Open Source Web, aplicaciones
PostgreSQL Open Source Proyectos empresariales
Oracle Database Comercial Grandes corporaciones
SQL Server Comercial Empresas Microsoft
SQLite Open Source Aplicaciones móviles, embebido
⚠️ Nota importante: Todos estos sistemas utilizan SQL (Structured Query Language) como lenguaje estándar para interactuar con los datos. Esto significa que una vez que aprendas SQL, podrás trabajar con cualquiera de ellos.

📊 Ventajas de las Bases de Datos Relacionales

  1. Normalización: Elimina redundancias almacenando cada dato una sola vez
  2. Integridad de datos: Las restricciones garantizan datos consistentes
  3. Flexibilidad: Puedes consultar datos de múltiples formas
  4. Escalabilidad: Manejan millones de registros eficientemente
  5. Seguridad: Control granular de accesos
  6. Transacciones ACID: Garantizan que las operaciones se completen correctamente
"Una base de datos bien diseñada es como una obra de arte: cada elemento tiene su lugar y su propósito."

📚 Vocabulario Esencial

Antes de continuar, asegúrate de conocer estos términos fundamentales:

  • Schema (Esquema): La estructura lógica de la base de datos
  • Instance (Instancia): Los datos actuales en un momento dado
  • Constraint (Restricción): Reglas que aseguran la integridad de los datos
  • Query (Consulta): Una solicitud de información a la base de datos
  • Transaction: Un conjunto de operaciones que se ejecutan como una unidad
Ver más: ¿Qué es ACID?

ACID es un acrónimo que describe las propiedades que garantizan la fiabilidad de las transacciones:

  • Atomicity (Atomicidad): Las transacciones se completan completamente o no se realizan
  • Consistency (Consistencia): Los datos siempre cumplen las reglas definidas
  • Isolation (Aislamiento): Las transacciones simultáneas no interfieren entre sí
  • Durability (Durabilidad): Los datos confirmados sobreviven a fallos del sistema

Práctica guiada: diseñá tu primera base relacional

Diseñá un mini sistema de cursos online con tres tablas. El objetivo no es memorizar sintaxis: es ver cómo una relación convierte datos sueltos en información útil.

CREATE TABLE estudiantes (
  id INTEGER PRIMARY KEY,
  nombre TEXT NOT NULL,
  email TEXT UNIQUE
);

CREATE TABLE cursos (
  id INTEGER PRIMARY KEY,
  titulo TEXT NOT NULL,
  categoria TEXT NOT NULL
);

CREATE TABLE inscripciones (
  id INTEGER PRIMARY KEY,
  estudiante_id INTEGER
    REFERENCES estudiantes(id),
  curso_id INTEGER
    REFERENCES cursos(id),
  fecha_inscripcion DATE
);

Cómo leer este modelo

  • estudiantes.id identifica a cada estudiante de forma única.
  • cursos.id identifica a cada curso de forma única.
  • inscripciones.estudiante_id apunta a estudiantes y dice quién se anotó.
  • inscripciones.curso_id apunta a cursos y dice a qué curso se anotó.
  • inscripciones resuelve una relación muchos a muchos: un estudiante puede tomar muchos cursos y un curso puede tener muchos estudiantes.

Consulta útil para portfolio

SELECT
  e.nombre AS estudiante,
  c.titulo AS curso,
  i.fecha_inscripcion
FROM inscripciones i
JOIN estudiantes e
  ON e.id = i.estudiante_id
JOIN cursos c
  ON c.id = i.curso_id
ORDER BY i.fecha_inscripcion DESC;

Fuente técnica: la documentación oficial de PostgreSQL sobre constraints explica que una clave primaria identifica filas y que una clave foránea exige que los valores coincidan con filas existentes en otra tabla.

Salida laboral

Convertí este ejercicio en una pieza de portfolio: dibujá el diagrama, cargá datos de ejemplo, escribí tres consultas con JOIN y publicá qué pregunta responde cada una. Después conectalo con la ruta de Data Analyst, oportunidades en empleos y perfiles de servicio en marketplace.

🎯 Resumen de la Lección

En esta lección hemos aprendido que una base de datos relacional es un sistema que:

  1. Organiza la información en tablas con filas y columnas
  2. Utiliza claves primarias para identificar registros únicos
  3. Emplea claves foráneas para crear relaciones entre tablas
  4. Permite almacenar datos de forma estructurada, eficiente y segura
  5. Utiliza SQL como lenguaje universal para manipular datos
💡 Próximo paso: En la siguiente lección aprenderás los comandos básicos de SQL para crear tablas, insertar datos y realizar consultas simples. ¡Los fundamentos que has aprendido hoy son esenciales para lo que viene!
🧠 Quiz

¿Qué es una clave primaria en una base de datos relacional?

  • A) Un campo que puede tener valores duplicados
  • B) Un valor único que identifica cada registro en una tabla
  • C) Un campo que conecta dos tablas diferentes
  • D) Un tipo de dato numérico
✅ Respuesta correcta: B
La clave primaria es un valor único que identifica de forma exclusiva cada fila en una tabla. No puede haber valores duplicados ni nulos (NULL) en una clave primaria.
🧠 Quiz

En una tienda online, si un cliente puede realizar muchos pedidos, ¿qué tipo de relación existe entre las tablas CLIENTES y PEDIDOS?

  • A) Uno a Uno (1:1)
  • B) Uno a Muchos (1:N)
  • C) Muchos a Muchos (N:N)
  • D) Ninguna relación
✅ Respuesta correcta: B
La relación es Uno a Muchos (1:N) porque un cliente puede tener múltiples pedidos, pero cada pedido pertenece a un único cliente.
🧠 Quiz

¿Cuál de estos NO es un sistema gestor de bases de datos relacional?

  • A) MySQL
  • B) PostgreSQL
  • C) MongoDB
  • D) SQL Server
✅ Respuesta correcta: C
MongoDB es una base de datos NoSQL (no relacional) que almacena datos en documentos JSON en lugar de tablas con filas y columnas.
📌 Recuerda: Las bases de datos relacionales son la columna vertebral de innumerables aplicaciones modernas, desde redes sociales hasta sistemas bancarios. Dominar sus fundamentos te abrirá puertas en el mundo del desarrollo de software y el análisis de datos.

Práctica acompañada: Datos pequeños, preguntas claras

Consultas SQL y control de calidad. Usa este cuaderno como práctica complementaria de la ruta; el material original de la lección continúa siendo tu referencia.

Consultas SQL y control de calidad: Pregunta, Tabla, Consulta, Control
De la idea al resultado: una secuencia para practicar y revisar.

Práctica: modifica una condición

Filtra ahora las ventas del día 2026-09-02. Debes obtener 3 unidades y 2800 centavos. Después agrega otra fila de Papelería: una unidad a 500 centavos. Antes de ejecutar, predice cómo cambiarán el total y el resultado por categoría.

Repite el análisis en una tabla dinámica o con fórmulas de tu hoja de cálculo. Las dos herramientas deben producir el mismo resultado a partir de las mismas filas. Guarda por separado el archivo original y tu variante. Anota también una pregunta que estos datos no permiten responder; por ejemplo, margen de beneficio sin conocer el costo de cada producto.

Comprueba tu entrega

Entrega la consulta, el conjunto de datos y una tabla pequeña con los resultados. Incluye tres controles: número de filas, suma total y comprobación manual de una categoría. Evita gráficos tridimensionales o ejes que oculten la escala.

Sigue con SQL para Principiantes

Esta lección forma parte de un curso de Cursalo. Revisa su programa y elige entre la compra individual o el acceso a toda la escuela.

Si ya tenías acceso a este curso, entra con tu cuenta: tus derechos y tu progreso se conservan. No necesitas comprarlo de nuevo.

01 / ELEGIR UNA RUTA

El próximo paso

Aprende IA mientras construyes algo que sí necesitas.

Empieza por el curso inicial o explora el catálogo para encontrar una práctica alineada con tu trabajo.