logo

SQL | VERIFICAR restricción

ElCHECKLa restricción en SQL impone reglas sobre los valores de las columnas al limitar los datos que se pueden insertar o actualizar. Garantiza que los valores cumplan las condiciones especificadas. Si un valor viola la condición, la operación se rechaza.CHECKse pueden agregar durante la creación o modificación de la tabla.

Sintaxis de la restricción CHECK

El VERIFICAR restricción Se puede definir al crear una tabla o agregar más tarde usando la instrucción ALTER.

1. Usando CHECK con CREATE TABLE :

CREATE TABLE table_name (  
column1 datatype
column2 datatype CHECK (condition)
...
);

2. Usando CHECK con ALTER TABLE

ALTER TABLE table_name  
ADD CONSTRAINT constraint_name CHECK (condition);

Puntos clave sobre la restricción CHECK:



  • Integridad del dominio: Garantiza que los valores de una columna cumplan las condiciones especificadas, lo que ayuda a mantener datos válidos en la base de datos.
  • Usado con CREATE o ALTER: La restricción CHECK se puede definir al crear una tabla o agregarla a una tabla existente.
  • Se puede combinar con otras restricciones: Puede utilizar CHECK junto con otras restricciones como CLAVE PRIMARIA FOREIGN KEY y NOT NULL para definir reglas más completas para los datos de la tabla.
  • Restricciones a nivel de fila: A diferencia de las restricciones a nivel de columna que afectan a columnas individuales, una restricción CHECK se puede aplicar a varias columnas a la vez si es necesario.

Ejemplos de uso de la restricción CHECK

Veamos algunos ejemplos prácticos para comprender mejor cómo funciona la restricción CHECK en SQL .

Ejemplo 1: aplicar CHECK en una sola columna

En este ejemplo, creamos una tabla Clientes con una columna Edad que debe contener valores entre 18 y 120. La restricción CHECK garantiza que no se inserte ninguna edad no válida en la tabla.

Consulta:

CREATE TABLE Customers (  
CustomerID INT PRIMARY KEY
Name VARCHAR(50)
Age INT CHECK (Age >= 18 AND Age <= 120)
);


-- Valid insert
INSERT INTO Customers (CustomerID Name Age)
VALUES (1 'John Doe' 25);

-- Invalid insert
INSERT INTO Customers (CustomerID Name Age)
VALUES (2 'Jane Smith' 15); -- This will fail due to the CHECK constraint

La columna Edad tiene una restricción CHECK que garantiza que el valor debe estar entre 18 y 120. Si intenta insertar una edad fuera de este rango, la base de datos arrojará un error.

Ejemplo 2: restricción CHECK con varias columnas

También podemos usar la restricción CHECK en varias columnas. Por ejemplo digamos que tenemos un Tabla de empleados y queremos asegurarnos de que el Salario sea positivo y la Edad sea mayor o igual a 18 años.

Consulta:

CREATE TABLE Employee (  
EmployeeID INT PRIMARY KEY
Name VARCHAR(50)
Age INT
Salary DECIMAL(10 2)
CHECK (Age >= 18 AND Salary > 0)
);


-- Valid insert
INSERT INTO Employee (EmployeeID Name Age Salary)
VALUES (1 'Alice Johnson' 30 50000);

-- Invalid insert (age < 18)
INSERT INTO Employee (EmployeeID Name Age Salary)
VALUES (2 'Bob Lee' 16 45000); -- This will fail due to the CHECK constraint

La restricción CHECK garantiza que se cumplan ambas condiciones. el empleado debe tener al menos 18 años y el salario debe ser mayor que 0. Este tipo de restricción es útil cuando hay varias columnas involucradas en la regla.

Ejemplo 3: Agregar una restricción CHECK con ALTER TABLE

Podemos agregar una restricción CHECK a una tabla existente usando la instrucción ALTER TABLE.

Consulta:

ALTER TABLE Employee  
ADD CONSTRAINT chk_salary CHECK (Salary >= 30000);

Esto agrega una restricción CHECK denominada chk_salary a la tabla Empleado, lo que garantiza que la columna Salario tenga un valor mínimo de 30000. Si intenta insertar o actualizar un registro con un salario inferior a 30000, la operación fallará.

Prueba sugerida Editar cuestionario 5 preguntas

¿Qué garantiza una restricción CHECK en SQL?

  • A

    La columna acepta valores sin ninguna regla.

  • B

    La columna acepta valores solo cuando son únicos

  • do

    La columna acepta valores solo cuando no son nulos

  • D

    La columna acepta valores que coinciden con la regla dada

Explicación:

CHECK aplica una condición a los valores de las columnas rechazando cualquier dato que viole la regla definida.

¿Cuándo SQL impide un INSERT usando CHECK?

  • A

    Cuando el valor está duplicado en la columna

  • B

    Cuando el valor viola la condición definida

  • do

    Cuando la tabla no tiene restricción primaria

  • D

    Cuando el valor es NULL y la columna permite nulo

Explicación:

Si los datos insertados o actualizados rompen la condición CHECK SQL cancela la operación.

¿Dónde se puede definir una restricción CHECK?

  • A

    Sólo dentro de la sintaxis de consulta SELECT

    cómo comprobar el tamaño de la pantalla
  • B

    Sólo después de declarar la clave principal

  • do

    Durante la creación o modificación de la tabla

  • D

    Sólo para columnas numéricas con rangos

Explicación:

CHECK se puede agregar al crear la tabla o más tarde usando una instrucción ALTER TABLE.

¿Qué sucede en una restricción CHECK de varias columnas?

  • A

    La condición puede hacer referencia solo a una columna

  • B

    La condición puede hacer referencia a varias columnas

  • do

    La condición funciona solo en columnas numéricas

  • D

    La condición ignora los valores durante la inserción

Explicación:

CHECK puede aplicar reglas utilizando dos o más columnas que imponen la validación combinada.

¿Qué inserción no supera la restricción CHECK (Edad ≥ 18)?

  • A

    Valor de edad inferior a quince años.

  • B

    Valor de edad exactamente igual a dieciocho

  • do

    Valor de edad superior a veinticinco

  • D

    Valor de edad almacenado como valor NULL permitido

Explicación:

Cualquier valor inferior a 18 infringe la regla CHECK y provoca un error de inserción.

SQL | VERIFICAR restricciónPrueba completada con éxito Su puntuación:  2/5Exactitud : 0%Inicie sesión para ver la explicación 1/5 1/5 < Previous Siguiente >