Bienvenidos al curso de Bases de Datos, diseñado para estudiantes de secundaria que desean introducirse en el fascinante mundo del almacenamiento, gestión y análisis de datos.
Este repositorio contiene todos los materiales del curso organizados por trimestres, con teoría, ejercicios, presentaciones y recursos complementarios para un aprendizaje progresivo.
Una base de datos es un sistema que permite almacenar, organizar y acceder a grandes volúmenes de información de forma eficiente. En la vida diaria están presentes en redes sociales, plataformas de streaming, supermercados, hospitales, etc.
- Comprender la estructura y funcionamiento de una base de datos.
- Aprender a diseñar bases de datos con modelos conceptuales y relacionales.
- Utilizar el lenguaje SQL para hacer consultas y manipular datos.
- Desarrollar buenas prácticas de seguridad, optimización y automatización.
Vivimos en la era de la información. Saber trabajar con datos es una habilidad fundamental para muchos campos: tecnología, ciencia, negocios, educación, etc. Las bases de datos son la columna vertebral de la mayoría de los sistemas digitales actuales.
Tipo | Descripción | Ejemplos |
---|---|---|
Relacionales | Usan tablas para organizar los datos. | MySQL, PostgreSQL, SQLite |
No Relacionales (NoSQL) | Usan documentos, grafos o claves/valores. | MongoDB, Redis |
Distribuidas | Datos almacenados en varios servidores o ubicaciones. | Cassandra, Google Bigtable |
Jerárquicas y en red | Antiguos modelos que organizan los datos en estructuras tipo árbol o red. | IMS, CODASYL |
- Concepto de información y datos.
- Tipos de almacenamiento: físico y lógico.
- Introducción al sistema gestor de bases de datos (SGBD).
- Componentes: entidades, atributos y relaciones.
- Diagramas E/R: símbolos y convenciones.
- Participación, cardinalidad, claves primarias y foráneas.
- Ejercicios prácticos de diseño E/R y E/R extendido.
- Reglas de transformación E/R → modelo relacional.
- Normalización de esquemas.
- Esquemas resumen: paso a paso para el diseño relacional.
- Introducción al lenguaje SQL.
- Comando
SELECT
: proyecciones y condiciones. - Uso de operadores lógicos y de comparación.
- Joins: INNER JOIN, CROSS JOIN.
- Claves primarias y foráneas como enlaces entre tablas.
- OUTER JOIN: LEFT, RIGHT, FULL.
- Manejo de valores nulos.
- Agregación de datos:
COUNT()
,SUM()
,AVG()
,MAX()
,MIN()
. - Agrupamiento:
GROUP BY
,HAVING
.
- Subconsultas en cláusulas
WHERE
,FROM
ySELECT
. - Comparaciones con
IN
,EXISTS
,ANY
,ALL
. - Ejercicios combinados de teoría y práctica.
- Concepto y utilidad de las vistas (
CREATE VIEW
). - Ventajas: simplificación, seguridad y reutilización.
- Análisis de rendimiento.
- Buenas prácticas para consultas eficientes.
- Índices y estadísticas.
- Comandos:
INSERT
,UPDATE
,DELETE
. - Transacciones y control de errores.
- Control de accesos:
GRANT
,REVOKE
. - Roles y privilegios.
- Auditoría y registro de cambios.
- Triggers (disparadores): cuándo y cómo usarlos.
- Procedimientos almacenados (
PROCEDURE
) y funciones (FUNCTION
). - Automatización de tareas y validación de datos.
- Cifrado, integridad y copias de seguridad.
- Protección contra accesos no autorizados.
- Políticas de respaldo y recuperación.