Na área de gerenciamento de banco de dados, as constraints são regras aplicadas a colunas ou conjuntos de colunas em tabelas de banco de dados para restringir o tipo de dados que podem ser inseridos. Elas garantem a precisão e a confiabilidade dos dados. Neste artigo, vamos explorar o conceito de constraints, seu propósito e sua aplicação prática na Oracle Database.
- O que são Constraints?
As Constraints são regras que definem as ações que podem ou não ser realizadas nos dados dentro das tabelas do banco de dados. Elas são usadas para limitar o tipo de dados que podem ser inseridos em uma tabela. Isso significa que as constraints podem garantir que as colunas não contenham dados inválidos ou incompatíveis.
- Tipos de Constraints
Na Oracle Database, as constraints podem ser classificadas em cinco tipos principais:
- NOT NULL: Essa constraint garante que uma coluna não pode ter um valor NULL.
- UNIQUE: Essa constraint garante que todos os valores em uma coluna são diferentes.
- PRIMARY KEY: É um tipo especial de constraint UNIQUE, onde não são permitidos valores duplicados ou nulos. Cada tabela no banco de dados deve ter uma chave primária.
- FOREIGN KEY: Essa constraint é usada para evitar ações que destruiriam os links entre tabelas.
- CHECK: Essa constraint garante que o valor em uma coluna atenda a uma condição específica.
- Exemplos Práticos
Vamos exemplificar cada tipo de constraint com um exemplo usando a Oracle Database.
- NOT NULL
CREATE TABLE Clientes (
ID number,
Nome varchar2(255) NOT NULL,
Email varchar2(255)
);
Nesse exemplo, a constraint NOT NULL garante que a coluna “Nome” sempre terá um valor em cada registro.
- UNIQUE
CREATE TABLE Clientes (
ID numberUNIQUE,
Nome varchar2(255),
Email varchar2(255)
);
Aqui, a constraint UNIQUE garante que todos os IDs de cliente serão únicos em todos os registros.
- PRIMARY KEY
CREATE TABLE Clientes (
ID number PRIMARY KEY,
Nome varchar2(255),
Email varchar2(255)
);
No exemplo acima, a chave primária está definida para a coluna “ID”. Isso significa que a coluna “ID” não pode conter valores duplicados ou nulos.
- FOREIGN KEY
CREATE TABLE Pedidos (
PedidoID number PRIMARY KEY,
OrderNo number ,
ClienteID number ,
FOREIGN KEY (ClienteID) REFERENCES Clientes(ID)
);
Aqui, a FOREIGN KEY “ClienteID” está referenciando a PRIMARY KEY “ID” na tabela “Clientes”. Isso garante a integridade dos dados entre as tabelas, no caso não poderá ter um pedido sem um cliente estar cadastrado.
- CHECK
CREATE TABLE Clientes (
ID number PRIMARY KEY,
Nome varchar2(255),
Idade number ,
CHECK (Idade >= 18)
);
Neste exemplo, a constraint CHECK garante que a “Idade” dos clientes seja maior ou igual a 18.
As constraints são essenciais para manter a integridade dos dados em um banco de dados Oracle. Elas restringem os tipos de dados que podem ser adicionados a uma tabela, garantindo assim a consistência, a precisão e a confiabilidade dos dados. Como demonstrado, a Oracle Database oferece uma variedade de tipos de constraints para atender a diferentes requisitos de negócios e garantir a melhor qualidade dos dados.