En el modelo de datos relacionales, una superclave es cualquier conjunto de atributos que identifica de forma única cada tupla de una relación . [1] [2] Debido a que los valores de superclave son únicos, las tuplas con el mismo valor de superclave también deben tener los mismos valores de atributos no clave. Es decir, los atributos no clave dependen funcionalmente de la superclave.
El conjunto de todos los atributos es siempre una superclave (la superclave trivial). Las tuplas de una relación son únicas por definición y los duplicados se eliminan después de cada operación, por lo que el conjunto de todos los atributos siempre tiene un valor único para cada tupla. Una clave candidata (o superclave mínima) es una superclave que no se puede reducir a una superclave más simple eliminando un atributo. [3]
Por ejemplo, en un esquema de empleado con atributos employeeID
, name
, job
, y departmentID
, si employeeID
los valores son únicos, entonces employeeID
combinados con cualquiera o todos los demás atributos pueden identificar de forma única las tuplas en la tabla. Cada combinación, { employeeID
}, { employeeID
, name
}, { employeeID
, name
, job
}, etc., es una superclave. { employeeID
} es una clave candidata, ya que ningún subconjunto de sus atributos es también una superclave. { employeeID
, name
, job
, departmentID
} es la superclave trivial.
Si el conjunto de atributos K es una superclave de la relación R , entonces en todo momento la proyección de R sobre K tiene la misma cardinalidad que R mismo.
Primero, enumera todos los conjuntos de atributos:
En segundo lugar, elimine todos los conjuntos que no cumplan con el requisito de superclave. Por ejemplo, {Nombre del monarca, Casa real} no puede ser una superclave porque para los mismos valores de atributo (Eduardo, Plantagenet), hay dos tuplas distintas:
Finalmente, después de la eliminación, los conjuntos de atributos restantes son las únicas superclaves posibles en este ejemplo:
En realidad, las superclaves no se pueden determinar simplemente examinando un conjunto de tuplas en una relación. Una superclave define una restricción de dependencia funcional de un esquema de relación que debe cumplirse para todas las relaciones de instancia posibles de ese esquema de relación.
Nótese que el extracto permite que una "relación" tenga cualquier número de claves primarias y, además, que dichas claves puedan ser "redundantes" (mejor: reducibles). En otras palabras, lo que el artículo llama una clave primaria es lo que más tarde (y mejor) se conocería como una superclave, y lo que el artículo llama una clave primaria no redundante (mejor: irreducible) es lo que más tarde se conocería como una clave candidata o (mejor) simplemente una "clave".
no existen dos tuplas en ninguna relación jurídica