GuíaIntermedio

Guía de Modelado y Diseño de Bases de Datos

Aprende a diseñar el esquema de una base de datos relacional: del problema del mundo real al modelo, pasando por entidades, atributos, relaciones, claves, normalización, restricciones de integridad, tipos e índices. Trabajas modelando Reservo, un sistema de reservas de salas de coworking, desde el diagrama entidad-relación hasta el DDL completo. Sales sabiendo diseñar un esquema correcto, normalizado y con integridad garantizada por la propia base de datos, y sabiendo cuándo desnormalizar con criterio.

64
lecciones
8
módulos
Inglés · Español
disponible en
Incluido en el Club
acceso
NIEVA

Resultados

Lo que vas a poder hacer

  • Entender por qué el diseño de una base de datos importa y recorrer el camino de modelo conceptual a lógico y a físico
  • Identificar entidades, atributos y relaciones (1:1, 1:N, N:M), dibujar el diagrama entidad-relación y usar la tabla de unión para relaciones N:M
  • Diseñar claves: primaria, foránea, natural vs surrogate, compuesta, e imponer integridad referencial con `PRAGMA foreign_keys`
  • Normalizar un esquema hasta 3FN (1FN, 2FN, 3FN) y entender las anomalías de inserción, actualización y borrado que resuelve
  • Decidir cuándo desnormalizar con criterio: el trade-off entre velocidad de lectura y riesgo de inconsistencia
  • Escribir restricciones que la base de datos impone de verdad: NOT NULL, UNIQUE, CHECK, DEFAULT y FOREIGN KEY, sin depender solo de la aplicación
  • Elegir tipos de dato correctos y diseñar índices físicos, entendiendo su costo en escritura y leyendo EXPLAIN QUERY PLAN
  • Diseñar de cero el esquema completo de Reservo: el DDL, una base poblada que corre y la justificación de cada decisión de diseño

Antes de empezar

Qué necesitas traer

Es para ti si...

  • Devs backend que heredan o diseñan esquemas y quieren dejar de improvisar tablas sobre la marcha
  • Quien se prepara para entrevistas técnicas donde piden normalizar un esquema o justificar una clave
  • Analistas o devs que migran desde NoSQL u hojas de cálculo y necesitan entender el modelo relacional a fondo
  • Equipos que arrastran anomalías de datos por un esquema mal normalizado o sin restricciones

Requisitos y materiales

  • SQL básico: CREATE TABLE, INSERT, SELECT
  • Python 3 instalado (el módulo `sqlite3` viene en la librería estándar)
  • No se requiere experiencia previa con normalización ni con diagramas entidad-relación

Contenido

El temario, módulo por módulo

Abre cualquiera para ver sus lecciones.

  • Introducción al Módulo 1: Del problema al modelo
  • Qué es una base de datos relacional y por qué tablas
  • El costo de un mal esquema
  • Los tres niveles: conceptual, lógico y físico
  • Del dominio a las entidades
  • Tu primera tabla con `CREATE TABLE`
  • `INSERT` y `SELECT` básicos
  • Mini-proyecto: modela Reservo conceptualmente y crea `rooms`

  • Introducción al Módulo 2: entidades, atributos y relaciones
  • Entidad vs atributo
  • Elegir atributos
  • La relación 1:N con foreign keys
  • La relación N:M con tabla de unión
  • La relación 1:1
  • El diagrama entidad-relación (ER)
  • Mini-proyecto: modela las entidades y relaciones de Reservo

  • Módulo 3 — Claves: identidad e integridad para tu esquema
  • La clave primaria: la identidad de cada fila
  • `INTEGER PRIMARY KEY`, el `rowid` y `AUTOINCREMENT`
  • La clave foránea y `REFERENCES`: conectar tablas sin romperlas
  • Natural vs surrogate: ¿la clave es un dato del negocio o un id artificial?
  • La clave compuesta: cuando la identidad necesita dos columnas
  • Integridad referencial: `PRAGMA foreign_keys` y `ON DELETE`
  • Mini-proyecto: claves e integridad para el esquema de Reservo

  • Módulo 4 — Normalización: una verdad, un lugar
  • Las anomalías de un esquema plano
  • Primera forma normal (1FN): un valor por celda
  • Segunda forma normal (2FN): sin dependencias parciales
  • Tercera forma normal (3FN): sin dependencias transitivas
  • Normalizar Reservo paso a paso
  • Formas superiores (BCNF) y hasta dónde llegar
  • Mini-proyecto: llevar una `bookings_flat` a 3FN

  • Módulo 5 — Desnormalización: cuándo romper las reglas
  • Qué es desnormalizar
  • El trade-off lectura/escritura
  • Cuándo la 3FN estorba
  • Técnicas de desnormalización
  • Mantener consistente el dato duplicado
  • Normaliza primero, desnormaliza con razón medida
  • Mini-proyecto: desnormaliza un reporte de Reservo, mide la mejora y muestra el riesgo

  • Módulo 6 — Restricciones e integridad: el esquema como contrato
  • Por qué la base de datos impone los invariantes
  • `NOT NULL` y el peligro de `NULL`
  • `UNIQUE` simple y compuesto
  • `CHECK`: reglas de negocio en el esquema
  • Valores por defecto (`DEFAULT`)
  • Integridad total: combinar todo
  • Mini-proyecto: todas las restricciones para el esquema de Reservo

  • Módulo 7 — Tipos, índices y el diseño físico: del "qué" al "cómo"
  • La afinidad de tipos de SQLite y las tablas `STRICT`
  • Elegir bien los tipos: dinero, fechas y booleanos
  • Qué es un índice y cuándo usarlo
  • El costo del índice: escritura y espacio
  • Leer el plan con `EXPLAIN QUERY PLAN`
  • Índice compuesto, índice `UNIQUE`, y el cierre lógico vs físico
  • Mini-proyecto: elige los tipos de Reservo y agrega los índices que sus consultas necesitan

  • Introducción al Módulo 8: Proyecto — diseña la base de datos de Reservo
  • Las entidades y su diagrama ER
  • Las claves: primaria y foránea
  • Normalizar a 3FN (y la desnormalización justificada)
  • Las restricciones de integridad
  • Tipos e índices: el diseño físico
  • Poblar y verificar la base de datos
  • Proyecto: diseña la base de datos de Reservo

Dónde encaja

Esta guía es parte de algo más grande

Se estudia dentro de estos programas, con acompañamiento y fechas.

Dudas frecuentes

Lo que suele preguntarse

Empieza cuando quieras

Reseñas

Lo que dicen los estudiantes

Estas reseñas son de estudiantes inscritos que completaron al menos el 50% del curso. Moderamos las reseñas solo por motivos de contenido (spam, lenguaje ofensivo, datos personales), nunca por ser críticas o negativas.

Aún no hay reseñas aprobadas.

¡Sé el primero en compartir tu experiencia!