SQL | COMPROBAR Restricción

Restricciones de SQL La restricción
de verificación se utiliza para especificar un predicado que cada tupla debe satisfacer en una relación determinada. Limita los valores que una columna puede contener en una relación.

  • El predicado en la restricción de verificación puede contener una subconsulta.
  • La restricción de verificación definida en un atributo restringe el rango de valores para ese atributo.
  • Si el valor que se agrega a un atributo de una tupla viola la restricción de verificación, la restricción de verificación se evalúa como falsa y se cancela la actualización correspondiente.
  • La restricción de verificación generalmente se especifica con el comando CREATE TABLE en SQL.

Sintaxis:

CREATE TABLE pets(
        ID INT NOT NULL,
        Name VARCHAR(30) NOT NULL,
        Breed VARCHAR(20) NOT NULL,
        Age INT,
        GENDER VARCHAR(9),
        PRIMARY KEY(ID),
        check(GENDER in ('Male', 'Female', 'Unknown'))
        );

Nota: La restricción de verificación en el comando SQL anterior restringe el GÉNERO para que pertenezca solo a las categorías especificadas. Si se agrega una nueva tupla o se actualiza una tupla existente en la relación con un GÉNERO que no pertenece a ninguna de las tres categorías mencionadas, se cancela la actualización de la base de datos correspondiente.

Consulta

Restricción: Solo los estudiantes con edad >= 17 pueden matricularse en una universidad.
Esquema para la base de datos de estudiantes en la universidad:

CREATE TABLE student(
        StudentID INT NOT NULL,
        Name VARCHAR(30) NOT NULL,
        Age INT NOT NULL,
        GENDER VARCHAR(9),
        PRIMARY KEY(ID),
        check(Age >= 17)
        );

Relación de estudiante:

Identificación del Estudiante Nombre Años Género
1001 Ron 18 Masculino
1002 Sam 17 Masculino
1003 Georgia 17 Femenino
1004 erik 19 Desconocido
1005 cristina 17 Femenino

Explicación: En la relación anterior, la edad de todos los estudiantes es mayor que igual a 17 años, de acuerdo con la restricción mencionada en la declaración de verificación en el esquema de la relación. Sin embargo, si se ejecuta la siguiente instrucción SQL:

INSERT INTO student(STUDENTID, NAME, AGE, GENDER) 
VALUES (1006, 'Emma', 16, 'Female');

No habrá ninguna actualización de la base de datos y como la edad < 17 años.

Diferentes opciones para usar Verificar restricción:

  • Con alter: la restricción de verificación también se puede agregar a una relación ya creada usando la sintaxis:
    alter table TABLE_NAME modify COLUMN_NAME check(Predicate);
  • Dar un nombre de variable a la restricción de verificación: a las restricciones de verificación se les puede dar un nombre de variable usando la sintaxis:
    alter table TABLE_NAME add constraint CHECK_CONST check (Predicate);
  • Eliminar restricción de verificación: la restricción de verificación se puede eliminar de la relación en la base de datos del servidor SQL usando la sintaxis:
    alter table TABLE_NAME drop constraint CHECK_CONSTRAINT_NAME;
  • Eliminar restricción de verificación: la restricción de verificación se puede eliminar de la relación en la base de datos en MySQL usando la sintaxis:
    alter table TABLE_NAME drop check CHECK_CONSTRAINT_NAME;

Este artículo es una contribución de Mayank Kumar . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *