SQL: guia sobre restrições

COMPARTILHAR:

As restrições em SQL são utilizadas para garantir a integridade dos dados em uma tabela. Elas podem ser utilizadas para impor regras de negócios específicas sobre como os dados devem ser inseridos, atualizados e excluídos.

Uma restrição simplesmente coloca uma restrição em uma ou mais colunas de uma tabela para limitar os tipos de valores que podem ser armazenados naquela coluna. As restrições fornecem um mecanismo padrão para manter a precisão e a integridade dos dados nas tabelas do banco de dados.

Existem vários tipos diferentes de restrições no SQL, incluindo:

  • NOT NULL – NÃO NULA
  • PRIMARY KEY – CHAVE PRIMÁRIA
  • UNIQUE – ÚNICA
  • DEFAULT
  • FOREIGN KEY – CHAVE ESTRANGEIRA
  • CHECK – VERIFICAR

NOT NULL – NÃO NULA

NOT NULL: garante que uma coluna não pode armazenar valores nulos. Por exemplo, a seguinte declaração cria uma tabela com uma restrição NOT NULL na coluna “name”:

CREATE TABLE users (
    id INT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    email VARCHAR(255)
);

PRIMARY KEY – CHAVE PRIMÁRIA

PRIMARY KEY: especifica uma ou mais colunas que formam a chave primária da tabela. Isso garante que cada linha tem valores únicos e não nulos em essas colunas. Por exemplo, a seguinte declaração cria uma tabela com uma restrição PRIMARY KEY na coluna “id”:

CREATE TABLE users (
    id INT PRIMARY KEY,
    name VARCHAR(255),
    email VARCHAR(255)
);

UNIQUE – ÚNICA

UNIQUE: garante que não haverá valores duplicados em uma coluna específica. Por exemplo, a seguinte declaração cria uma tabela com uma restrição UNIQUE na coluna “email”:

CREATE TABLE users (
    id INT PRIMARY KEY,
    name VARCHAR(255),
    email VARCHAR(255) UNIQUE
);

DEFAULT

A restrição DEFAULT especifica um valor padrão para uma coluna. Se um valor não for fornecido para essa coluna durante a inserção ou atualização de uma linha, o valor padrão será usado automaticamente. Por exemplo, a seguinte declaração cria uma tabela com uma restrição DEFAULT que estabelece o valor padrão para a coluna “ativo” como “true”:

CREATE TABLE users (
    id INT PRIMARY KEY,
    name VARCHAR(255),
    ativo BOOLEAN DEFAULT true
);

Isso significa que, se não for fornecido um valor para “ativo” durante a inserção de uma nova linha na tabela “users”, o valor “true” será usado automaticamente.

FOREIGN KEY – CHAVE ESTRANGEIRA

FOREIGN KEY: especifica que uma coluna se refere a uma chave primária de outra tabela. Isso garante que os valores na coluna de chave estrangeira correspondem a valores existentes na tabela referenciada. Por exemplo, a seguinte declaração cria duas tabelas, “orders” e “users”, com uma restrição FOREIGN KEY na coluna “user_id” da tabela “orders” que se refere ao “id” na tabela “users”:

CREATE TABLE users (
    id INT PRIMARY KEY,
    name VARCHAR(255),
    email VARCHAR(255)
);
CREATE TABLE orders (
    id INT PRIMARY KEY,
    user_id INT,
    FOREIGN KEY (user_id) REFERENCES users(id)
);

CHECK – VERIFICAR

CHECK: especifica uma condição que deve ser verdadeira para que uma linha seja inserida ou atualizada na tabela. Por exemplo, a seguinte declaração cria uma tabela com uma restrição CHECK que garante que o valor da coluna “age” deve ser maior do que 18:

CREATE TABLE users (
    id INT PRIMARY KEY,
    name VARCHAR(255),
    age INT,
    CHECK (age > 18)
);

Essas são apenas algumas das restrições disponíveis em SQL. Cada banco de dados pode ter suas próprias variações ou extensões dessas restrições. Além disso, as restrições também podem ser adicionadas ou removidas depois que a tabela já foi criada.

Nota: MySQL não suporta restrições de verificação SQL. A cláusula CHECK é analisada, mas ignorada por todos os mecanismos de armazenamento do MySQL.

Leia mais: Script para validar CPF em PHP

COMPARTILHAR:
brayan

Brayan Monteiro

Bacharel em Sistemas de Informação pela Faculdade Maurício de Nassau e desenvolvedor PHP. Além de programador, produzo conteúdo e gerencio blogs. Sou especialista em desenvolvimento de software, SEO de sites e em negócios digitais.