SQL Constraints o Restricciones SQL Server

Las restricciones (SQL Constraints) son reglas que se pueden configurar cuando se crea una tabla, la cual podemos aplicar sobre el tipo de datos. El uso de restricciones le sirve para asegurarse de que cada valor que agregue a una columna tenga el formato correcto antes de agregarlo.

Tipos de restricciones disponibles en SQL:

SQL CONSTRAINTS

  • NOT NULL : Esta restricción (sql Constraints) indica que no podemos almacenar valores nulo en los datos de una columna. Es decir, si una columna se especifica como NOT NULL, ya no podremos almacenar nulos en esta columna en particular.
  • UNIQUE : Esta restricción, cuando se especifica con una columna, indica que todos los valores de la columna deben ser únicos. Es decir, los valores de cualquier fila de una columna no deben repetirse.
  • PRIMARY KEY : Una clave principal hace que cada fila sea única en una tabla . Y esta restricción (sql Constraints) se usa para especificar un campo como clave principal.
  • FOREIGN KEY : Una clave externa, es una fila única en otra tabla, la cual nos ayuda hacer un enlace entre dos tablas. Y es utilizada para identificar una campo como clave externa.
  • CHECK : Esta restricción ayuda a validar los valores de una columna para cumplir con una condición particular. Es decir, ayuda a garantizar que el valor almacenado en una columna cumpla con una condición específica.
  • DEFAULT : Esta restricción (sql Constraints) especifica un valor predeterminado para la columna cuando el usuario no especifica ningún valor.

¿Cómo especificar restricciones (sql Constraints) ? 

Podemos especificar restricciones (sql Constraints) al momento de crear la tabla usando el comando CREATE TABLE. También podemos especificar las restricciones después de crear una tabla usando la instrucción ALTER TABLE.

Sintaxis  de restricciones o SQL Constraints :
A continuación se muestra la sintaxis para crear restricciones (sql Constraints) utilizando la declaración CREATE TABLE en el momento de crear la tabla.

CREAR TABLA muestra_tabla
(
columna1 tipo_datos(tamaño) nombre_restricción,
columna2 tipo_datos(tamaño) nombre_restricción,
columna3 tipo_datos(tamaño) nombre_restricción,
....
);

muestra_tabla : Nombre de una nueva tabla.
tipo_datos : tipo de datos.
nombre_restricción : Nombre de la restricción. por ejemplo, NO NULO, ÚNICO, CLAVE PRINCIPAL, etc.

Creando restricciones o SQL Constraints

valores no nulo o NOT NULL:

CREAR  TABLA PRODUCTO
(ID_PRODUCT INT  NOT  NULL PRIMARY KEY , 
DESCRIPCION VARCHAR ( 50 ) NOT  NULL, 
UBICACION VARCHAR ( 50 ) NOT  NULL,
REFERENCIA VARCHAR ( 50 ));

Para agregar un registro a nuestra base de datos, debemos especificar una identificación, el nombre del empleado y la sucursal en la que trabaja un empleado. Estas columnas no aceptan valores nulos.

Valores único o UNIQUE:

CREAR  TABLA Clientes 
( id_cliene INT  NOT  NULL PRIMARY KEY , 
nombre VARCHAR ( 50 ), 
Sucursal VARCHAR ( 50 ),
 correo electrónico VARCHAR ( 50 )UNIQUE);

La restricción ÚNICA se agrega después del tipo de datos que debe usar una columna. Hemos usado ÚNICO para limitar el valor de «correo electrónico» para que contenga solo valores únicos. Si intentamos insertar un correo electrónico duplicado en la base de datos, habrá un error.

Clave primaria o PRIMARY KEY:

CREAR  TABLA Vededor (
	id_vend INT  NOT  NULL PRIMARY KEY ,
	nombre VARCHAR ( 50 ),
	Sucursal VARCHAR ( 50 ),
	correo electrónico VARCHAR ( 50 ));

Esta tabla tendrá cuatro columnas: id, nombre, correo electrónico y sucursal. Cada registro debe tener un valor de ID_VEND único. De lo contrario, se devolverá un error cuando intente agregar un registro con una ID_VEND duplicada.

En este ejemplo, hay algunas claves primarias lógicas. Tener una columna única llamada ID_VEND funciona porque cada empleado tiene su propio número de ID_VEND. Podríamos identificar a los empleados por su dirección de correo electrónico porque no hay dos empleados que compartan una dirección de correo electrónico.

Clave externa o FOREIGN KEY : 

CREAR  TABLA Pedido (
	id_ped INT  NOT  NULL PRIMARY KEY ,
	cantidad Doble,
	fecha Date,
	id_cliente INT(10),
	 FOREIGN KEY (id_cliente) REFERENCES CLIENTE (id));

como se puede ver en la imagen el campo con este tipo de restricción apunta al campo con clave única.
SQL Constraints

El campo ID_CLIENTE en la tabla Pedido es la clave principal en la de Cliente, es decir, identifica de manera única cada fila en la tabla Clientes. Es decir, es una tabla con clave externa en pedido.

CONTROL O CHECK:

CREAR TABLA COBRADOR
(
ID_COBRADOR int(6) NOT NULL,
NOMBRE varchar(10) NOT NULL,
EDAD int CHECK NOT NULL (EDAD >= 25));

Si se inserta una fila en la tabla COBRADOR, la base de datos verificará que el valor de «EDAD» EDAD >= 25. Si se especifica otro valor, se devolverá un error.

Las declaraciones CHECK son particularmente útiles porque reducen las posibilidades de un error tipográfico dentro de una columna que solo puede tener un cierto rango de valores.

Por defecto o DEFAULT:

CREAR TABLA ALMACEN
(ID_ALMACEN int(6) NOT NULL,
NOMBRE varchar(10) NOT NULL,
CANTIDAD int DEFAULT 18 );

Por ejemplo, la siguiente consulta creará una tabla denominada ALMACEN y especificará el valor predeterminado para el campo CANTIDAD como 18.

Deja un comentario