image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image
Kelly Santos
Kelly Santos16/01/2025 21:26
Compartilhe

CONSTRAINTS: MANUAL BÁSICO

  • #SQL

Constraints são regras pré-definidas impostas às colunas de uma tabela. São usadas para controlar os dados que são inseridos, sendo úteis tanto para linhas quanto para colunas.

Elas determinam o tipo de dados que poderão ser inseridos, garantindo assim a integridade do banco de dados e contribuindo para que os dados ali armazenados possam ser agrupados e propiciem análises e utilização para diversos fins.

As constraints podem ser especificadas no momento da criação das tabelas, porém, caso seja necessário, estas regras podem ser adicionadas posteriormente, utilizando o comando `ALTER`.

Principais constraints no MySQL :

1. PRIMARY KEY

Define uma coluna (ou conjunto de colunas) como identificador exclusivo para cada linha da tabela.

Não permite valores nulos e não permite duplicatas.

CREATE TABLE employees (
 id INT NOT NULL,
 name VARCHAR(50) NOT NULL,
 PRIMARY KEY (id)
);

2. FOREIGN KEY

Estabelece uma relação entre duas tabelas, vinculando uma coluna em uma tabela a uma PRIMARY KEY (ou UNIQUE) em outra tabela.

Ajuda a manter a integridade referencial.

CREATE TABLE employees (
 id INT NOT NULL,
 department_id INT,
 name VARCHAR(50),
 PRIMARY KEY (id),
 FOREIGN KEY (department_id) REFERENCES departments(id)
);

3. UNIQUE

Garante que todos os valores em uma coluna (ou combinação de colunas) sejam únicos.

Permite valores nulos, mas apenas um **NULL** por coluna.

CREATE TABLE users (
 id INT NOT NULL,
 email VARCHAR(100) NOT NULL,
 UNIQUE (email)
);

4. NOT NULL

Garante que uma coluna não aceite valores nulos (**NULL**).

CREATE TABLE orders (
 order_id INT NOT NULL,
 product_name VARCHAR(100) NOT NULL
);

5. DEFAULT

Define um valor padrão para a coluna quando nenhum valor for especificado na inserção.

CREATE TABLE products (
 id INT NOT NULL,
 name VARCHAR(50),
 price DECIMAL(10, 2) DEFAULT 0.00
);

6. CHECK (Introduzido no MySQL 8.0.16)

Restringe os valores que podem ser inseridos em uma coluna com base em uma condição lógica.

CREATE TABLE employees (
 id INT NOT NULL,
 age INT,
 CHECK (age >= 18)
);

7. AUTO_INCREMENT

Usada para gerar valores únicos automaticamente para colunas, geralmente em conjunto com PRIMARY KEY.

CREATE TABLE orders (
 order_id INT NOT NULL AUTO_INCREMENT,
 order_date DATE NOT NULL,
 PRIMARY KEY (order_id)
);

8. INDEX

Não é exatamente uma "*constraint*", mas é usado para melhorar a performance de consultas.

Pode ser usado em colunas com **UNIQUE** ou **PRIMARY KEY**.

CREATE TABLE products (
 id INT NOT NULL,
 name VARCHAR(100),
 price DECIMAL(10, 2),
 INDEX (name)
);
Compartilhe
Comentários (1)
DIO Community
DIO Community - 17/01/2025 11:25

Parabéns pelo artigo, Kelly! A importância do uso de constraints é um tema essencial, e você conseguiu explicá-lo de forma clara e prática. Esse tipo de conteúdo é fundamental para quem está começando ou deseja aprimorar suas habilidades em modelagem de banco de dados.

Um dos grandes pontos fortes do seu artigo é como você abordou o conceito de constraints com exemplos básicos, facilitando o entendimento de sua aplicação no dia a dia. Além disso, enfatizar boas práticas no uso dessas restrições ajuda a evitar erros e a garantir a integridade dos dados, algo indispensável em qualquer projeto.

Na sua opinião, qual constraint você considera mais desafiadora de implementar corretamente e por quê?