Es necesario disponer de un modo de especificar la manera en que los registros de una relación dada se distingan entre sí. Esto se expresa en términos de sus atributos. Es decir, los valores de los atributos de un registro deben ser tales que puedan identificarlo unívocamente. De esta manera se impide que dos registros contengan los mismos valores en todos sus atributos.
Una superclave es un conjunto de uno o varios atributos que, considerados conjuntamente, permiten identificar de manera unívoca una tupla o registro de la relación. La superclave por defecto de una relación es el conjunto de todos sus atributos pero puede contar con atributos redundantes.
Por ejemplo, la combinación de nombre, apellidos y edad constituye una superclave para la relación clientes. Sin embargo, la combinación de los atributos nombre, apellidos o alguno de ellos por separado no forman una superclave, ya que es posible que varias personas se llamen, apelliden igual o hagan el mismo número de kilómetros.
Una clave de un esquema de relación es una superclave con la propiedad adicional que, eliminando cualquier atributo, deja un conjunto de atributos que ya no es una superclave de dicha relación. Esto es porque una clave satisface dos restricciones:
- Dos tuplas diferentes en cualquier estado de la relación no pueden tener valores idénticos para (todos) los atributos de la clave.
- Es una superclave mínima, es decir, una superclave de la cual no podemos eliminar ningún atributo y seguiremos teniendo almacenada la restricción de exclusividad de la condición 1.
Todos los atributos o la combinación de ellos que pueden ser usados como superclaves, sin contener otras superclaves, se denominan claves candidatas.
En el ejemplo tenemos los datos de cuatro clientes, aunque podrían ser más en el futuro. ¿Qué atributo o qué conjunto de ellos pueden considerarse clave por identificar de forma unívoca cada registro?
En un primer momento podríamos escoger el nombre y los apellidos de cada cliente, pero, como vemos, existen dos clientes que se llaman igual.
Echando un primer vistazo, debemos escoger el atributo que no contenga información duplicada. Estos atributos pueden ser DNI, Edad, Punto de llegada, Kilómetros o Importe pero sólo DNI es el atributo que identifica y relaciona de forma única el resto del registro.
"El DNI 77755523Y pertenece a María", "El DNI 77755523Y recorrió 3 Km abonando 1,90 €", ...
El atributo DNI de la relación clientes es suficiente para distinguir una tupla cliente de otra. Por tanto, DNI es una superclave que, a su vez, es clave.