Bóson Treinamentos em Ciência e Tecnologia

Como criar chave primária em uma tabela do MySQL?

Como criar uma chave primária no MySQL - Bancos de Dados

Como criar chave primária em uma tabela do MySQL?

Neste tutorial vamos mostrar como criar chaves primárias em tabelas de bancos de dados MySQL, com exemplos práticos, além de revisar brevemente a teoria de chaves em modelagem de dados.

O que é uma Chave Primária?

Chave primária (Primary Key) é um conceito muito importante aplicado a bancos de dados relacionais, e se refere a um campo ou conjunto de campos em uma tabela empregados para identificar de forma única e exclusiva cada linha (registro) na tabela.

Uma coluna marcada como chave primária não permite repetição de valores nas linhas, nem tampouco a existência de valores nulos.

A coluna de uma tabela que estabelece um relacionamento com a Chave Primária de outra é chamada de Chave Estrangeira.

Tipos de Chave Primária

Chave Primária Simples

Chave Surrogada

Chave Primária Composta

Como criar chave primária em uma nova tabela

Para executar nossos códigos vamos criar duas tabelas em um banco de dados de teste: Funcionários e Departamentos para exemplificar.

Modo 1 – Constraint em nível de coluna:

CREATE TABLE funcionarios (
  id_func smallint PRIMARY KEY AUTO_INCREMENT,
  nome_func VARCHAR(30) NOT NULL,
  sobrenome_func VARCHAR(50) NOT NULL
);

Conferir a tabela criada e sua chave primária:

DESCRIBE funcionarios;

Tabela de funcionários criada com sua chave primária (coluna Key = PRI)

Modo 2 – Constraint em nível de tabela (nomeada):

CREATE TABLE departamentos (
  id_dep smallint AUTO_INCREMENT,
  nome_dep VARCHAR(30) NOT NULL,
  CONSTRAINT pk_id_dep PRIMARY KEY(id_dep)
);

Conferir a tabela criada e sua chave primária:

DESCRIBE departamentos;

Tabela de departamentos criada com sua chave primária (coluna Key = PRI)

No MySQL o nome fornecido para uma constraint (restrição) PRIMARY KEY é ignorado, sendo usada automaticamente sempre a palavra PRIMARY. Para outros tipos de constraints o nome fornecido é empregado normalmente.

Como criar em uma tabela existente, criada sem a chave primária

Vamos criar mais uma tabela de teste de nome Fornecedores, sem chave primária, para exemplificar.

CREATE TABLE fornecedores (
  id_forn smallint,
  nome_forn VARCHAR(30) NOT NULL
);

Conferir a tabela criada:

DESCRIBE fornecedores;

Tabela de fornecedores criada sem a chave primária no MySQL – coluna Key vazia.

Vamos adicionar uma restrição de chave primária a uma das colunas – no caso, à coluna id_forn. Para isso, usaremos a declaração ALTER TABLE com a opção ADD PRIMARY KEY:

ALTER TABLE fornecedores
ADD PRIMARY KEY (id_forn);

Conferimos agora a alteração realizada na tabela:

DESCRIBE fornecedores;

Agora a tabela de fornecedores possui uma chave primária no MySQL – coluna Key = PRI.

Como criar uma chave primária composta

Vamos agora criar uma tabela de Vendas, com chave composta englobando duas colunas: id_produto e id_cliente. Para isso precisamos usar uma constraint em nível de tabela:

CREATE TABLE vendas (
  id_produto smallint,
  id_cliente smallint,
  qtde smallint,
  CONSTRAINT PRIMARY KEY(id_produto,id_cliente)
);

Conferir a chave primária composta criada:

DESCRIBE vendas;

Chave primária composta. Note a palavra “PRI” em duas colunas no campo Key.

É isso aí! Neste artigo aprendemos como criar chaves primárias no MySQL, tanto simples quanto compostas. Para aprender mais sobre bancos de dados, não deixe de conferir nosso curso completo de MySQL.

Sair da versão mobile