Introducción a las restricciones de SQL
Las restricciones de SQL son condiciones que se aplican a las columnas de una tabla, para restringir la columna para aceptar ciertos valores o simplemente para asegurarse de que se cumpla una determinada condición para cada valor de la columna. Las restricciones ofrecen un mecanismo clásico para preservar la integridad y la corrección de los datos dentro de la tabla.
En SQL, tenemos muchos tipos diferentes de restricciones. Veamos las siguientes restricciones en este artículo.
- NO NULO
- CHEQUE
- ÚNICO
- CLAVE PRIMARIA
- CLAVE EXTERNA
- DEFECTO
Diferentes tipos de restricciones de SQL
1. Restricción NO NULA
Esta restricción se utiliza cuando no desea que ningún valor en esa columna en particular sea un valor nulo. Esto significa que no podemos insertar un valor nulo para esa columna al insertar una nueva fila en la tabla. Cada campo en esta columna siempre tiene un valor no nulo. Un valor nulo significa que un campo en particular se ha dejado vacío, y valores como cero o espacio en blanco no se incluyen en valores nulos.
Veamos un ejemplo para crear una tabla llamada Empleado, que tiene 5 columnas, donde las columnas vacías, de nombre y móviles no aceptan valores NULL.
CREATE TABLE Employee (
empid INT NOT NULL,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL,
address VARCHAR(20)
);
2. VERIFICAR la restricción
Esta restricción limita los valores que se pueden ingresar en esa columna particular de la tabla. Para entender esto mejor, tomemos el ejemplo de aprobar las calificaciones en un examen. El rango de valores para estas marcas solo puede ser de 35 a 100. Para garantizar que solo se ingresen los valores en este rango, podemos crear una restricción CHECK.
Veamos un ejemplo de creación de una restricción CHECK en el salario de los empleados.
CREATE TABLE Employee (
empid INT NOT NULL,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL,
salary INT CHECK (salary >= 15000 AND salary <= 30000),
address VARCHAR(20)
);
3. Restricción ÚNICA
Esta restricción se aplica para garantizar que la columna en particular acepte solo valores únicos, y los valores repetitivos no están permitidos con dicha restricción en la columna. Podemos crear múltiples restricciones ÚNICAS en varias columnas de una tabla. Una restricción ÚNICA permite ingresar valores NULL.
Veamos un ejemplo de imposición de la restricción ÚNICA. En este ejemplo, estamos creando una columna llamada móvil, en la tabla Empleado, que debe ser única y no puede aceptar el mismo número de móvil dos veces.
CREATE TABLE Employee (
empid INT NOT NULL,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL UNIQUE,
address VARCHAR(20)
);
4. Limitación de la CLAVE PRIMARIA
Esta restricción se usa para identificar una columna en particular o un grupo de columnas que pueden identificar de manera única una fila en la tabla. Con la restricción PRIMARY KEY en su lugar, cualquier fila no puede tener un valor duplicado. No podemos tener NULL como valor para dicha columna. Aunque tanto una restricción de PRIMARY KEY como una restricción de UNIQUE imponen que los valores sean únicos, utilizamos una restricción de UNIQUE para cuando no queremos declarar la columna como Clave primaria, pero aún queremos que los valores de esa columna sean únicos . Solo podemos tener una sola columna PRIMARY KEY o grupo de columnas en una tabla, pero podemos declarar que muchas columnas individuales son ÚNICAS.
Veamos un ejemplo de la tabla Empleado, creando ID de empleados únicos, por lo tanto, podemos declarar que la columna vacía es la CLAVE PRIMARIA.
CREATE TABLE Employee (
empid INT NOT NULL PRIMARY KEY,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL UNIQUE,
address VARCHAR(20)
);
5. RESTRICCIÓN DE CLAVE EXTRANJERA
Esta restricción ayuda a los datos en una tabla a establecer una relación con los datos en otra tabla en la base de datos. La clave externa puede ser una sola columna o un conjunto de columnas. Consideremos dos tablas, Empleado y Departamentos. Supongamos que tenemos una columna llamada representada en Empleado y una difunta en Departamentos. Podemos hacer referencia a los difuntos de Empleados a los difuntos de Departamentos si las columnas coinciden. En este caso, la columna en Empleado se convierte en una referencia de clave externa a la columna en la tabla Departamento, que es una clave principal.
CREATE TABLE Employee (
empid INT NOT NULL PRIMARY KEY,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL UNIQUE,
address VARCHAR(20),
depicted INT FOREIGN KEY REFERENCES Department(depicted)
);
6. Restricción POR DEFECTO
Esta restricción se utiliza para especificar el valor predeterminado para una columna particular en la tabla. De esta manera, si no hay ningún valor insertado para esa columna explícitamente, el motor de la base de datos siempre puede hacer referencia al valor predeterminado especificado e insertarlo en la columna. Supongamos que hemos insertado una columna con la restricción NOT NULL y también con la restricción DEFAULT, entonces no necesitamos definir explícitamente un valor predeterminado. Incluso sin dar un valor predeterminado, la fila particular se insertará en la tabla.
Veamos un ejemplo donde hemos ingresado el lugar en la dirección por defecto para tener el valor 'India'.
CREATE TABLE Employee (
empid INT NOT NULL PRIMARY KEY,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL UNIQUE,
address VARCHAR(20) DEFAULT 'India',
depicted INT FOREIGN KEY REFERENCES Department(depicted),
);
Conclusión
Las restricciones SQL ayudan al desarrollador al especificar restricciones y reglas para los datos que se van a insertar en la tabla. Las restricciones se pueden aplicar a nivel de columna, solo a la columna particular o a nivel de tabla, donde las restricciones se aplican a la tabla completa. Estas restricciones restringen el tipo de información que se puede insertar en la tabla. Esto garantiza la exactitud y consistencia de los datos en la tabla. En caso de cualquier violación de las reglas especificadas por las restricciones, la acción finaliza.
Artículos recomendados
Esta es una guía de restricciones SQL. Aquí discutimos la introducción a las restricciones de SQL junto con diferentes tipos de restricciones de SQL que incluyen restricciones nulas, de verificación, únicas, primarias, externas y predeterminadas. También puede consultar nuestros otros artículos sugeridos para obtener más información:
- Base de datos en SQL
- Usos de SQL
- Tabla en SQL
- Clave externa en SQL
- Comparación de clave primaria versus clave externa