Restrições

As restrições (constraints) em PostgreSQL são regras que você pode aplicar às suas tabelas para garantir a integridade e a validade dos dados armazenados. Existem vários tipos de restrições disponíveis no PostgreSQL, cada uma com sua própria função específica. Aqui estão algumas das principais restrições que você pode usar:

1. Chave Primária (Primary Key)

A chave primária é uma restrição que garante que os valores em uma ou mais colunas sejam únicos e que não possam ser nulos. Cada tabela deve ter uma chave primária que a identifica de forma única.

Exemplo:

CREATE TABLE tabela (
    id SERIAL PRIMARY KEY,
    nome TEXT NOT NULL
);

2. Chave Estrangeira (Foreign Key)

A chave estrangeira é uma restrição que estabelece uma relação entre duas tabelas. Ela garante que os valores em uma coluna correspondam aos valores na chave primária de outra tabela.

Exemplo:

CREATE TABLE tabela_filha (
    id SERIAL PRIMARY KEY,
    tabela_pai_id INT,
    FOREIGN KEY (tabela_pai_id) REFERENCES tabela_pai(id)
);

3. Restrição UNIQUE

A restrição UNIQUE garante que os valores em uma ou mais colunas sejam únicos em toda a tabela. Ela pode ser usada para garantir que nenhum dado seja duplicado.

Exemplo:

CREATE TABLE tabela (
    id SERIAL PRIMARY KEY,
    codigo TEXT UNIQUE
);

4. Restrição CHECK

A restrição CHECK permite que você defina uma condição para os valores em uma coluna. Os valores inseridos na coluna devem atender à condição especificada.

Exemplo:

CREATE TABLE tabela (
    id SERIAL PRIMARY KEY,
    idade INT CHECK (idade >= 18)
);

5. Restrição NOT NULL

A restrição NOT NULL garante que os valores em uma coluna não sejam nulos.

Exemplo:

CREATE TABLE tabela (
    id SERIAL PRIMARY KEY,
    nome TEXT NOT NULL
);

Essas restrições ajudam a garantir a integridade dos dados em seu banco de dados PostgreSQL, fornecendo um conjunto de regras que os dados devem seguir. Elas são essenciais para manter a consistência e a confiabilidade dos dados em suas tabelas.