Database
 sql >> Base de Dados >  >> RDS >> Database

O que são restrições SQL e seus diferentes tipos?

Como grandes quantidades de dados estão presentes nos bancos de dados, é muito importante para todos nós aumentar a precisão e a confiabilidade dos dados presentes no banco de dados. Bem, as restrições SQL são usadas para manter o mesmo. Existem diferentes tipos de restrições que podem ser usadas. Neste artigo, discutirei essas restrições com exemplos.

Os seguintes tópicos serão abordados neste artigo:

  1. O que são restrições?
  2. Restrições disponíveis em SQL:
      • Restrição NOT NULL
      • Restrição ÚNICA
      • VERIFICAR restrição
      • Restrição DEFAULT
      • Restrição INDEX

O que são restrições SQL?

As restrições SQL são usadas para especificar as regras para os dados em uma tabela. Estes são usados ​​para limitar que tipo de dados devem ser armazenados no banco de dados, e tem como objetivo aumentar a precisão e confiabilidade dos dados armazenados no banco de dados.

Assim, as restrições garantem que não haja violação em termos de uma transação dos dados, mas que haja alguma violação encontrada; a ação é encerrada.

Existem dois tipos de restrições que podem ser aplicadas:

  1. Restrições no nível da coluna – Essas restrições são aplicadas a uma única coluna
  2. Restrições no nível da tabela – Essas restrições são a aplicação à tabela completa

Avançando neste artigo, vamos entender os diferentes tipos de restrições. Além disso, vou considerar a tabela a seguir para ajudá-lo a entender melhor.

Diferentes restrições de SQL disponíveis:

Restrição NOT NULL

A restrição NOT NULL garante que uma coluna não possa ter um valor NULL. Você pode usar a restrição NOT NULL ao criar o banco de dados de tabela ou ao modificá-lo.

Exemplo

Restrição NOT NULL em CREATE TABLE

Escreva uma consulta para criar a tabela Estudantes acima, onde StudentID e StudentName não podem ser NULL.

CREATE TABLE Students( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, City varchar(255) );

Restrição NOT NULL em ALTER TABLE

Escreva uma consulta para alterar a tabela Alunos acima, onde uma nova coluna de DOB deve ser adicionada e não deve ter nenhum valor NULL.

ALTER TABLE Students ADD COLUMN DOB year NOT NULL;

Continuando neste artigo sobre Restrições SQL, vamos entender como usar a restrição UNIQUE.

Restrição ÚNICA

A restrição UNIQUE é usada para garantir que todos os valores em uma coluna sejam exclusivos. Você pode usar a restrição UNIQUE em várias colunas ou em uma única coluna com. Além disso, você pode avançar e usar a restrição UNIQUE para modificar as tabelas existentes.

Observação:

  1. Ao criar tabelas, uma restrição PRIMARY KEY tem automaticamente uma restrição UNIQUE, para garantir a exclusividade de uma coluna.
  2. Uma tabela pode ter muitas restrições UNIQUE, mas pode ter uma única restrição de chave primária.

Exemplo:

Restrição ÚNICA em CREATE TABLE

Escreva uma consulta para criar uma tabela Estudantes, com as colunas StudentID, StudentName, Age e City. Aqui, o StudentID deve ser exclusivo para cada registro.

CREATE TABLE Students ( 
StudentID int NOT NULL UNIQUE, 
StudentName varchar(255) 
NOT NULL, Age int, City varchar(255) );

Nomeie uma restrição UNIQUE em várias colunas


Para nomear uma restrição exclusiva e defini-la para várias colunas, você pode consultar o seguinte exemplo:

Escreva uma consulta para criar uma tabela Estudantes, com as colunas StudentID, StudentName, Age e City. Aqui, StudentID e StudentName devem ser exclusivos para cada registro.
CREATE TABLE Students ( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255) CONSTRAINT Stu_Example 
UNIQUE (StudentID,StudentName) );

Aqui, Stu_Example é o nome dado à restrição exclusiva aplicada em StudentID e StudentName.

Restrição ÚNICA em ALTER TABLE


Escreva uma consulta para alterar a tabela Students, onde uma restrição UNIQUE deve ser adicionada à coluna StudentID.
ALTER TABLE Students ADD UNIQUE (StudentID);

Da mesma forma, se você quiser usar a restrição UNIQUE em várias colunas e também nomeá-la, poderá escrever uma consulta da seguinte maneira:
ALTER TABLE Students ADD CONSTRAINT Stu_Example UNIQUE (StudentID,StudentName);

Eliminar uma restrição UNIQUE


Para eliminar a restrição especificada em uma coluna, você pode usar a convenção de nomenclatura que você pode ter mencionado ao adicionar a restrição.

Por exemplo, se tivermos que escrever uma consulta para eliminar a restrição UNIQUE que criamos acima, você pode escrever a consulta da seguinte forma:
ALTER TABLE Students DROP CONSTRAINT Stu_Example;

A seguir, neste artigo sobre Restrições SQL, vamos entender como usar a restrição CHECK.

VERIFICAR Restrição


A restrição CHECK garante que todos os valores em uma coluna satisfaçam uma condição específica.

Exemplo:

CHECK Restrição em CREATE TABLE


Escreva uma consulta para criar uma tabela Estudantes, com as colunas StudentID, StudentName, Age e City. Aqui, a cidade deve ser Mumbai.
CREATE TABLE Students ( 
StudentID int NOT NULL UNIQUE, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255)CHECK (City==’Mumbai’) );

VERIFICAR restrição em várias colunas


Para usar a restrição de verificação em várias colunas, você pode escrever uma consulta conforme abaixo:

Escreva uma consulta para criar uma tabela Estudantes, com as colunas StudentID, StudentName, Age e City. Aqui, a cidade deve ser Mumbai e a idade dos alunos deve ser> 19.
CREATE TABLE Students ( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255)CHECK (City==’Mumbai’ AND Age>19));

Da mesma forma, você também pode usar a restrição CHECK com o comando ALTER TABLE. Consulte abaixo.

VERIFICAR Restrição em ALTER TABLE

Escreva uma consulta para alterar a tabela Alunos, onde uma restrição CHECK deve ser adicionada à coluna Cidade. Aqui, a cidade deve ser Mumbai.

ALTER TABLE Students ADD CHECK (City=='Mumbai');

Da mesma forma, se você quiser usar a restrição CHECK dando-lhe um nome, você pode escrever uma consulta da seguinte forma:

ALTER TABLE Students ADD CONSTRAINT StuCheckExample CHECK (City=='Mumbai');

Retire uma restrição CHECK

Para eliminar a restrição especificada em uma coluna, você pode usar a convenção de nomenclatura que você pode ter mencionado ao adicionar a restrição.

Por exemplo, se tivermos que escrever uma consulta para eliminar a restrição CHECK que criamos acima, você pode escrever a consulta da seguinte forma:

ALTER TABLE Students DROP CONSTRAINT StuCheckExample;

Continuando neste artigo sobre Restrições SQL, vamos entender como usar a restrição DEFAULT.

Restrição PADRÃO

A restrição DEFAULT é usada para mencionar um conjunto de valores padrão para uma coluna quando nenhum valor é especificado. Semelhante às outras restrições, podemos usar essa restrição no comando de tabela CREATE e ALTER.

Exemplo


Escreva uma consulta para criar uma tabela Estudantes, com as colunas StudentID, StudentName, Age e City. Além disso, quando não há valor inserido na coluna Cidade, automaticamente Delhi deve ser incluída.
CREATE TABLE Students ( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255)DEFAULT ‘Delhi’);

Restrição DEFAULT em ALTER TABLE

Para usar a restrição DEFAULT com o comando ALTER TABLE, você pode escrever uma consulta da seguinte forma:

ALTER TABLE Students ADD CONSTRAINT StuDefauExample DEFAULT 'Mumbai' FOR City;

Elimine uma restrição DEFAULT


Para eliminar a restrição DEFAULT, você pode usar o comando ALTER TABLE da seguinte forma:
ALTER TABLE Students ALTER COLUMN City DROP DEFAULT;

A seguir, neste artigo sobre Restrições SQL, vamos entender como usar a restrição INDEX.

Restrição INDEX

A restrição INDEX é usada para criar índices na tabela. Com a ajuda desses índices, você pode criar e recuperar dados do banco de dados muito rapidamente.

Sintaxe

--Create an Index where duplicate values are allowed
CREATE INDEX IndexName
ON TableName (ColumnName1, ColumnName2, ...ColumnName(N));

--Create an Index where duplicate values are not allowed
CREATE UNIQUE INDEX IndexName
ON TableName (ColumnName1, ColumnName2, ...ColumnName(N));

Exemplo

Escreva uma consulta para criar um índice com o nome Stu_index na tabela Students que armazena o StudentName.

CREATE INDEX Stu_index ON Students (StudentName);

Da mesma forma, para excluir um índice da tabela, você deve usar o comando DROP com o nome do índice.

DROP INDEX Students.Stu_index;

Além das restrições acima, a PRIMARY KEY e a FOREIGN KEY também são consideradas restrições. A restrição PRIMARY KEY é usada para definir restrições sobre como uma coluna específica identifica exclusivamente cada tupla. A restrição FOREIGN KEY é usada para relacionar duas tabelas com base em um relacionamento.

Com isso, encerramos este artigo. Espero que você tenha entendido como usar as diversas restrições presentes no banco de dados. Se você deseja aprender mais sobre o MySQL e conhecer esse banco de dados relacional de código aberto, confira nosso Treinamento de certificação de DBA MySQL que vem com treinamento ao vivo conduzido por instrutor e experiência de projeto na vida real. Este treinamento ajudará você a entender o MySQL em profundidade e a dominar o assunto.

Tem uma pergunta para nós? Mencione-o na seção de comentários deste artigo sobre restrições SQL e entrarei em contato com você.