Definición: Clave subrogada SQL

La clave subrogada o surrogate key es el identificador único de una tabla que no se deriva de los datos de la aplicación, generalmente no es visible al usuario y se suele construir a partir de una secuencia autogenerada.

Ej: id_producto

La clave de negocio o business key es un conjunto de columnas que conforman la clave primaria de una tabla, que generalmente tiene un significado propio acorde con las reglas de negocio del sistema.

Ej: codigo_producto

id_producto codigo_producto nombre
1 201700001 Caramelos

 

Beneficios de las claves subrogadas:

  • Facilita el particionamiento eficiente de los datos físicos.
  • Crear una separación de modelos multidimensionales para facilitar el control de cambios.
  • Mejorar el rendimiento de operaciones.
  • Permite leer más datos con menos operaciones de entrada y salida gracias a que el tamaño de los índices es menor

Ejemplo de creación de clave subrogada

CREATE TABLE tb_producto 
(
  id_producto      SERIAL PRIMARY KEY,
  codigo_producto  CHARACTER VARYING(10) NOT NULL,
  nombre           CHARACTER VARYING(99) NOT NULL
);
INSERT INTO tb_producto (id_producto, codigo_producto, nombre)
VALUES (DEFAULT, '201700001', 'Caramelos');

INSERT INTO tb_producto (codigo_producto, nombre)
VALUES ('201700001', 'Caramelos');