TEMARIO DEL CURSO
Módulo 1: Introducción a MySQL
1. ¿Qué es MySQL?
- Historia y evolución de MySQL.
- Instalación de MySQL en diferentes plataformas.
- Configuración inicial y herramientas de administración (MySQL Workbench, phpMyAdmin).
2. Conceptos Básicos de Bases de Datos
- Conceptos fundamentales: tablas, registros, columnas, tipos de datos.
3. Lenguaje SQL
- Comandos básicos: SELECT, INSERT, UPDATE, DELETE.
Módulo 2: Operaciones Básicas con MySQL
1. Creación y Manejo de Tablas
- Creación de bases de datos y tablas.
- Definición de columnas y tipos de datos.
- Modificación de estructuras de tablas: ALTER TABLE.
- Eliminación de tablas y bases de datos.
2. Consultas Básicas
- Filtrado de datos: WHERE, operadores de comparación.
- Ordenación de resultados: ORDER BY.
- Agrupación de resultados: GROUP BY, HAVING.
- Funciones de agregación: COUNT, SUM, AVG, MAX, MIN.
3. Manejo de Datos
- Inserción de datos: INSERT INTO.
- Actualización de datos: UPDATE.
- Eliminación de datos: DELETE.
Módulo 3: Relaciones y Claves
1. Relaciones entre Tablas
- Claves primarias y claves foráneas.
- Relaciones uno a uno, uno a muchos, muchos a muchos.
2. Consultas Avanzadas
- Joins: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN.
- Operaciones con varias tablas.
3. Indices y Optimización
- Impacto de los índices en el rendimiento.
- Optimización básica de consultas.
Módulo 4: Procedimientos y Funciones
1. Procedimientos Almacenados
- Creación y uso de procedimientos almacenados.
- Variables y control de flujo en procedimientos.
- Manejo de errores en procedimientos.
2. Funciones Almacenadas
- Creación y uso de funciones almacenadas.
- Diferencias entre procedimientos y funciones.
- Funciones predefinidas en MySQL.
3. Triggers
- Aplicaciones comunes de triggers.
- Gestión de eventos mediante triggers.
Módulo 5: Seguridad y Gestión de Usuarios
1. Gestión de Usuarios
- Creación y administración de usuarios en MySQL.
- Asignación de permisos y roles.
- Seguridad en el acceso a la base de datos.
2. Copia de Seguridad y Recuperación
- Creación de backups de bases de datos.
- Restauración de bases de datos desde backups.
3. Seguridad Avanzada
- Protección contra ataques SQL Injection.
Módulo 6: MySQL Avanzado
1. Optimización y Rendimiento
- Análisis de rendimiento con EXPLAIN.
- Optimización de consultas complejas.
- Cacheo de consultas y tuning de bases de datos.
2. Particionado de Tablas
- Introducción al particionado.
- Tipos de particionado.
- Beneficios y limitaciones del particionado.
3. Replicación y Alta Disponibilidad
- Conceptos de replicación en MySQL.
- Configuración de replicación maestro-esclavo.
- Clustering y alta disponibilidad.
Módulo 7: Proyecto Final
1. Desarrollo de un Proyecto Completo
- Diseño de una base de datos desde cero.
- Implementación de todas las funcionalidades aprendidas.
- Optimización y despliegue del proyecto.
2. Presentación y Evaluación
- Documentación del proyecto.
- Presentación y evaluación del proyecto.