Una clave principal, también conocida como clave principal SQL, proporciona un identificador único a cada registro asociado con un valor de clave principal. Entre las características importantes de las claves principales se incluyen:
- No contienen valores nulos
- No contienen valores duplicados
- Pueden adoptar la forma de una columna existente en una tabla (clave natural) o añadirse como una columna nueva (clave sustituta)
- Pueden incluir una sola columna o varias columnas (como clave principal compuesta)
Una clave principal puede ser una columna existente dentro de una sola tabla, en cuyo caso se conoce como clave natural. Sin embargo, a veces no hay una sola columna en la tabla que cumpla con la restricción de clave principal, la regla de clave principal de que los valores deben ser únicos y no nulos.
En estas circunstancias, se puede generar una nueva columna de valores únicos, no derivados de los datos existentes de la tabla, para que sirva como clave principal. Esta clave principal generada artificialmente se conoce como clave sustituta.
Los sistemas de gestión de bases de datos relacionales suelen ofrecer la capacidad de generar valores únicos para una columna, que luego pueden utilizarse como clave sustituta, esta característica es una de las capacidades. Un ejemplo es la característica de incremento automático de mySQL.
Las claves principales también pueden ser claves compuestas, lo que significa que constan de más de una sola columna de valores.
Las claves principales compuestas, combinaciones únicas de columnas que pueden utilizarse para identificar registros, pueden servir como alternativa a la generación de claves sustitutas. Por ejemplo, una columna de apellidos de clientes podría emparejarse con una columna que contenga fechas de nacimiento para formar una clave principal compuesta.