Com uma tabela criada com este comando:
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL
);
Podemos inserir um item mais de uma vez.
E, em particular, podemos ter colunas que repetem o mesmo valor.
Podemos forçar uma coluna a ter apenas valores únicos usando o
UNIQUE
restrição de chave:CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL UNIQUE
);
Agora, se você tentar adicionar o ‘Flavio’ duas vezes:
INSERT INTO people VALUES (37, 'Flavio');
INSERT INTO people VALUES (20, 'Flavio');
Você receberia um erro:
ERROR: duplicate key value violates unique constraint "people_name_key"
DETAIL: Key (name)=(Flavio) already exists.
Uma chave primária é uma chave única que tem outra propriedade:é a principal maneira de identificar uma linha na tabela.
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL PRIMARY KEY
);
A chave primária pode ser um email em uma lista de usuários, por exemplo.
A chave primária pode ser um
id
exclusivo que atribuímos a cada registro automaticamente. Seja qual for esse valor, sabemos que podemos usá-lo para referenciar uma linha na tabela.