SQL | Restrições

Restrições SQL são elementos essenciais projeto de banco de dados relacional que garantem o integridade precisão e confiabilidade dos dados armazenados em um banco de dados. Ao impor regras específicas nas colunas da tabela, as restrições SQL ajudam a manter a consistência dos dados, evitando entradas de dados inválidas e otimizando o desempenho da consulta.

Neste artigo explicaremos detalhadamente as restrições SQL mais comuns, fornecendo exemplos claros e explicando como implementá-las de forma eficaz.

O que são restrições SQL?

Restrições SQL são regras aplicadas a colunas ou tabelas em um banco de dados relacional limitar o tipo de dados que podem ser inserido atualizado ou excluído . Essas regras garantem que os dados sejam válidos, consistentes e estejam de acordo com a lógica de negócios ou requisitos de banco de dados . As restrições podem ser aplicadas durante a criação da tabela ou posteriormente usando o método ALTER TABLE declaração. Eles desempenham um papel vital na manutenção da qualidade e integridade do seu banco de dados.

Tipos de restrições SQL 

SQL fornece vários tipos de restrições para gerenciar diferentes aspectos da integridade dos dados. Essas restrições são essenciais para garantir que os dados atendam aos requisitos de precisão consistência e validade . Vamos examinar cada um deles com explicações detalhadas e exemplos.

1. Restrição NÃO NULA

O NÃO NULO restrição garante que uma coluna não pode conter valores NULL. Isto é particularmente importante para colunas onde um valor é essencial para identificar registros ou realizar cálculos. Se uma coluna for definida como NÃO NULO cada linha deve incluir um valor para essa coluna.

Exemplo:

 CREATE TABLE Student   
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
ADDRESS varchar(20)
);

Explicação: No exemplo acima, tanto o ID e NAME colunas são definidas com o NÃO NULO restrição que significa que cada aluno deve ter um ID e NAME valor.

2. Restrição ÚNICA

O EXCLUSIVO A restrição garante que todos os valores em uma coluna sejam distintos em todas as linhas de uma tabela. Ao contrário do CHAVE PRIMÁRIA que requer exclusividade e não permite NULLs, a restrição UNIQUE permite valores NULL, mas ainda impõe exclusividade para entradas não NULL.

Exemplo:

 CREATE TABLE Student   
(
ID int(6) NOT NULL UNIQUE
NAME varchar(10)
ADDRESS varchar(20)
);

Explicação : Aqui o ID coluna deve ter valores únicos, garantindo que dois alunos não possam compartilhar o mesmo ID . Podemos ter mais de um EXCLUSIVO restrição em uma tabela.

3. Restrição de CHAVE PRIMÁRIA  

UM CHAVE PRIMÁRIA restrição é uma combinação do NÃO NULO e EXCLUSIVO restrições. Ele identifica exclusivamente cada linha de uma tabela. Uma tabela só pode ter um CHAVE PRIMÁRIA e não pode aceitar valores NULL. Normalmente é usado para a coluna que servirá como identificador de registros.

Exemplo:

 CREATE TABLE Student   
(
ID int(6) NOT NULL UNIQUE
NAME varchar(10)
ADDRESS varchar(20)
PRIMARY KEY(ID)
);

Explicação: Neste caso o ID coluna é definida como a chave primária garantindo que o ID de cada aluno seja único e não possa ser NULO.

4. Restrição de CHAVE ESTRANGEIRA

UM CHAVE ESTRANGEIRA restrição vincula uma coluna em uma tabela ao chave primária em outra tabela. Esse relacionamento ajuda a manter integridade referencial garantindo que o valor no chave estrangeira coluna corresponde a um registro válido na tabela referenciada.

Tabela de pedidos:

O_ID PEDIDO_NÃO C_ID
1 2253 3
2 3325 3
3 4521 2
4 8532 1

Tabela de Clientes:

C_ID NOME ENDEREÇO
1 RAMESH DÉLHI
2 CERTO NOIDA
3 DHARMESH GURGAON

Como podemos ver claramente que o campo C_ID em Tabela de pedidos é o chave primária na tabela Clientes, ou seja, identifica exclusivamente cada linha na Clientes mesa. Portanto é uma tabela de Chave Estrangeira em Pedidos. 

Exemplo:

 CREATE TABLE Orders   
(
O_ID int NOT NULL
ORDER_NO int NOT NULL
C_ID int
PRIMARY KEY (O_ID)
FOREIGN KEY (C_ID) REFERENCES Customers(C_ID)
)

Explicação: Neste exemplo o C_ID coluna no Orders tabela é uma chave estrangeira que faz referência ao C_ID coluna no Customers mesa. Isso garante que apenas IDs de cliente válidos possam ser inseridos no Orders mesa.

5. VERIFICAR restrição

O VERIFICAR A restrição nos permite especificar uma condição que os dados devem satisfazer antes de serem inseridos na tabela. Isso pode ser usado para impor regras, como garantir que o valor de uma coluna atenda a determinados critérios (por exemplo, a idade deve ser superior a 18 anos)

Exemplo:

 CREATE TABLE Student   
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
AGE int NOT NULL CHECK (AGE >= 18)
);

Explicação: Na tabela acima o VERIFICAR A restrição garante que apenas alunos com 18 anos ou mais possam ser inseridos na tabela.

6. Restrição PADRÃO

O PADRÃO restrição fornece um valor padrão para uma coluna quando nenhum valor é especificado durante a inserção. Isto é útil para garantir que certas colunas sempre tenham um valor significativo, mesmo que o usuário não forneça um

Exemplo:

 CREATE TABLE Student   
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
AGE int DEFAULT 18
);

Explicação: Aqui, se nenhum valor for fornecido para AGE durante uma inserção, o valor padrão de 18 será atribuído automaticamente.

Como especificar restrições em SQL

As restrições podem ser especificadas durante o processo de criação da tabela usando o método CREATE TABLE declaração. Além disso, as restrições podem ser modificadas ou adicionadas às tabelas existentes usando o ALTER TABLE declaração.

Sintaxe para criar restrições:

CREATE TABLE nome_tabela

(

coluna1 tipo de dados [nome_da_restrição]

coluna2 tipo_dados [nome_da_restrição]

coluna3 tipo_dados [nome_da_restrição]

...

);

Também podemos adicionar ou remover restrições após a criação de uma tabela:

Exemplo para adicionar uma restrição:

 ALTER TABLE Student   
ADD CONSTRAINT unique_student_id UNIQUE (ID);

Conclusão

As restrições SQL são essenciais para manter integridade de dados e garantir consistência em bancos de dados relacionais. Compreender e implementar essas restrições de forma eficaz ajudará no projeto de bancos de dados robustos e livres de erros. Ao aproveitar NÃO NULO CHAVE PRIMÁRIA ÚNICA CHAVE ESTRANGEIRA VERIFICAÇÃO PADRÃO e ÍNDICE você pode garantir que seu banco de dados esteja otimizado para precisão e desempenho .

Criar questionário