Con una tabla creada con este comando:
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL
);
Podemos insertar un elemento más de una vez.
Y en particular, podemos tener columnas que repiten el mismo valor.
Podemos forzar que una columna tenga solo valores únicos usando UNIQUE
restricción clave:
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL UNIQUE
);
Ahora, si intenta agregar el 'Flavio' dos veces:
INSERT INTO people VALUES (37, 'Flavio');
INSERT INTO people VALUES (20, 'Flavio');
Obtendrías un error:
ERROR: duplicate key value violates unique constraint "people_name_key"
DETAIL: Key (name)=(Flavio) already exists.
Una clave principal es una clave única que tiene otra propiedad:es la forma principal en que identificamos una fila en la tabla.
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL PRIMARY KEY
);
La clave principal puede ser un correo electrónico en una lista de usuarios, por ejemplo.
La clave principal puede ser un id
único que asignamos a cada registro automáticamente.
Cualquiera que sea ese valor, sabemos que podemos usarlo para hacer referencia a una fila en la tabla.