Integridad de Datos y Restricciones en SQL

La integridad de datos es fundamental en SQL para garantizar que la información almacenada en la base de datos sea precisa y coherente. A continuación, se describen las restricciones más comunes utilizadas para mantener la integridad de datos.

NOT NULL

La restricción NOT NULL se utiliza para asegurar que una columna no contenga valores nulos. Por ejemplo, al crear una tabla usuarios donde el nombre y el email no pueden ser nulos:

sql
CREATE TABLE usuarios (
  id INT PRIMARY KEY,
  nombre VARCHAR(100) NOT NULL,
  email VARCHAR(100) NOT NULL
);

UNIQUE

La restricción UNIQUE se utiliza para garantizar que todos los valores en una columna sean únicos. Por ejemplo, si deseas que el email sea único en la tabla usuarios:

sql
CREATE TABLE usuarios (
  id INT PRIMARY KEY,
  nombre VARCHAR(100),
  email VARCHAR(100) UNIQUE
);

DEFAULT

La restricción DEFAULT se utiliza para establecer un valor predeterminado para una columna cuando no se especifica uno. Por ejemplo, al crear una tabla productos donde el stock por defecto es 0:

sql
CREATE TABLE productos (
  id INT PRIMARY KEY,
  nombre VARCHAR(100),
  stock INT DEFAULT 0
);

Claves Primarias

Las claves Claves Primarias son restricciones que identifican de manera única cada fila en una tabla. En el ejemplo anterior, la columna id es una clave primaria:

sql
CREATE TABLE usuarios (
  id INT PRIMARY KEY,
  nombre VARCHAR(100)
);

Claves Foráneas

Las Claves Foráneas se utilizan para establecer una relación entre dos tablas. Por ejemplo, si tienes una tabla pedidos que se relaciona con usuarios, puedes definir usuario_id como clave foránea:

sql
CREATE TABLE pedidos (
  id INT PRIMARY KEY,
  usuario_id INT,
  FOREIGN KEY (usuario_id) REFERENCES usuarios(id)
);

CHECK

La restricción CHECK se utiliza para limitar los valores que pueden ser insertados en una columna. Por ejemplo, puedes restringir la edad de los usuarios a que sea mayor de 0:

sql
CREATE TABLE usuarios (
  id INT PRIMARY KEY,
  nombre VARCHAR(100),
  edad INT CHECK (edad > 0)
);

CONSTRAINTS

Las restricciones (constraints) son reglas que se aplican a las columnas de una tabla para mantener la integridad de los datos. Puedes definir múltiples restricciones en una columna o en la tabla. Por ejemplo:

sql
CREATE TABLE productos (
  id INT PRIMARY KEY,
  nombre VARCHAR(100),
  precio DECIMAL CHECK (precio > 0) CONSTRAINT precio_unico UNIQUE
);
  Conclusión

Las restricciones son esenciales para mantener la integridad de datos en SQL, asegurando que la información almacenada sea válida y coherente. Utiliza NOT NULL, UNIQUE, DEFAULT, claves primarias y foráneas, y restricciones como CHECK y CONSTRAINTS para lograr un diseño de base de datos robusto.