(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa

DP-900: cómo usar constraints para garantizar integridad en datos relacionales

João Barros 27 de September de 2026 4 min de lectura

Voy a explicar cómo usar constraints en bases de datos relacionales en el contexto del DP-900. Esta competencia describe cómo garantizar la integridad de los datos (por ejemplo, que las relaciones entre tablas se mantengan correctas): tema frecuente en el examen y esencial para soluciones reales en Azure SQL Database o Managed Instance.

Lo que necesitas saber

Las constraints son reglas declarativas aplicadas a columnas o tablas para garantizar que los datos insertados cumplen determinadas condiciones. Las principales constraints relacionales que debes conocer son:

  • PRIMARY KEY: identifica de forma única cada fila en una tabla; implica NOT NULL y UNIQUE.
  • FOREIGN KEY: garantiza que un valor en una columna corresponde a un valor existente en la tabla referenciada (integridad referencial).
  • UNIQUE: asegura que todos los valores en una columna (o conjunto) son distintos.
  • NOT NULL: impide valores nulos en esa columna.
  • CHECK: define una condición (expresión booleana) que los valores de la fila deben satisfacer.

Ejemplo sencillo: en una base de datos de ventas, la tabla Customers tiene una PRIMARY KEY CustomerID; la tabla Orders tiene OrderID (PK) y CustomerID con FOREIGN KEY apuntando a Customers(CustomerID). Así, no se pueden crear pedidos para clientes inexistentes.

Cómo funciona

Las constraints son evaluadas por el motor de la base de datos siempre que hay operaciones que alteran datos: INSERT, UPDATE, DELETE. Si la regla se viola, la operación falla y se devuelve un error. En Azure SQL Database el comportamiento es idéntico al de SQL Server on-premises.

Algunos detalles importantes:

  • Las FOREIGN KEYs pueden tener acciones ON DELETE/ON UPDATE (NO ACTION, CASCADE, SET NULL, SET DEFAULT) que definen el efecto cuando la fila referenciada es eliminada/actualizada.
  • UNIQUE permite múltiples columnas (constraint multicolumna) y puede estar respaldada por índices para rendimiento.
  • CHECK puede usar expresiones simples: e.g., CHECK (Quantity > 0) — útil para reglas de negocio ligeras directamente en la base de datos.

En la práctica

A continuación tienes ejemplos prácticos en T-SQL para crear tablas y constraints. Imagina que estás creando dos tablas: Customers y Orders.

CREATE TABLE Customers (
  CustomerID INT PRIMARY KEY,
  Name NVARCHAR(100) NOT NULL,
  Email NVARCHAR(256) UNIQUE
);

CREATE TABLE Orders (
  OrderID INT PRIMARY KEY,
  CustomerID INT NOT NULL,
  OrderDate DATE NOT NULL,
  Quantity INT NOT NULL CHECK (Quantity > 0),
  CONSTRAINT FK_Orders_Customers FOREIGN KEY (CustomerID)
    REFERENCES Customers(CustomerID)
    ON DELETE CASCADE
);

Explicación rápida:

  • CustomerID en Customers es PRIMARY KEY: garantiza unicidad e identifica a cada cliente.
  • Email es UNIQUE: impide duplicados en el email de los clientes.
  • Orders.CustomerID es FOREIGN KEY con ON DELETE CASCADE: cuando borras un cliente, todos sus pedidos se eliminan automáticamente — útil pero tiene implicaciones que explico en "Errores comunes".
  • CHECK en Quantity evita valores ≤ 0.

Errores comunes

1) Usar ON DELETE CASCADE sin evaluar el impacto: puede eliminar muchas filas inesperadamente. Antes de definir CASCADE, piensa en las reglas de negocio y en la política de recuperación de datos.

2) Confiar solo en las constraints para reglas complejas: las constraints son excelentes para integridad básica, pero reglas complejas de negocio (por ejemplo, límites acumulados entre tablas, comprobaciones temporales avanzadas) pueden exigir triggers o lógica en la aplicación.

3) Crear demasiadas constraints o índices sin considerar el rendimiento: UNIQUE y FOREIGN KEY pueden causar overhead en operaciones de escritura; prueba y evalúa los trade-offs entre integridad y rendimiento.

Cómo practicar

Practica estos conceptos creando bases de datos en Azure SQL Database (puedes usar una instancia de evaluación) o localmente con el SQL Server. Ejecuta operaciones INSERT/UPDATE/DELETE para ver cómo se comportan las constraints y experimenta las diferentes opciones de ON DELETE/ON UPDATE.

Para la preparación del examen DP-900 usa el Practice Assessment OFICIAL gratuito de Microsoft y la study guide oficial (ambos gratuitos). Estos recursos oficiales te ayudan a validar conocimientos sin recurrir a contenidos no autorizados.

En resumen

  • Constraints (PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, CHECK) garantizan la integridad de los datos a nivel de base de datos.
  • FOREIGN KEY asegura integridad referencial; ON DELETE/ON UPDATE controlan efectos en cascada.
  • Las constraints ayudan a prevenir datos inválidos, pero no sustituyen lógica de negocio compleja.
  • Prueba siempre el impacto de las constraints en el rendimiento y en los flujos de escritura antes de aplicarlas en producción.