OCHECKA restrição no SQL impõe regras sobre valores de coluna, limitando os dados que podem ser inseridos ou atualizados. Ele garante que os valores atendam às condições especificadas. Se um valor violar a condição, a operação será rejeitada.CHECKpode ser adicionado durante a criação ou modificação da tabela.
Sintaxe da restrição CHECK
O Restrição CHECK pode ser definido ao criar uma tabela ou adicionado posteriormente usando a instrução ALTER.
1. Usando CHECK com CREATE TABLE :
CREATE TABLE table_name (
column1 datatype
column2 datatype CHECK (condition)
...
);
2. Usando CHECK com ALTER TABLE
ALTER TABLE table_name
ADD CONSTRAINT constraint_name CHECK (condition);
Pontos-chave sobre a restrição CHECK:
- Integridade de Domínio: Ele garante que os valores em uma coluna atendam às condições especificadas, ajudando assim a manter os dados válidos no banco de dados.
- Usado com CREATE ou ALTER: A restrição CHECK pode ser definida ao criar uma tabela ou adicionada a uma tabela existente.
- Pode ser combinado com outras restrições: Você pode usar CHECK junto com outras restrições como CHAVE PRIMÁRIA FOREIGN KEY e NOT NULL para definir regras mais abrangentes para os dados da tabela.
- Restrições em nível de linha: Ao contrário das restrições em nível de coluna que afetam colunas individuais, uma restrição CHECK pode ser aplicada a diversas colunas de uma só vez, se necessário.
Exemplos de uso da restrição CHECK
Vejamos alguns exemplos práticos para entender melhor como funciona a restrição CHECK em SQL .
Exemplo 1: Aplicando CHECK em uma única coluna
Neste exemplo criamos uma tabela Clientes com uma coluna Idade que deve conter valores entre 18 e 120. A restrição CHECK garante que nenhuma idade inválida seja inserida na tabela.
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
A coluna Idade possui uma restrição CHECK que garante que o valor esteja entre 18 e 120. Se você tentar inserir uma idade fora desse intervalo, o banco de dados gerará um erro.
Exemplo 2: restrição CHECK com múltiplas colunas
Também podemos usar a restrição CHECK em várias colunas. Por exemplo, digamos que temos um Tabela de funcionários e queremos garantir que o Salário seja positivo e a Idade seja maior ou igual a 18 anos.
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
A restrição CHECK garante que ambas as condições sejam satisfeitas. o funcionário deve ter pelo menos 18 anos e o salário deve ser maior que 0. Esse tipo de restrição é útil quando várias colunas estão envolvidas na regra.
roda do mouse não rola corretamente
Exemplo 3: Adicionando uma restrição CHECK com ALTER TABLE
Podemos adicionar uma restrição CHECK a uma tabela existente usando a instrução ALTER TABLE.
Consulta:
ALTER TABLE Employee
ADD CONSTRAINT chk_salary CHECK (Salary >= 30000);
Isso adiciona uma restrição CHECK denominada chk_salary à tabela Employee, garantindo que a coluna Salário tenha um valor mínimo de 30.000. Se você tentar inserir ou atualizar um registro com salário inferior a 30.000, a operação falhará.
Questionário sugerido Editar questionário 5 perguntasO que uma restrição CHECK garante no SQL?
- UM
A coluna aceita valores sem nenhuma regra
- B
A coluna aceita valores somente quando única
- C
A coluna aceita valores apenas quando não é nula
- D
A coluna aceita valores que correspondem a determinada regra
CHECK impõe uma condição aos valores das colunas, rejeitando quaisquer dados que violem a regra definida.
Quando o SQL impede um INSERT usando CHECK?
- UM
Quando o valor é duplicado na coluna
- B
Quando o valor viola a condição definida
- C
Quando a tabela não tem restrição primária
- D
Quando o valor é NULL e a coluna permite nulo
Se os dados inseridos ou atualizados quebrarem, a condição CHECK SQL cancela a operação.
Onde uma restrição CHECK pode ser definida?
- UM
Somente dentro da sintaxe da consulta SELECT
- B
Somente depois que a chave primária for declarada
- C
Durante a criação ou modificação da tabela
- D
Somente para colunas numéricas com intervalos
CHECK pode ser adicionado durante a criação da tabela ou posteriormente usando uma instrução ALTER TABLE.
O que acontece em uma restrição CHECK de múltiplas colunas?
- UM
A condição pode fazer referência a apenas uma coluna
- B
A condição pode fazer referência a várias colunas
- C
A condição funciona apenas em colunas numéricas
- D
A condição ignora valores durante a inserção
CHECK pode aplicar regras usando duas ou mais colunas que impõem validação combinada.
Qual inserção falha na restrição CHECK (Age ≥ 18)?
- UM
Valor de idade inferior a quinze anos
- B
Valor de idade exatamente igual a dezoito anos
- C
Valor de idade superior a vinte e cinco
- D
Valor de idade armazenado como valor NULL permitido
Qualquer valor abaixo de 18 viola a regra CHECK e resulta em falha de inserção.
Questionário concluído com sucesso Sua pontuação: 2/5Precisão : 0%Faça login para ver a explicação 1/5 1/5 < Previous Próximo >