Con una tabella creata con questo comando:
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL
); Possiamo inserire un elemento più di una volta.
E in particolare, possiamo avere colonne che ripetono lo stesso valore.
Possiamo forzare una colonna ad avere solo valori univoci usando UNIQUE vincolo chiave:
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL UNIQUE
); Ora se provi ad aggiungere il "Flavio" due volte:
INSERT INTO people VALUES (37, 'Flavio');
INSERT INTO people VALUES (20, 'Flavio'); Riceveresti un errore:
ERROR: duplicate key value violates unique constraint "people_name_key"
DETAIL: Key (name)=(Flavio) already exists. Una chiave primaria è una chiave univoca che ha un'altra proprietà:è il modo principale per identificare una riga nella tabella.
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL PRIMARY KEY
); La chiave primaria può essere, ad esempio, un'e-mail in un elenco di utenti.
La chiave primaria può essere un id univoco che assegniamo automaticamente a ciascun record.
Qualunque sia il valore, sappiamo che possiamo usarlo per fare riferimento a una riga nella tabella.