Repaso
English
Bases de datos y SQLIntermedioDB-48

¿Cuál es la diferencia entre una surrogate key y una natural key?

Opciones

  1. Una surrogate key es artificial (id automático, UUID); una natural key es un dato real (Opción correcta)
  2. Son el mismo tipo de clave, con dos nombres distintos
  3. Las surrogate keys nunca pueden ser únicas, y las naturales siempre lo son
  4. Las natural keys siempre son números y las surrogate keys son texto

Respuesta

Una surrogate key es un identificador artificial sin significado de negocio (id autoincremental, UUID); una natural key es un dato del mundo real que identifica una fila (email, número de pasaporte)

Por qué

Las natural keys vienen de los propios datos, pero pueden cambiar (la gente cambia de email) o reutilizarse, y pueden ser largas.

Las surrogate keys (id BIGINT GENERATED ... AS IDENTITY, UUID) las genera la base de datos, son pequeñas, estables y nunca cambian, lo que simplifica las foreign keys.

Práctica común: surrogate primary key, más una restricción UNIQUE en la natural key.

Recuerda

Surrogate = id artificial y estable. Natural = identificador del mundo real.

Términos clave

Practica esta pregunta en Repaso