Juan Garcés

Personal Blog

Campo/Clave/Llave Primaria

enero 5th, 2013

Este es uno de los temas más consultados en mi antiguo sitio Educación Informática, por ello escribo este artículo.

La característica esencial de una Clave Primaria es que es distinta para cada registro en una tabla de base de datos. Se puede obtener por medio de un proceso de análisis llamado normalización.

Clave Primaria, también conocida como «Llave Primaria» o «Campo Primario» cuando se trata de un sólo campo, no es más que aquel campo o conjunto de campos por medio de los cuales podemos identificar en forma única un registro (tupla o fila) de datos dentro de una tabla de base de datos.

Según sea el motor de base de datos, se puede definir de diferentes formas, aunque la siguiente instrucción es reconocida por la mayoría de los motores:

Como ejemplo, utilizaremos la siguiente tabla, en la que se definen los datos de una persona:

En la tabla anterior, tenemos 4 campos, de los cuales 2 de ellos permiten valores NULOS. Estos campos no pueden ser utilizados para la definición de la clave primaria, pues no pueden identificar en forma única a un registro, ya que son susceptibles de repetirse.

De los campos que NO aceptan NULOS, tenemos el tax_id (identificador de impuestos) y el name (nombre). En la mayoría de los países, es suficiente tener el tax_id para poder identificar a una persona, por lo que este campo puede ser utilizado como nuestro «Campo llave» o «Clave primaria», con lo que lo definiremos como sigue:

De esta forma, para poder encontrar los datos de una persona, nos bastaría con conocer su identificador de impuestos (tax_id).

Supongamos ahora, que tenemos los datos de direcciones que puede tener una persona, que podríamos definir en la siguiente tabla:

De la tabla anterior, podemos deducir que cada dirección está asociada a un cliente, el cual es identificado por su person_tax_id. De la dirección, sólo tenemos el detalle (address_detail) como NO NULO, pero podría repetirse en diferentes ciudades, algo poco probable, pero un detalle que no puede dejarse al azar. Por lo tanto, en la tabla anterior, tenemos la opción de agregar un nuevo campo que identifique en forma única al registro, por ejemplo, podemos agregar un campo numérico que indique la cantidad de direcciones de la persona, como sigue:

En esta tabla, podemos identificar en forma única una dirección, a traves de su persona y el número de dirección (1, 2, 3, etc.), así la definición de la clave primaria sería:

Otra forma de definición de la clave primaria es incluyéndola en la misma definición de las tablas, como sigue:

Juan Garcés

Personal Blog