Módulo 1 · 01 | Bases de datos relacionales y SQL

MÓDULO 1 · CLASE 1

Bases de datos relacionales y SQL

Clase de lectura. Antes de instalar MySQL, entendé qué es una base de datos, cómo se organiza en tablas y para qué sirve el lenguaje SQL.

Idea clave

Una base de datos relacional guarda la información en tablas relacionadas entre sí. SQL (Structured Query Language) es el lenguaje estándar para crear esas tablas, cargar datos y, sobre todo, consultarlos.

1. Base de datos y sistema gestor (SGBD)

Una base de datos es un conjunto organizado de datos. El programa que la administra es el sistema gestor de bases de datos (SGBD o DBMS): se encarga de guardar, proteger y devolver los datos cuando se los pedís. MySQL es uno de los SGBD relacionales más usados del mundo; es de código abierto (licencia GPL) y funciona como cliente/servidor:

  • Servidor MySQL: el “motor” que guarda los datos y ejecuta las consultas.
  • Cliente: el programa desde el que escribís SQL, como MySQL Workbench o la consola mysql.

2. El modelo relacional: tablas, filas y columnas

Cada tabla representa una cosa del mundo real (alumnos, cursos, profesores). Las columnas son los atributos y cada fila (registro) es un elemento. Así se ve la tabla alumnos de la base de práctica tablas_libro:

ID_ALUMNONOMBREAPELLIDOSF_NACIMIENTO
1PabloHernandaz Mata1995-03-14
2JeremiasSanto Lote1993-07-12
3TeresaLomas Trillo1989-06-19

Todas las filas de una columna tienen el mismo tipo de dato. Los principales en MySQL:

CategoríaTiposEjemplo
NuméricosINT, BIGINT, DECIMAL(10,2)cantidad, precio
TextoVARCHAR(n), CHAR(n), TEXT, ENUMnombre, ciudad
Fecha y horaDATE, DATETIME, TIMESTAMP, TIME, YEARfecha de venta
OtrosJSON, tipos espacialesdatos semiestructurados, mapas

Para montos usá DECIMAL

DECIMAL guarda valores exactos; FLOAT y DOUBLE son aproximados. En tablas_libro los precios son FLOAT y por eso SELECT CANTIDAD * PRECIO FROM lineas_factura devuelve 27.780000686645508 en lugar de 27.78.

3. Claves: cómo se identifican y conectan las filas

  • Clave primaria (PRIMARY KEY): identifica cada fila de forma única y no admite repetidos ni vacíos (por ejemplo, alumnos.ID_ALUMNO).
  • Clave foránea (FOREIGN KEY): una columna que apunta a la clave primaria de otra tabla (por ejemplo, cursos.ID_PROFE → profesores.ID_PROFE). Así se relacionan las tablas, y MySQL impide asignar a un curso un profesor que no existe.

Separar la información en tablas relacionadas evita repetir datos (el nombre del profesor se guarda una sola vez, aunque dicte varios cursos) y mantiene la información consistente.

4. ¿Qué es SQL?

SQL es un lenguaje declarativo: le decís qué datos querés y el motor decide cómo buscarlos. Sus instrucciones se agrupan así:

GrupoPara quéInstrucciones
DDL · definiciónCrear y modificar la estructuraCREATE, ALTER, DROP
DML · manipulaciónCargar y cambiar datosINSERT, UPDATE, DELETE
DQL · consultaLeer y analizar datosSELECT
DCL · controlPermisos de usuariosGRANT, REVOKE
-- DDL: crear la tabla (así está en tablasLibro.sql) CREATE TABLE alumnos ( ID_ALUMNO INT NOT NULL, NOMBRE VARCHAR(30) NOT NULL, APELLIDOS VARCHAR(50) NOT NULL, F_NACIMIENTO DATE NOT NULL, PRIMARY KEY (ID_ALUMNO) ); -- DML: cargar un registro INSERT INTO alumnos VALUES (1, 'Pablo', 'Hernandaz Mata', '1995-03-14'); -- DQL: consultar SELECT NOMBRE, APELLIDOS FROM alumnos WHERE F_NACIMIENTO >= '1992-01-01';

5. ¿Por qué SQL en Business Intelligence?

  • La mayoría de los datos de una empresa (ventas, stock, clientes) vive en bases de datos relacionales.
  • Con SQL extraés, filtrás y resumís millones de filas directamente en el servidor, antes de llevarlas a Excel o Power BI.
  • Es un estándar: lo que aprendas en MySQL sirve, con pocas diferencias, en SQL Server, PostgreSQL u Oracle.

Ojo con DELETE y UPDATE

Un DELETE o UPDATE sin WHERE afecta a todas las filas de la tabla. Probá siempre primero con un SELECT usando el mismo filtro.

Bibliografía

El manual oficial de MySQL está en inglés; podés usar el traductor del navegador.

Siguiente clase: Instalación de MySQL.

Scroll al inicio
¿Consultas? Escribinos