sql >> Base de Datos >  >> RDS >> Database

¿Qué son las restricciones de SQL y sus diferentes tipos?

Dado que hay grandes cantidades de datos presentes en las bases de datos, es muy importante para todos nosotros aumentar la precisión y confiabilidad de los datos presentes en la base de datos. Bueno, las restricciones de SQL se utilizan para mantener lo mismo. Hay diferentes tipos de restricciones que se pueden utilizar. En este artículo, discutiré esas restricciones con ejemplos.

Los siguientes temas se tratarán en este artículo:

  1. ¿Qué son las Restricciones?
  2. Restricciones disponibles en SQL:
      • Restricción NOT NULL
      • Restricción ÚNICA
      • Restricción de COMPROBAR
      • Restricción PREDETERMINADA
      • Restricción de ÍNDICE

¿Qué son las restricciones de SQL?

Las restricciones de SQL se utilizan para especificar las reglas para los datos de una tabla. Estos se utilizan para limitar qué tipo de datos deben almacenarse en la base de datos y tiene como objetivo aumentar la precisión y confiabilidad de los datos almacenados en la base de datos.

Por lo tanto, las restricciones aseguran que no haya ninguna infracción en términos de una transacción de los datos, aunque se encuentre alguna infracción; la acción se termina.

Hay dos tipos de restricciones que se pueden aplicar:

  1. Restricciones a nivel de columna – Estas restricciones se aplican a una sola columna
  2. Restricciones a nivel de tabla – Estas restricciones son la aplicación a la tabla completa

Avanzando en este artículo, comprendamos los diferentes tipos de restricciones. Además, voy a considerar la siguiente tabla para ayudarlo a comprender mejor.

Distintas restricciones de SQL disponibles:

Restricción NO NULO

La restricción NOT NULL asegura que una columna no puede tener un valor NULL. Puede usar la restricción NOT NULL al crear la base de datos de la tabla o al modificarla.

Ejemplo

Restricción NOT NULL en CREATE TABLE

Escriba una consulta para crear la tabla de Estudiantes anterior, donde StudentID y StudentName no pueden ser NULL.

CREATE TABLE Students( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, City varchar(255) );

Restricción NOT NULL en ALTER TABLE

Escriba una consulta para modificar la tabla de Estudiantes anterior, donde se debe agregar una nueva columna de DOB, y no debe tener ningún valor NULO.

ALTER TABLE Students ADD COLUMN DOB year NOT NULL;

Continuando con este artículo sobre Restricciones de SQL, comprendamos cómo usar la restricción ÚNICA.

Restricción ÚNICA

La restricción ÚNICA se usa para asegurarse de que todos los valores en una columna sean únicos. Puede usar la restricción ÚNICA en varias columnas o en una sola columna con. Aparte de esto, puede seguir adelante y usar la restricción ÚNICA para modificar las tablas existentes.

Nota:

  1. Al crear tablas, una restricción CLAVE PRIMARIA automáticamente tiene una restricción ÚNICA, para garantizar la unicidad de una columna.
  2. Una tabla puede tener muchas restricciones ÚNICAS pero puede tener una sola restricción de clave principal.

Ejemplo:

Restricción ÚNICA en CREATE TABLE

Escriba una consulta para crear una tabla Estudiantes, con columnas IdEstudiante, NombreEstudiante, Edad y Ciudad. Aquí, el StudentID debe ser único para todos y cada uno de los registros.

CREATE TABLE Students ( 
StudentID int NOT NULL UNIQUE, 
StudentName varchar(255) 
NOT NULL, Age int, City varchar(255) );

Nombre una restricción ÚNICA en varias columnas

Para nombrar una restricción única y definirla para varias columnas, puede consultar el siguiente ejemplo:

Escriba una consulta para crear una tabla Estudiantes, con columnas StudentID, StudentName, Age y City. Aquí, StudentID y StudentName deben ser únicos para todos y cada uno de los registros.

CREATE TABLE Students ( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255) CONSTRAINT Stu_Example 
UNIQUE (StudentID,StudentName) );

Aquí, Stu_Example es el nombre dado a la restricción única aplicada en StudentID y StudentName.

Restricción ÚNICA en ALTER TABLE

Escriba una consulta para modificar la tabla de Estudiantes, donde se debe agregar una restricción ÚNICA a la columna StudentID.

ALTER TABLE Students ADD UNIQUE (StudentID);

De manera similar, si desea utilizar la restricción ÚNICA en varias columnas y también nombrarla, puede escribir una consulta de la siguiente manera:

ALTER TABLE Students ADD CONSTRAINT Stu_Example UNIQUE (StudentID,StudentName);

Eliminar una restricción ÚNICA

Para eliminar la restricción especificada en una columna, puede usar la convención de nomenclatura que podría haber mencionado al agregar la restricción.

Por ejemplo, si tenemos que escribir una consulta para eliminar la restricción ÚNICA que creamos anteriormente, puede escribir la consulta de la siguiente manera:

ALTER TABLE Students DROP CONSTRAINT Stu_Example;

A continuación, en este artículo sobre Restricciones de SQL, comprendamos cómo usar la restricción CHECK.

Restricción de COMPROBACIÓN

La restricción CHECK asegura que todos los valores en una columna satisfagan una condición específica.

Ejemplo:

Restricción CHECK en CREATE TABLE

Escriba una consulta para crear una tabla Estudiantes, con columnas StudentID, StudentName, Age y City. Aquí, la ciudad debe ser MUmbai.

CREATE TABLE Students ( 
StudentID int NOT NULL UNIQUE, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255)CHECK (City==’Mumbai’) );

Restricción CHECK en múltiples columnas

Para usar la restricción de verificación en varias columnas, puede escribir una consulta de la siguiente manera:

Escriba una consulta para crear una tabla Estudiantes, con columnas StudentID, StudentName, Age y City. Aquí, la ciudad debe ser Mumbai y la edad de los estudiantes debe ser> 19.

CREATE TABLE Students ( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255)CHECK (City==’Mumbai’ AND Age>19));

Del mismo modo, también puede usar la restricción CHECK con el comando ALTER TABLE. Consulte a continuación.

Restricción CHECK en ALTER TABLE

Escriba una consulta para modificar la tabla Estudiantes, donde se debe agregar una restricción CHECK a la columna Ciudad. Aquí, la ciudad debe ser Mumbai.

ALTER TABLE Students ADD CHECK (City=='Mumbai');

Del mismo modo, si desea utilizar la restricción CHECK dándole un nombre, puede escribir una consulta de la siguiente manera:

ALTER TABLE Students ADD CONSTRAINT StuCheckExample CHECK (City=='Mumbai');

Soltar una restricción CHECK

Para eliminar la restricción especificada en una columna, puede usar la convención de nomenclatura que podría haber mencionado al agregar la restricción.

Por ejemplo, si tenemos que escribir una consulta para descartar la restricción CHECK que creamos anteriormente, puede escribir la consulta de la siguiente manera:

ALTER TABLE Students DROP CONSTRAINT StuCheckExample;

Continuando con este artículo sobre Restricciones de SQL, comprendamos cómo usar la restricción DEFAULT.

Restricción PREDETERMINADA

La restricción DEFAULT se usa para mencionar un conjunto de valores predeterminados para una columna cuando no se especifica ningún valor. Similar a las otras restricciones, podemos usar esta restricción en el comando de tabla CREAR y ALTERAR.

Ejemplo

Escriba una consulta para crear una tabla Estudiantes, con columnas StudentID, StudentName, Age y City. Además, cuando no se inserta ningún valor en la columna Ciudad, automáticamente se debe incluir Delhi.

CREATE TABLE Students ( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255)DEFAULT ‘Delhi’);

Restricción DEFAULT en ALTER TABLE

Para usar la restricción DEFAULT con el comando ALTER TABLE, puede escribir una consulta de la siguiente manera:

ALTER TABLE Students ADD CONSTRAINT StuDefauExample DEFAULT 'Mumbai' FOR City;

Eliminar una restricción DEFAULT

Para eliminar la restricción DEFAULT, puede usar el comando ALTER TABLE de la siguiente manera:

ALTER TABLE Students ALTER COLUMN City DROP DEFAULT;

A continuación, en este artículo sobre Restricciones de SQL, comprendamos cómo usar la restricción INDEX.

Restricción de ÍNDICE

La restricción INDEX se usa para crear índices en la tabla. Con la ayuda de estos índices, puede crear y recuperar datos de la base de datos muy rápidamente.

Sintaxis

--Create an Index where duplicate values are allowed
CREATE INDEX IndexName
ON TableName (ColumnName1, ColumnName2, ...ColumnName(N));

--Create an Index where duplicate values are not allowed
CREATE UNIQUE INDEX IndexName
ON TableName (ColumnName1, ColumnName2, ...ColumnName(N));

Ejemplo

Escriba una consulta para crear un índice con el nombre Stu_index en la tabla Estudiantes que almacena el nombre del estudiante.

CREATE INDEX Stu_index ON Students (StudentName);

Del mismo modo, para eliminar un índice de la tabla, debe usar el comando DROP con el nombre del índice.

DROP INDEX Students.Stu_index;

Además de las restricciones anteriores, la CLAVE PRINCIPAL y la CLAVE EXTERNA también se consideran restricciones. La restricción PRIMARY KEY se usa para definir restricciones sobre cómo una columna específica identifica de manera única cada tupla. La restricción FOREIGN KEY se usa para relacionar dos tablas en función de una relación.

Con esto, llegamos al final de este artículo. Espero que haya entendido cómo usar las diversas restricciones presentes en la base de datos. Si desea obtener más información sobre MySQL y conocer esta base de datos relacional de código abierto, consulte nuestra Capacitación para la certificación de MySQL DBA que viene con capacitación en vivo dirigida por un instructor y experiencia en proyectos de la vida real. Esta capacitación lo ayudará a comprender MySQL en profundidad y lo ayudará a dominar el tema.

¿Tienes alguna pregunta para nosotros? Menciónelo en la sección de comentarios de este artículo sobre restricciones de SQL y me comunicaré con usted.