Charla: SQL: El Lenguaje Estándar para Bases de Datos

¡Hola a todos! Es un placer compartir con ustedes esta sesión introductoria a uno de los pilares fundamentales en el mundo de la tecnología de la información: SQL. Como Diseñador Instruccional Experto en Tecnología y Bases de Datos, mi objetivo es que salgan de aquí con una comprensión clara de qué es SQL, por qué es crucial y cómo empezar a interactuar con él de manera práctica.

1. Introducción a SQL: El Lenguaje Estándar para Bases de Datos

1.1. Bienvenida y Agenda de la Charla

Bienvenidos a esta inmersión inicial en el fascinante universo de las bases de datos y el lenguaje estándar SQL. Durante esta charla, exploraremos desde los conceptos más básicos hasta una primera aproximación práctica que les permitirá ejecutar sus primeros comandos SQL.

Nuestra agenda para hoy es la siguiente:

¡Prepárense para una sesión didáctica, práctica y progresiva!

1.2. Objetivos de Aprendizaje de la Sesión

Al finalizar esta sesión, ustedes serán capaces de:

1.3. ¿Por qué SQL es Fundamental en el Mundo Actual?

En la era de la información, los datos son el activo más valioso para cualquier organización. Desde pequeñas startups hasta gigantes tecnológicos, todos dependen de la capacidad de almacenar, gestionar y analizar grandes volúmenes de información. Aquí es donde SQL (Structured Query Language) se convierte en una habilidad indispensable.

Dominar SQL no es solo aprender un lenguaje; es adquirir la llave para desbloquear el potencial de los datos.

2. Fundamentos de Bases de Datos y el Rol de SQL

2.1. ¿Qué es una Base de Datos? Conceptos Clave

Una base de datos es una colección organizada de información estructurada, o datos, típicamente almacenados electrónicamente en un sistema informático. Su propósito principal es permitir el almacenamiento, la recuperación, la modificación y la gestión eficiente de grandes volúmenes de datos.

Para entender una base de datos relacional, necesitamos conocer algunos conceptos clave:

2.2. ¿Qué es SQL? Definición y Propósito Principal

SQL, acrónimo de Structured Query Language (Lenguaje de Consulta Estructurado), es un lenguaje de programación declarativo diseñado específicamente para gestionar y manipular bases de datos relacionales. A diferencia de lenguajes de programación imperativos como Python o Java, SQL no se enfoca en "cómo" hacer algo, sino en "qué" se quiere lograr con los datos.

Su propósito principal es:

En esencia, SQL es la interfaz principal a través de la cual los usuarios y las aplicaciones interactúan con un SGBD para realizar operaciones con los datos.

2.3. SQL como Lenguaje Estándar para la Gestión de Datos

Una de las mayores fortalezas de SQL es su estatus como lenguaje estándar. Esto significa que, aunque existen diferentes implementaciones de SGBD (MySQL, PostgreSQL, SQL Server, Oracle, etc.), todos ellos entienden y utilizan una versión del mismo lenguaje base: SQL.

Este estandarización, impulsada por organismos como ANSI e ISO (que veremos a continuación), ofrece ventajas significativas:

Aunque cada SGBD puede tener extensiones o variaciones propias (conocidas como "dialectos"), el núcleo de SQL permanece constante, lo que lo convierte en una herramienta increíblemente poderosa y versátil para la gestión de datos.

3. Historia y Estandarización de SQL

3.1. Orígenes de SQL: De System R a la Popularización

La historia de SQL está intrínsecamente ligada al desarrollo de las bases de datos relacionales. Todo comenzó en 1970, cuando el Dr. Edgar F. Codd, un científico informático de IBM, publicó su influyente artículo "A Relational Model of Data for Large Shared Data Banks". Este documento sentó las bases teóricas para lo que hoy conocemos como bases de datos relacionales.

3.2. El Proceso de Estandarización: ANSI e ISO

La creciente popularidad de SQL llevó a la necesidad de una estandarización para asegurar la compatibilidad y la interoperabilidad entre los diferentes productos de SGBD. Dos organismos clave fueron fundamentales en este proceso:

La colaboración entre ANSI e ISO ha sido crucial para mantener SQL como un lenguaje verdaderamente global y estándar.

3.3. Evolución y Versiones del Estándar SQL (SQL-92, SQL:1999, etc.)

Desde su estandarización inicial, SQL ha continuado evolucionando para adaptarse a las nuevas necesidades y tecnologías. Cada nueva versión del estándar introduce mejoras, nuevas características y clarificaciones. Algunas de las versiones más significativas incluyen:

Es importante destacar que, si bien el estándar SQL es exhaustivo, los diferentes SGBD implementan subconjuntos del estándar y a menudo añaden sus propias extensiones propietarias. Sin embargo, el conocimiento del núcleo del estándar SQL sigue siendo la base para trabajar con cualquier sistema de gestión de datos.

4. Categorías de Comandos SQL: DDL vs. DML

4.1. Visión General de las Categorías de Comandos SQL

Para simplificar el aprendizaje y la comprensión de SQL, sus comandos se agrupan en varias categorías funcionales. Las dos categorías principales y más fundamentales son DDL y DML, que cubriremos en detalle. Existen otras como DCL (Data Control Language) para permisos y TCL (Transaction Control Language) para transacciones, pero hoy nos centraremos en la definición y manipulación de datos.

Pensemos en una base de datos como un edificio:

Esta distinción es crucial para entender el propósito de cada tipo de comando y cómo interactúan con la base de datos.

4.2. DDL: Data Definition Language (Lenguaje de Definición de Datos)

4.2.1. Propósito y Funcionalidad del DDL

El Data Definition Language (DDL) es el conjunto de comandos SQL que se utilizan para definir, modificar y eliminar la estructura de los objetos de una base de datos. Estos comandos operan sobre el esquema de la base de datos, no sobre los datos en sí mismos. Cuando se ejecuta un comando DDL, se realiza una operación de confirmación automática (auto-commit), lo que significa que los cambios son permanentes e irreversibles.

Las funcionalidades principales del DDL incluyen:

En resumen, DDL es el lenguaje que usamos para "diseñar" y "construir" nuestra base de datos.

4.2.2. Comando CREATE DATABASE

El comando CREATE DATABASE se utiliza para crear una nueva base de datos en el servidor de SGBD.

4.2.2.1. Sintaxis Básica
CREATE DATABASE nombre_de_la_base_de_datos;

Opcionalmente, se pueden especificar parámetros como el juego de caracteres (charset) y la intercalación (collation) para definir cómo se almacenarán y ordenarán los datos.

CREATE DATABASE nombre_de_la_base_de_datos
    CHARACTER SET utf8mb4
    COLLATE utf8mb4_unicode_ci;
4.2.2.2. Ejemplo de Uso

Imaginemos que estamos creando un sistema para una pequeña tienda de electrónica. Necesitaremos una base de datos para almacenar toda la información.

CREATE DATABASE TiendaElectronica;

Este comando creará una base de datos vacía llamada TiendaElectronica en nuestro servidor.

4.2.3. Comando CREATE TABLE

El comando CREATE TABLE es uno de los más fundamentales de DDL, ya que permite definir la estructura de las tablas donde se almacenarán nuestros datos.

4.2.3.1. Sintaxis Básica (Definición de Columnas, Tipos de Datos Comunes)
CREATE TABLE nombre_de_la_tabla (
    nombre_columna1 TIPO_DATO [RESTRICCIONES],
    nombre_columna2 TIPO_DATO [RESTRICCIONES],
    ...
);

Algunos tipos de datos comunes incluyen:

4.2.3.2. Restricciones Básicas (PRIMARY KEY, NOT NULL)

Las restricciones son reglas que se aplican a las columnas de una tabla para limitar el tipo de datos que se pueden almacenar en ella, asegurando la integridad de los datos.

4.2.3.3. Ejemplo Práctico de Creación de Tabla

Continuando con nuestra TiendaElectronica, crearemos una tabla para almacenar los productos.

USE TiendaElectronica; -- Seleccionamos la base de datos donde queremos crear la tabla

CREATE TABLE Productos (
    id_producto INT AUTO_INCREMENT PRIMARY KEY,
    nombre VARCHAR(100) NOT NULL,
    descripcion TEXT,
    precio DECIMAL(10, 2) NOT NULL,
    stock INT NOT NULL DEFAULT 0,
    fecha_creacion TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

En este ejemplo:

4.2.4. Comando ALTER TABLE (Introducción a la Modificación de Estructura)

El comando ALTER TABLE se utiliza para modificar la estructura de una tabla existente. Es muy útil cuando necesitamos ajustar el esquema de nuestra base de datos sin tener que recrear la tabla desde cero.

4.2.4.1. Sintaxis para Añadir/Eliminar Columnas (ADD COLUMN, DROP COLUMN)
4.2.4.2. Ejemplo de Modificación de Tabla

Supongamos que en nuestra tabla Productos, decidimos que necesitamos almacenar la marca de cada producto.

USE TiendaElectronica;

-- Añadir una columna 'marca'
ALTER TABLE Productos
ADD COLUMN marca VARCHAR(50) NULL AFTER nombre; -- 'AFTER nombre' es opcional y específica la posición

-- Más tarde, si la marca se vuelve un campo obligatorio
ALTER TABLE Productos
MODIFY COLUMN marca VARCHAR(50) NOT NULL DEFAULT 'Desconocida';

-- Si decidimos que la descripción no es necesaria
ALTER TABLE Productos
DROP COLUMN descripcion;

4.2.5. Comandos DROP TABLE y DROP DATABASE

Estos comandos se utilizan para eliminar completamente tablas o bases de datos. Son comandos muy potentes y deben usarse con extrema precaución.

4.2.5.1. Sintaxis Básica
4.2.5.2. Consideraciones de Seguridad y Precauciones

Los comandos DROP TABLE y DROP DATABASE son irreversibles. Una vez ejecutados, la tabla o base de datos y todos sus datos asociados se eliminan permanentemente. No hay una "papelera de reciclaje" en la mayoría de los SGBD para estas operaciones.

Matriz de Responsabilidades (Ejemplo Simplificado):

Rol Acción DDL Responsabilidad
Administrador de BD (DBA) DROP DATABASE, DROP TABLE Autorizado para ejecutar, responsable de copias de seguridad y recuperación.
Desarrollador Senior DROP TABLE (en entornos de desarrollo/pruebas) Autorizado para ejecutar en entornos controlados, bajo supervisión o aprobación.
Desarrollador Junior Ninguno (o solo con supervisión directa) No autorizado para ejecutar en entornos de producción.

Checklist Operativo antes de ejecutar DROP:

Siempre piensen dos veces antes de ejecutar un DROP.

4.3. DML: Data Manipulation Language (Lenguaje de Manipulación de Datos)

4.3.1. Propósito y Funcionalidad del DML

El Data Manipulation Language (DML) es el conjunto de comandos SQL que se utilizan para gestionar y manipular los datos dentro de las tablas de una base de datos. A diferencia del DDL que trabaja con la estructura, el DML interactúa directamente con las filas y columnas llenas de información.

Las funcionalidades principales del DML incluyen:

Los comandos DML son la forma en que las aplicaciones y los usuarios interactúan con la información almacenada en la base de datos para realizar operaciones diarias.

4.3.2. Comando INSERT INTO

El comando INSERT INTO se utiliza para añadir nuevas filas (registros) de datos a una tabla existente.

4.3.2.1. Sintaxis Básica (Inserción de una Fila, Múltiples Filas)
4.3.2.2. Ejemplo Práctico de Inserción de Datos

Usando nuestra tabla Productos de la TiendaElectronica:

USE TiendaElectronica;

-- Insertar un solo producto
INSERT INTO Productos (nombre, marca, descripcion, precio, stock)
VALUES ('Laptop Gamer X', 'TechBrand', 'Potente laptop para juegos con RTX 3080', 1899.99, 15);

-- Insertar otro producto, omitiendo la descripción (que es NULLable)
INSERT INTO Productos (nombre, marca, precio, stock)
VALUES ('Teclado Mecánico RGB', 'GamerGear', 85.50, 50);

-- Insertar múltiples productos
INSERT INTO Productos (nombre, marca, descripcion, precio, stock)
VALUES
    ('Monitor Curvo 27"', 'ViewLux', 'Monitor de alta resolución para productividad', 349.00, 20),
    ('Mouse Inalámbrico Ergonómico', 'ErgoTech', NULL, 45.99, 100),
    ('Auriculares Bluetooth', 'SoundWave', 'Auriculares con cancelación de ruido', 120.00, 75);

4.3.3. Comando SELECT (Recuperación de Datos Básica)

El comando SELECT es el más utilizado en SQL. Permite recuperar datos de una o varias tablas de la base de datos. Es la base de cualquier consulta de información.

4.3.3.1. Sintaxis Básica (SELECT *, SELECT columna1, columna2)
4.3.3.2. Cláusula FROM

La cláusula FROM especifica de qué tabla (o tablas) se van a recuperar los datos. Es obligatoria para cualquier consulta SELECT que acceda a datos de una tabla.

SELECT columna1, columna2
FROM nombre_de_la_tabla;
4.3.3.3. Cláusula WHERE (Filtros Simples: `=`, `>`, `<`, `LIKE`)

La cláusula WHERE se utiliza para filtrar los registros que se recuperan, especificando una o más condiciones. Solo las filas que cumplen la condición serán incluidas en el resultado.

4.3.3.4. Ejemplos Prácticos de Consultas

Recuperando datos de nuestra tabla Productos:

USE TiendaElectronica;

-- 1. Consultar todos los productos
SELECT *
FROM Productos;

-- 2. Consultar solo el nombre y el precio de los productos
SELECT nombre, precio
FROM Productos;

-- 3. Consultar productos con un precio mayor a 100
SELECT nombre, precio
FROM Productos
WHERE precio > 100.00;

-- 4. Consultar productos de la marca 'TechBrand'
SELECT *
FROM Productos
WHERE marca = 'TechBrand';

-- 5. Consultar productos cuyo nombre contenga la palabra 'Monitor'
SELECT nombre, marca
FROM Productos
WHERE nombre LIKE '%Monitor%';

-- 6. Consultar productos con stock entre 20 y 50 (inclusive)
SELECT nombre, stock
FROM Productos
WHERE stock >= 20 AND stock <= 50;

-- 7. Consultar productos que no sean de la marca 'GamerGear'
SELECT nombre, marca
FROM Productos
WHERE NOT marca = 'GamerGear'; -- o WHERE marca <> 'GamerGear';

4.3.4. Comando UPDATE

El comando UPDATE se utiliza para modificar datos existentes en una o varias filas de una tabla.

4.3.4.1. Sintaxis Básica
UPDATE nombre_de_la_tabla
SET columna1 = nuevo_valor1, columna2 = nuevo_valor2, ...
WHERE condicion;
4.3.4.2. La Importancia Crítica de la Cláusula WHERE

La cláusula WHERE en un comando UPDATE es absolutamente crítica. Si se omite la cláusula WHERE, el comando UPDATE afectará a *todas las filas* de la tabla, actualizando los valores especificados en todas ellas. Esto puede llevar a una pérdida masiva de datos y es uno de los errores más comunes y costosos en la gestión de bases de datos.

¡Siempre, siempre, siempre utiliza WHERE con UPDATE a menos que intencionalmente quieras actualizar toda la tabla!

4.3.4.3. Ejemplo Práctico de Actualización de Datos

Actualicemos algunos datos en nuestra tabla Productos:

USE TiendaElectronica;

-- 1. Aumentar el precio de un producto específico (ej. id_producto = 1)
UPDATE Productos
SET precio = 1999.99
WHERE id_producto = 1;

-- 2. Reducir el stock de todos los productos de una marca específica
UPDATE Productos
SET stock = stock - 5
WHERE marca = 'GamerGear';

-- 3. Actualizar la descripción de un producto que no la tenía
UPDATE Productos
SET descripcion = 'Ratón inalámbrico con diseño ergonómico para largas jornadas'
WHERE nombre = 'Mouse Inalámbrico Ergonómico';

-- 4. ¡CUIDADO! Este comando actualizaría el precio de *todos* los productos
-- UPDATE Productos
-- SET precio = precio * 1.10; -- Aumenta el precio un 10% a todos los productos
-- NO EJECUTAR SIN UN WHERE ESPECÍFICO A MENOS QUE SEA INTENCIONAL.

4.3.5. Comando DELETE FROM

El comando DELETE FROM se utiliza para eliminar una o varias filas de datos de una tabla.

4.3.5.1. Sintaxis Básica
DELETE FROM nombre_de_la_tabla
WHERE condicion;
4.3.5.2. La Importancia Crítica de la Cláusula WHERE

Al igual que con UPDATE, la cláusula WHERE en un comando DELETE FROM es extremadamente importante. Si se omite la cláusula WHERE, el comando DELETE FROM eliminará *todas las filas* de la tabla, dejando la tabla vacía pero conservando su estructura. Esto es igualmente peligroso y puede resultar en una pérdida irrecuperable de datos.

¡Siempre, siempre, siempre utiliza WHERE con DELETE FROM a menos que intencionalmente quieras vaciar toda la tabla!

Cláusula Modelo de Seguridad:

-- Siempre verificar la condición antes de ejecutar un DELETE FROM

-- Primero, ejecuta un SELECT con la misma condición para ver qué filas se afectarán:

SELECT * FROM nombre_de_la_tabla WHERE condicion_de_eliminacion;

-- Si el resultado es el esperado, entonces procede con el DELETE:

DELETE FROM nombre_de_la_tabla WHERE condicion_de_eliminacion;

4.3.5.3. Ejemplo Práctico de Eliminación de Datos

Eliminemos algunos datos de nuestra tabla Productos:

USE TiendaElectronica;

-- 1. Eliminar un producto específico por su ID
DELETE FROM Productos
WHERE id_producto = 4; -- Eliminar el 'Mouse Inalámbrico Ergonómico'

-- 2. Eliminar todos los productos con stock cero
DELETE FROM Productos
WHERE stock = 0;

-- 3. ¡CUIDADO! Este comando eliminaría *todos* los productos de la tabla
-- DELETE FROM Productos; -- Vacía la tabla "Productos" completamente
-- NO EJECUTAR SIN UN WHERE ESPECÍFICO A MENOS QUE SEA INTENCIONAL.

5. Entornos de Gestión de Bases de Datos (DBMS)

5.1. ¿Qué es un Sistema Gestor de Bases de Datos (SGBD)?

Un Sistema Gestor de Bases de Datos (SGBD), o DBMS (Database Management System), es un software que permite a los usuarios y aplicaciones interactuar con una base de datos. Es el intermediario entre la base de datos física (los archivos donde se almacenan los datos) y los usuarios o programas que necesitan acceder a esos datos.

Las funciones clave de un SGBD incluyen:

Algunos de los SGBD relacionales más populares que implementan SQL son:

5.2. Herramientas Populares para la Interacción con SQL

Para interactuar con un SGBD y ejecutar comandos SQL, necesitamos herramientas cliente. Estas herramientas nos proporcionan una interfaz gráfica de usuario (GUI) o una línea de comandos para enviar nuestras consultas y ver los resultados.

5.2.1. phpMyAdmin (Interfaz Web para MySQL/MariaDB)

5.2.2. DBeaver (Cliente de Escritorio Multi-SGBD)

5.2.3. Otras Herramientas Comunes (MySQL Workbench, pgAdmin, SQL Developer)

La elección de la herramienta dependerá del SGBD que utilicen y de sus preferencias personales.

5.3. Preparación del Entorno de Práctica (Breve Configuración)

Para la parte práctica de esta charla, asumiremos que tienen un entorno de desarrollo local configurado. La forma más sencilla de lograr esto es usando un "stack" de servidor local.

5.3.1. Requisitos Previos (Servidor Local: XAMPP/WAMP/MAMP)

Estos paquetes de software instalan un servidor web (Apache), un intérprete de PHP y, crucialmente, un servidor de base de datos MySQL/MariaDB en su máquina local.

Si no tienen uno instalado, les recomiendo XAMPP por su facilidad de uso y compatibilidad multiplataforma. Una vez instalado, deben iniciar los servicios de Apache y MySQL/MariaDB desde el panel de control del paquete.

5.3.2. Acceso y Navegación Básica en phpMyAdmin o DBeaver

Para esta práctica, cualquier entorno que les permita ejecutar SQL contra un servidor MySQL/MariaDB local será suficiente.

6. Primera Aproximación Práctica: Manos a la Obra con SQL

¡Es hora de poner en práctica lo aprendido! Utilizaremos un entorno como phpMyAdmin o DBeaver para ejecutar nuestros primeros comandos SQL. Asegúrense de que su servidor MySQL/MariaDB esté en ejecución.

6.1. Conexión al Servidor de Base de Datos

Si están usando phpMyAdmin, ya deberían estar conectados al navegar a http://localhost/phpmyadmin. Si usan DBeaver, asegúrense de que su conexión a MySQL/MariaDB esté activa.

Busquen la interfaz para ejecutar consultas SQL. En phpMyAdmin, es la pestaña "SQL". En DBeaver, pueden hacer clic derecho en su conexión o base de datos y seleccionar "New SQL Editor".

6.2. Práctica DDL: Creación de una Base de Datos y Tabla Simple

6.2.1. Crear la Base de Datos "MiCatalogo"

Vamos a crear una base de datos para un catálogo de productos simple.

CREATE DATABASE MiCatalogo
    CHARACTER SET utf8mb4
    COLLATE utf8mb4_unicode_ci;

Después de ejecutar este comando, refresquen la lista de bases de datos en su herramienta. Deberían ver MiCatalogo. Selecciónenla para que los siguientes comandos se ejecuten dentro de ella.

6.2.2. Crear la Tabla "Articulos"

Ahora, dentro de MiCatalogo, crearemos una tabla llamada Articulos.

6.2.2.1. Definición de Columnas (id, nombre, descripcion, precio, stock)
6.2.2.2. Aplicación de Tipos de Datos y Restricciones
USE MiCatalogo; -- Asegurarse de que estamos en la BD correcta

CREATE TABLE Articulos (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nombre VARCHAR(100) NOT NULL,
    descripcion TEXT,
    precio DECIMAL(10, 2) NOT NULL,
    stock INT NOT NULL DEFAULT 0
);

Verifiquen que la tabla Articulos se ha creado correctamente y que tiene las columnas y restricciones definidas.

6.3. Práctica DML: Inserción, Consulta, Actualización y Eliminación de Datos

6.3.1. Insertar Varios Artículos en la Tabla "Articulos"

Vamos a poblar nuestra tabla con algunos datos de ejemplo.

USE MiCatalogo;

INSERT INTO Articulos (nombre, descripcion, precio, stock)
VALUES
    ('Teclado Mecánico', 'Teclado retroiluminado RGB con switches azules', 75.00, 50),
    ('Ratón Gaming', 'Ratón óptico de alta precisión con 6 botones programables', 45.50, 80),
    ('Monitor Ultrawide 34"', 'Monitor curvo para inmersión total en juegos y trabajo', 599.99, 15),
    ('Webcam Full HD', 'Cámara web con micrófono integrado para videollamadas', 30.00, 120),
    ('Disco Duro SSD 1TB', 'Unidad de estado sólido de alta velocidad para almacenamiento', 99.99, 40);

6.3.2. Consultar Todos los Artículos

Verifiquemos que los datos se han insertado correctamente.

USE MiCatalogo;

SELECT *
FROM Articulos;

Deberían ver todas las filas que acabamos de insertar.

6.3.3. Consultar Artículos con Filtro por Precio o Nombre

Ahora, apliquemos algunos filtros para recuperar datos específicos.

USE MiCatalogo;

-- Consultar artículos con precio superior a 100
SELECT nombre, precio, stock
FROM Articulos
WHERE precio > 100.00;

-- Consultar artículos cuyo nombre contenga 'Teclado'
SELECT id, nombre, descripcion
FROM Articulos
WHERE nombre LIKE '%Teclado%';

6.3.4. Actualizar el Precio o Stock de un Artículo Específico

Modifiquemos algunos datos existentes.

USE MiCatalogo;

-- Actualizar el stock del "Ratón Gaming" (asumiendo id=2)
UPDATE Articulos
SET stock = 70
WHERE id = 2; -- ¡La cláusula WHERE es crucial aquí!

-- Aumentar el precio de los artículos con 'Monitor' en su nombre en un 5%
UPDATE Articulos
SET precio = precio * 1.05
WHERE nombre LIKE '%Monitor%';

Después de ejecutar, pueden volver a consultar la tabla completa o el artículo específico para ver los cambios.

SELECT * FROM Articulos WHERE id = 2;
SELECT * FROM Articulos WHERE nombre LIKE '%Monitor%';

6.3.5. Eliminar un Artículo de la Tabla

Finalmente, eliminemos un registro de nuestra tabla.

USE MiCatalogo;

-- Eliminar el artículo "Webcam Full HD" (asumiendo id=4)
DELETE FROM Articulos
WHERE id = 4; -- ¡La cláusula WHERE es crucial aquí!

-- Verificar que el artículo ha sido eliminado
SELECT *
FROM Articulos;

Deberían ver que el artículo con id=4 ya no aparece en la lista.

7. Conclusiones y Próximos Pasos

7.1. Recapitulación de los Conceptos Clave de SQL

Hemos cubierto un terreno significativo en esta introducción a SQL. Recapitulando, hemos aprendido que:

Este es solo el comienzo de su viaje con SQL, pero ya tienen las bases sólidas para seguir construyendo.

7.2. Preguntas y Respuestas

Ahora abrimos el espacio para sus preguntas. No hay preguntas tontas, solo oportunidades para aprender más.

[Espacio para preguntas y respuestas del público]

7.3. Recursos Adicionales para Profundizar en SQL

Para continuar su aprendizaje y dominar SQL, les recomiendo los siguientes recursos:

7.4. Cierre y Agradecimientos

Muchas gracias por su atención y participación activa en esta charla. Espero que esta introducción a SQL les haya sido útil y les inspire a seguir explorando el apasionante mundo de las bases de datos y la gestión de datos. ¡El poder de los datos está ahora a su alcance!

¡Hasta la próxima!