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
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
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
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
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
Cualquier valor inferior a 18 infringe la regla CHECK y provoca un error de inserción.
Prueba completada con éxito Su puntuación: 2/5Exactitud : 0%Inicie sesión para ver la explicación 1/5 1/5 < Previous Siguiente >