Módulo 00 · lección 6

La clave primaria: cómo distinguir las filas

En GadgetHub hay dos productos con el mismo nombre, Cotton T-Shirt, de proveedores distintos. ¿Cómo puede el fundador señalar UNO concreto sin confundirlos? Hace falta un identificador fiable.

El problema: nombres iguales

Un nombre no siempre es único: dos productos pueden llamarse igual. Entonces, ¿cómo señalas exactamente UNA fila? Necesitas un identificador único garantizado.

La clave primaria

Una clave primaria (PRIMARY KEY) es una columna que identifica de forma única cada fila. En products es id.

Es:

  • única: no puede haber dos filas con el mismo id;
  • no vacía: id siempre tiene valor (nunca NULL; qué es NULL lo verás en la siguiente lección);
  • estable: una vez asignada, no se cambia.

Gracias al id puedes decir «el producto n.º 7» con total seguridad, aunque haya diez productos con el mismo nombre. Normalmente el id se asigna automáticamente: el propio SGBD reparte el siguiente número (el tipo SERIAL), así que no tienes que pensar en ello.

id name 5 Electric Kettle 1.7L 6 Cotton T-Shirt 7 Run+ Sneakers Cotton T-Shirt 14 … … PRIMARY KEY унікальний · не NULLunique · not NULL único · no NULL однакова назва —same name — mismo nombre — різні iddifferent id distinto id

Compruébalo tú mismo

En el ejercicio hay una consulta que muestra id y name ordenados por id. Fíjate: dos productos se llaman Cotton T-Shirt, pero sus id son distintos, y es justo el id lo que los diferencia.

Resumen

  • Una PRIMARY KEY / un id permite encontrar cualquier fila sin ambigüedad, aunque los nombres se repitan.
  • Única, no NULL, estable.
  • El id suele generarse automáticamente (SERIAL).