DP-900: cómo usar esquemas en bases de datos relacionales en Azure
Voy a enseñar la competencia de comprender y usar esquemas en bases de datos relacionales en Azure — es decir, cómo modelar tablas, columnas y tipos, y cómo el esquema influye en la integridad, el rendimiento y las consultas. Esta competencia es frecuente en el DP-900 porque demuestra que entiendes los fundamentos relacionales y su aplicación en Azure.
Lo que necesitas saber
Un esquema en bases de datos relacionales describe la estructura: tablas, columnas, tipos de datos, constraints (por ejemplo PRIMARY KEY, FOREIGN KEY, UNIQUE), e índices. En Azure, servicios como Azure SQL Database y Azure Database for PostgreSQL usan esquemas relacionales tradicionales. Saber interpretar el esquema permite responder a preguntas sobre integridad referencial, capacidad de consulta y adecuación de los tipos para escenarios reales.
Ejemplo simple: una base de datos para ventas puede tener dos tablas — Customers y Orders. El esquema define que Orders.CustomerID es una FOREIGN KEY que referencia a Customers.CustomerID, garantizando que no existan pedidos sin cliente válido.
CREATE TABLE Customers (
CustomerID INT PRIMARY KEY,
Name NVARCHAR(100) NOT NULL,
Email NVARCHAR(320) UNIQUE
);
CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
OrderDate DATETIME2 NOT NULL,
CustomerID INT NOT NULL,
Amount DECIMAL(10,2) NOT NULL,
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
Cómo funciona
El esquema cumple varias funciones prácticas:
- Integridad y validación: los tipos de datos y NOT NULL impiden valores inválidos; FOREIGN KEY mantiene la integridad entre tablas.
- Rendimiento: elegir tipos correctos (por ejemplo INT en lugar de NVARCHAR cuando procede) reduce espacio y acelera operaciones; los índices (asociados a columnas del esquema) aceleran consultas.
- Claridad semántica: el esquema documenta la intención de los datos — p. ej., un campo Email con UNIQUE evita duplicados.
En Azure, además de la creación del esquema, tienes opciones como collation para ordenar y comparar cadenas, y tipos específicos soportados (por ejemplo DATETIME2 en Azure SQL Database). También es importante entender cómo los cambios de esquema afectan la disponibilidad y el rendimiento en entornos gestionados: las operaciones DDL pueden bloquear objetos, por lo que deben planificarse.
En la práctica
Aquí tienes un pequeño flujo práctico para crear y validar un esquema en Azure SQL Database (los pasos conceptuales se aplican a otros motores relacionales):
Modelar en papel: dibuja entidades y relaciones. Decide tipos de datos y qué columnas son claves.
Elegir tipos y constraints: usa tipos adecuados (INT, DECIMAL, NVARCHAR) y constraints (PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK, NOT NULL) para garantizar integridad.
Escribir DDL: crea las tablas con CREATE TABLE. Prueba inserción de datos válidos e inválidos para confirmar constraints.
Indexación: añade índices tras analizar consultas frecuentes. Normalmente la PRIMARY KEY crea un índice clustered; para columnas usadas en filtros/join añade índices no clustered.
Alteraciones: para cambiar el esquema en producción, usa técnicas como añadir columnas nullable primero, actualizar en batch, y crear índices offline para minimizar impacto.
-- Crear un índice no clustered en OrderDate para acelerar consultas por fecha
CREATE INDEX IX_Orders_OrderDate ON Orders(OrderDate);
-- Ejemplo de CHECK para validar valores
ALTER TABLE Orders ADD CONSTRAINT CHK_Amount_Positive CHECK (Amount >= 0);
Errores comunes
- Elegir tipos demasiado genéricos: usar NVARCHAR(MAX) para todo provoca desperdicio de espacio y degrada el rendimiento. Prefiere el tamaño más pequeño que cubra los requisitos.
- Falta de constraints: omitir PRIMARY/FOREIGN KEY y UNIQUE puede facilitar la ingesta rápida, pero complica la garantía de integridad y la depuración posterior.
- Añadir índices en caliente sin análisis: crear muchos índices en tablas de escritura intensiva incrementa el coste de INSERT/UPDATE; analiza queries y patrones de carga antes de indexar.
Cómo practicar
Practica estos conceptos creando una base de datos en Azure SQL Database (o usando una instancia local SQL Server) e implementando el flujo anterior. Prueba constraints y rendimiento con conjuntos de datos crecientes; experimenta cambios de esquema controlados.
Para preparar el DP-900, utiliza el Practice Assessment OFICIAL y gratuito de Microsoft (es la forma correcta de practicar el formato del examen). Consulta también la Microsoft Learn Study Guide gratuita para DP-900 — ambos son recursos oficiales y gratuitos que te ayudan a verificar competencias y a repasar conceptos.
En resumen
- El esquema define estructura, tipos y constraints — es fundamental para la integridad y el entendimiento de los datos.
- Elegir tipos correctos y usar constraints reduce errores y mejora el rendimiento.
- La indexación es complementaria al esquema: optimiza consultas, pero tiene coste en las escrituras.
- Practica en Azure con DDL, pruebas de inserción y simulación de carga; usa los recursos oficiales de Microsoft para preparar el examen.