Em um banco de dados, cada registro precisa ser identificado de forma única.
Para isso utilizamos a Chave Primária (Primary Key).
A chave primária é um campo ou conjunto de campos que identifica de forma única cada linha de uma tabela.
Não podem existir dois registros com o mesmo valor de chave primária.
Além disso, uma chave primária nunca pode possuir valor nulo (NULL).
| Nome | Cidade |
|---|---|
| João | São Paulo |
| João | Rio de Janeiro |
Nesse caso, fica difícil identificar exatamente qual registro está sendo consultado.
| ID | Nome | Cidade |
|---|---|---|
| 1 | João | São Paulo |
| 2 | João | Rio de Janeiro |
O campo ID garante que cada registro seja único.
Nos Diagramas Entidade Relacionamento (DER), a chave primária costuma ser destacada.
CLIENTE
PK id_cliente
nome
telefone
email
A sigla PK significa Primary Key.
CREATE TABLE cliente (
id_cliente INT PRIMARY KEY,
nome VARCHAR(100),
email VARCHAR(100)
);
O campo id_cliente foi definido como chave primária.
Em muitos casos, o próprio MySQL pode gerar automaticamente os valores da chave primária.
CREATE TABLE cliente (
id_cliente INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(100)
);
Cada novo registro receberá automaticamente um número sequencial.
Em algumas situações, mais de um campo é necessário para identificar um registro.
CREATE TABLE matricula (
id_aluno INT,
id_curso INT,
PRIMARY KEY (id_aluno, id_curso)
);
Nesse exemplo, a combinação dos dois campos forma a chave primária.