Misión 2 · Lección 1

Creación y Manipulación de Bases de Datos Relacionales

Objetivos

Datos, Información y Conocimiento

¿Qué es una Base de Datos Relacional?

Ejemplos: PostgreSQL, MySQL, MariaDB, SQLite, SQL Server, Oracle

Introducción a las Bases de Datos Relacionales

Una Base de Datos Relacional (BDR) organiza la información en tablas formadas por filas y columnas. Cada fila es un registro único y cada columna representa un atributo.

-- Ejemplo de consulta
SELECT Nombre FROM Usuarios WHERE ID = 1;

Importancia de las BDR

Sistema de Gestión de Bases de Datos (DBMS)

Un DBMS es el software que administra bases de datos, permitiendo crear, modificar y consultar datos de forma eficiente y segura.

Creación de una Base de Datos

-- Crear una base de datos
CREATE DATABASE MiBaseDeDatos;

-- Usar la base de datos
USE MiBaseDeDatos;

-- Crear con configuración (charset/collation)
CREATE DATABASE MiBaseDeDatos
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

-- Verificar bases de datos existentes
SHOW DATABASES;

Creación de Tablas

Las tablas almacenan los datos en filas y columnas, definidas por su estructura.

CREATE TABLE Usuarios (
  ID INT PRIMARY KEY AUTO_INCREMENT,
  Nombre VARCHAR(100),
  Correo_Electronico VARCHAR(100) UNIQUE,
  Fecha_Registro DATE
);

Relaciones entre Tablas

CREATE TABLE Pedidos (
  ID INT PRIMARY KEY AUTO_INCREMENT,
  ID_Usuario INT,
  Producto VARCHAR(100),
  Fecha_Pedido DATE,
  FOREIGN KEY (ID_Usuario) REFERENCES Usuarios(ID)
);

FK: asegura que cada pedido siempre esté vinculado a un usuario existente.

Verificación de Estructuras

-- Revisar estructura de una tabla
DESCRIBE Usuarios;

-- Verificar todas las tablas de la BD
SHOW TABLES;

Estos comandos permiten validar que las tablas y relaciones se crearon correctamente.

Ejercicio Guiado 🛠️

  1. Crea una base de datos llamada Tienda.
  2. Dentro de ella, crea la tabla Clientes con: ID, Nombre, Email, FechaRegistro.
  3. Crea la tabla Pedidos con: ID, ClienteID, Producto, FechaPedido.
  4. Establece ClienteID como clave foránea hacia Clientes(ID).
  5. Verifica las tablas con DESCRIBE y SHOW TABLES.

Ejercicio Guiado — Mini Tienda

  1. Crea tablas: clientes, pedidos, detalle_pedido, productos.
  2. Inserta 3 clientes, 4 productos, 2 pedidos con 2 ítems cada uno.
  3. Consulta: total gastado por cliente (usa JOIN y GROUP BY).
  4. Consulta: los productos sin stock (<= 0).
-- Pista de consulta
SELECT cl.nombre, SUM(dp.cantidad * pr.precio) AS total
FROM clientes cl
JOIN pedidos pe ON pe.cliente_id = cl.id
JOIN detalle_pedido dp ON dp.pedido_id = pe.id
JOIN productos pr ON pr.id = dp.producto_id
GROUP BY cl.nombre
ORDER BY total DESC;

Tarea y Recursos

-- Ejemplo de vista
CREATE VIEW v_inventario_valorado AS
SELECT p.id, p.nombre, p.stock, (p.stock * p.precio) AS valor
FROM productos p;

Próxima clase: Diseño de esquemas y buenas prácticas