sql >> Base de Datos >  >> RDS >> Database

Claves SQL, únicas y primarias

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.