Curso de SQL
¿Qué aprenderás?
Si estás arrancando de cero con bases de datos, este curso te lleva de la mano desde el primer "¿qué es una tabla?" hasta escribir consultas complejas como un experto.
Y si ya conocés las bases del lenguaje SQL pero sentís que te manejás solo con lo básico, acá vas a encontrar todo lo que te falta para poder encarar cualquier desarrollo: JOINs bien entendidos, subconsultas, procedimientos almacenados, triggers y todas las herramientas que separan al que "sabe usar MySQL" del que realmente lo domina.
Al terminar el curso vas a poder planificar y diseñar una base de datos desde cero, crear y modelar sus estructuras, y escribir consultas optimizadas para resolver cualquier necesidad administrativa o funcional.
Cada tema se explica con ejemplos prácticos, implementados sobre un proyecto troncal que verás crecer progresivamente, para que puedas ver cómo se integra al ámbito profesional.
En la última unidad vas a meterte con temas de administración de la base de datos como servicio, que te inician en el rol del DBA (Database Administrator), abriendo una puerta más al mercado laboral.
Módulo 1 - Fundamentos
De qué se trata este curso de Base de Datos, cómo se integra en el ecosistema backend de la aplicación que esté haciendo.
Cuál es el objetivo que vamos a alcanzar al finalizar el curso.
Qué es una base de datos.
Qué es un servicio, diferencias con una aplicación.
Cuáles son los elementos que participan en la interacción con la base de datos.
El modelo cliente-servidor.
Bases de datos relacionales y no-relacionales
Qué hace un Sistema Gestor de Base de Datos.
MySQL: para qué se usa, dónde se usa.
Diferencia ente MariaDB, MySQL, PostgreSQL, SQL Server, Oracle y cuál elegir.
Instalar MySQL/MariaDB según el sistema operativo.
Hosting, instalación de binarios o emuladores "all in one"
Cómo acceder a través del CLI. Las credenciales de conexión, el usuario root.
Comandos básicos desde la terminal para moverse dentro del servidor MySQL.
Cómo usar el CLI como herramienta del DBA.
Herramientas GUI: HeidiSQL y DBeaver.
PHPMyAdmin como alternativa estilo web app.
Cómo conectarse al servidor de base de datos.
Cómo explorar las bases de datos.
Cómo ejecutar el código SQL que vamos a aprender.
Módulo 2 - Teoría sobre MySQL
La estructura fundamental: base de datos → tabla → fila → columna.
Las bases de datos del sistema: MYSQL e INFORMATION_SCHEMA, qué información administran.
Exploramos el PHPMyAdmin como interfaz para crear una base de datos.
Aprendemos qué es el character set y el collation.
Qué conjuntos de caracteres existen y cuáles se usan habiltualmente.
Diferencias entre latin1, utf8 y utf8mb4
Panorámica de los tipos de datos existentes.
Dónde y para qué se usan.
Los tipos de datos principales.
INT, TINYINT, SMALLINT, BIGINT: cuándo usar cada uno.
DECIMAL vs FLOAT vs DOUBLE.
Qué es la precisión del punto flotante
Los tipos de datos CHAR vs VARCHAR: diferencia real de almacenamiento
Qué son BINARY y VARBINARY.
TEXT vs BLOB y sus variantes.
Los tipos de datos DATE, TIME e YEAR.
El tipo de dato DATETIME y su diferencia con TIMESTAMP
El problema de los tipos de datos booleanos.
Los tipos BOOL y BOOLEAN.
Cómo se interpreta el BIT en MySQL / MariaDB.
Los tipos de datos para pre-definir opciones: SET y ENUM:
Qué necesidades resuelven, cuándo convienen usarlos, diferencias entre ambos y sus limitaciones.
El tipo de dato JSON. Cuándo se incoporó su soporte nativo en MySQL.
Qué herramientas ofrece y cuándo tiene sentido usarlo en una base de datos relacional.
Qué es la anchura del tipo de dato y qué representa según el tipo al que se lo defina.
Otos atributos que modifican el comportamiento de una columna.
Valores obligatorios y únicos.
Valores por defecto.
Atributos solo para números:
Qué es una clave primaria (Primary Key), por qué toda tabla suele tener una.
Las claves primarias como números de serie.
Qué son las claves externas (Foreign Keys)