Nivel Principiante: Fundamentos de SQL

Bienvenido al punto de partida de tu aventura en SQL. En este nivel, construir谩s una base s贸lida, desde la comprensi贸n de las bases de datos hasta la escritura de tus primeras consultas.

M贸dulo 1: Introducci贸n a las Bases de Datos

Comenzaremos desde cero. Comprender谩s qu茅 es una base de datos, c贸mo se organiza y las herramientas que usar谩s para interactuar con ella.

Lecci贸n 1.1: 驴Qu茅 es una base de datos?

Una base de datos es una colecci贸n organizada de informaci贸n o datos, estructurada para que pueda ser f谩cilmente accedida, gestionada y actualizada. El software que gestiona estas bases de datos se llama SGBD (Sistema Gestor de Bases de Datos).

Lecci贸n 1.2: Bases de datos relacionales vs. NoSQL

Las bases de datos relacionales (como SQL Server) organizan los datos en tablas con filas y columnas, estableciendo relaciones entre ellas. Son excelentes para datos estructurados y consistentes. Las bases de datos NoSQL son m谩s flexibles y se usan para datos no estructurados o semi-estructurados, como documentos o grafos.

Lecci贸n 1.3: Introducci贸n a Microsoft SQL Server

Microsoft SQL Server es uno de los SGBD relacionales m谩s potentes y populares del mundo. Utiliza el lenguaje T-SQL (Transact-SQL), una extensi贸n de SQL con funcionalidades adicionales.

Lecci贸n 1.4: Instalaci贸n de SQL Server y SSMS

Para trabajar, necesitar谩s dos cosas: el motor de la base de datos (SQL Server Developer Edition, que es gratuito) y una herramienta para interactuar con 茅l (SQL Server Management Studio o SSMS).

Lecci贸n 1.5: Navegaci贸n por SSMS

SSMS es tu centro de control. El Object Explorer te permite navegar por tus servidores, bases de datos y tablas. La ventana de consulta es donde escribir谩s y ejecutar谩s tu c贸digo SQL.

Consejo de inicio: Comienza con SQL Server Express o Developer Edition. Ambos son gratuitos y perfectos para aprender.

Ejercicios de Pr谩ctica del M贸dulo 1

  1. Describe con tus propias palabras la diferencia entre una base de datos relacional y una NoSQL.
  2. 驴Qu茅 tablas crees que necesitar铆a una base de datos para una tienda online? Menciona al menos 3.
  3. En SSMS, 驴d贸nde har铆as clic para ver las tablas de una base de datos?
  4. 驴Por qu茅 es importante el concepto de "dato estructurado"?
  5. 驴Qu茅 dos programas necesitas instalar para empezar con SQL Server?

M贸dulo 2: Consultas de Datos (SELECT)

Este es el coraz贸n de SQL. Aprender谩s a hacer preguntas a tu base de datos y obtener exactamente la informaci贸n que necesitas.

Lecci贸n 2.1: SELECT y FROM

La sentencia SELECT es la m谩s utilizada en SQL. Sirve para leer datos de una o m谩s tablas.

-- Seleccionar todas las columnas SELECT * FROM Clientes; -- Seleccionar columnas espec铆ficas SELECT Nombre, Email FROM Clientes;

Lecci贸n 2.2: Filtrado con WHERE

La cl谩usula WHERE te permite filtrar los registros para obtener solo los que cumplen una condici贸n.

-- Clientes de Madrid SELECT * FROM Clientes WHERE Ciudad = 'Madrid';

Lecci贸n 2.3: Operadores de comparaci贸n

Usa operadores como =, >, <, BETWEEN, IN y LIKE.

-- Clientes mayores de 30 a帽os SELECT * FROM Clientes WHERE Edad > 30; -- Productos entre 50 y 100 euros SELECT * FROM Productos WHERE Precio BETWEEN 50 AND 100;

Lecci贸n 2.4: Ordenamiento

Ordena los resultados con ORDER BY.

-- Ordenar por nombre ascendente SELECT * FROM Clientes ORDER BY Nombre ASC; -- Ordenar por precio descendente SELECT * FROM Productos ORDER BY Precio DESC;

Ejercicios de Pr谩ctica del M贸dulo 2

  1. Selecciona el nombre y email de todos los clientes.
  2. Encuentra todos los productos de la categor铆a 'Electr贸nica'.
  3. Muestra los 10 productos m谩s caros.
  4. Busca clientes cuyo nombre empiece con 'A'.
  5. Ordena los pedidos por fecha m谩s reciente.

M贸dulo 3: Uni贸n de Tablas (JOINS)

Aprende a combinar datos de m煤ltiples tablas en una sola consulta.

Lecci贸n 3.1: Claves primarias y for谩neas

Las claves primarias identifican filas 煤nicas. Las claves for谩neas crean relaciones entre tablas.

Lecci贸n 3.2: INNER JOIN

Devuelve solo las filas que tienen coincidencias en ambas tablas.

-- Clientes y sus pedidos SELECT c.Nombre, p.FechaPedido FROM Clientes c INNER JOIN Pedidos p ON c.ClienteID = p.ClienteID;

Lecci贸n 3.3: LEFT JOIN

Devuelve todas las filas de la tabla izquierda, incluso si no hay coincidencias.

-- Todos los clientes, incluso sin pedidos SELECT c.Nombre, p.FechaPedido FROM Clientes c LEFT JOIN Pedidos p ON c.ClienteID = p.ClienteID;

Ejercicios de Pr谩ctica del M贸dulo 3

  1. Muestra todos los libros con sus autores.
  2. Encuentra clientes que no han hecho pedidos.
  3. Muestra todos los empleados con sus departamentos.
  4. Usa alias para hacer las consultas m谩s cortas.
  5. Busca productos y sus categor铆as.

M贸dulo 4: Manipulaci贸n de Datos

Aprende a a帽adir, modificar y eliminar datos en tus tablas.

Lecci贸n 4.1: INSERT INTO

A帽ade nuevos registros a tus tablas.

-- A帽adir un nuevo cliente INSERT INTO Clientes (Nombre, Email, Ciudad) VALUES ('Mar铆a Garc铆a', 'maria@email.com', 'Barcelona');

Lecci贸n 4.2: UPDATE

Modifica registros existentes (隆siempre usa WHERE!).

-- Actualizar el email de un cliente UPDATE Clientes SET Email = 'nuevo@email.com' WHERE ClienteID = 1;

Lecci贸n 4.3: DELETE

Elimina registros (隆cuidado sin WHERE!).

-- Eliminar un cliente espec铆fico DELETE FROM Clientes WHERE ClienteID = 1;
隆Ojo! Siempre usa WHERE en UPDATE y DELETE para no afectar toda la tabla.

Ejercicios de Pr谩ctica del M贸dulo 4

  1. A帽ade 3 nuevos productos a la tabla Productos.
  2. Actualiza el precio de todos los productos de 'Electr贸nica' con un 10% de descuento.
  3. Cambia el nombre del producto con ID 5 a 'Nuevo Nombre'.
  4. Elimina los productos sin stock.
  5. Actualiza el email de todos los clientes de 'Madrid'.

M贸dulo 5: Creaci贸n y Definici贸n de Datos

Crea y modifica la estructura de tu base de datos.

Lecci贸n 5.1: Tipos de datos

  • INT: N煤meros enteros
  • VARCHAR(n): Texto hasta n caracteres
  • DECIMAL(p,s): N煤meros con decimales
  • DATETIME: Fecha y hora
  • BIT: Verdadero/Falso

Lecci贸n 5.2: CREATE DATABASE

Crea una nueva base de datos.

CREATE DATABASE MiTienda;

Lecci贸n 5.3: CREATE TABLE

Define la estructura de una tabla.

CREATE TABLE Productos ( ProductoID INT PRIMARY KEY, Nombre VARCHAR(100) NOT NULL, Precio DECIMAL(10,2), Stock INT );

Lecci贸n 5.4: ALTER TABLE

Modifica una tabla existente.

-- A帽adir una columna ALTER TABLE Productos ADD Descripcion VARCHAR(500); -- Eliminar una columna ALTER TABLE Productos DROP COLUMN Descripcion;

Lecci贸n 5.5: DROP TABLE

Elimina una tabla permanentemente.

DROP TABLE ProductosTemporal;

Ejercicios de Pr谩ctica del M贸dulo 5

  1. Crea una tabla para almacenar usuarios (ID, nombre, email).
  2. A帽ade una columna "fecha_registro" a la tabla usuarios.
  3. Crea una tabla de categor铆as y vinc煤lala con productos.
  4. A帽ade una restricci贸n CHECK para que el stock sea positivo.
  5. Crea una tabla de pedidos con claves for谩neas.