Clave Primaria o Primary Key

¿Qué significa clave primaria?

Una clave primaria es una columna (o combinación de columnas) especial de una tabla de base de datos relacional designada para identificar de forma exclusiva cada registro de la tabla.

Una clave primaria se utiliza como identificador único para analizar rápidamente los datos dentro de la tabla. Una tabla no puede tener más de una clave primaria.

Las principales características de una clave primaria son:

  • Debe contener un valor único para cada fila de datos.
  • No puede contener valores nulos.
  • Cada fila debe tener un valor de clave primaria.

Una clave primaria puede utilizar uno o más campos ya presentes en el modelo de datos subyacente, o se puede crear un campo adicional específico para que sea la clave primaria.

Diccionario Techopedia: Clave primaria

El concepto de clave primaria es fundamental para la eficacia de una base de datos relacional. Sin la clave primaria y los conceptos de clave externa estrechamente relacionados, las bases de datos relacionales no funcionarían.

De hecho, dado que una tabla puede contener fácilmente miles de registros (incluidos los duplicados), es necesaria una clave primaria para garantizar que un registro de la tabla pueda identificarse siempre de forma única.

Todas las claves que proceden de observables y atributos del mundo real se denominan claves primarias naturales, a diferencia de las claves primarias sustitutas que, en cambio, se asignan arbitrariamente a cada registro.

Casi todas las personas tratan con claves primarias naturales con frecuencia, pero sin saberlo, en la vida cotidiana.

Por ejemplo, a los estudiantes se les asignan de forma rutinaria números de identificación (ID) únicos, y todos los ciudadanos de EE.UU. tienen números de la Seguridad Social asignados por el gobierno e identificables de forma única. Las direcciones de las calles o los números de carné de conducir son ejemplos de claves primarias utilizadas para identificar de forma única (respectivamente) lugares o coches.

Otro ejemplo: una base de datos debe contener todos los datos almacenados por un banco comercial. Dos de las tablas de la base de datos son CUSTOMER_MASTER, que almacena los datos básicos y estáticos de los clientes (nombre, fecha de nacimiento, dirección, número de la Seguridad Social, etc.) y ACCOUNTS_MASTER, que almacena diversos datos de las cuentas bancarias (fecha de creación de la cuenta, tipo de cuenta, límites de retirada o información correspondiente de la cuenta, etc.).

Para identificar de manera particular a los clientes, se selecciona una columna o combinación de columnas que garantice que dos clientes nunca tengan el mismo valor único. Así, algunas columnas se eliminan inmediatamente, por ejemplo, los apellidos y la fecha de nacimiento.

Un buen candidato a clave primaria es la columna designada para contener los números de la Seguridad Social. Sin embargo, algunos titulares de cuentas pueden no tener números de la Seguridad Social, por lo que se elimina la candidatura de esta columna.

La siguiente opción lógica es utilizar una combinación de columnas, como añadir el apellido a la fecha de nacimiento a la dirección de correo electrónico, lo que da como resultado una clave primaria larga y engorrosa.

La mejor opción es crear una clave primaria independiente en una nueva columna denominada CUSTOMER_ID. Entonces, la base de datos genera automáticamente un número único cada vez que se añade un cliente, garantizando una identificación única.

Al crear esta clave, la columna se designa como clave primaria dentro del script SQL que crea la tabla, y todos los valores nulos se rechazan automáticamente.

El número de cuenta asociado a cada CUSTOMER_ID permite una gestión segura de las consultas de los clientes y tiempos de búsqueda rápidos (como con cualquier tabla indexada.)

Por ejemplo, a un cliente se le puede pedir su apellido al realizar una consulta bancaria. Es probable que una consulta con un apellido común (como García) devuelva varios resultados.

Al consultar datos, la utilización de la función singular y única de la clave primaria garantiza un único resultado.

Temas relacionados

Margaret Rouse

Margaret Rouse es una galardonada escritora técnica y profesora conocida por su habilidad para explicar temas técnicos complejos a una audiencia de negocios no técnica. Durante los últimos veinte años, sus explicaciones han aparecido en sitios web de TechTarget y ha sido citada como autoridad en artículos del New York Times, Time Magazine, USA Today, ZDNet, PC Magazine y Discovery Magazine. La idea de diversión de Margaret es ayudar a profesionales de TI y negocios a aprender a hablar los idiomas altamente especializados de cada uno. Si tienes una sugerencia para una nueva definición o cómo mejorar una explicación técnica,…