SuperKey
   HOME

TheInfoList



OR:

In the relational data model a superkey is a
set Set, The Set, SET or SETS may refer to: Science, technology, and mathematics Mathematics *Set (mathematics), a collection of elements *Category of sets, the category whose objects and morphisms are sets and total functions, respectively Electro ...
of attributes that uniquely identifies each
tuple In mathematics, a tuple is a finite ordered list (sequence) of elements. An -tuple is a sequence (or ordered list) of elements, where is a non-negative integer. There is only one 0-tuple, referred to as ''the empty tuple''. An -tuple is defi ...
of a relation. Because superkey values are unique, tuples with the same superkey value must also have the same non-key attribute values. That is, non-key attributes are '' functionally dependent'' on the superkey. The set of all attributes is always a superkey (the ''trivial superkey''). Tuples in a relation are by definition unique, with duplicates removed after each operation, so the set of all attributes is always uniquely valued for every tuple. A '' candidate key'' (or ''minimal superkey'') is a superkey that can't be reduced to a simpler superkey by removing an attribute. For example, in an employee schema with attributes employeeID, name, job, and departmentID, if employeeID values are unique then employeeID combined with any or all of the other attributes can uniquely identify tuples in the table. Each combination, , , , and so on is a superkey. is a candidate key--no subset of its attributes is also a superkey. is the trivial superkey. If attribute set ''K'' is a superkey of relation ''R'', then at all times it is the case that the projection of ''R'' over ''K'' has the same cardinality as ''R'' itself.


Example

First, list out all the sets of attributes: :• :•   :•   :• :• :• :• :• Second, eliminate all the sets which do not meet superkey's requirement. For example, cannot be a superkey because for the same attribute values (Edward, Plantagenet), there are two distinct tuples: * (Edward, II, Plantagenet) * (Edward, III, Plantagenet) Finally, after elimination, the remaining sets of attributes are the only possible superkeys in this example: * (Candidate Key) * In reality, superkeys cannot be determined simply by examining one set of tuples in a relation. A superkey defines a
functional dependency In relational database theory, a functional dependency is a constraint between two sets of attributes in a relation from a database. In other words, a functional dependency is a constraint between two attributes in a relation. Given a relation ' ...
constraint of a relation schema which must hold for all possible instance relations of that relation schema.


See also

* Alternate key *
Compound key {{Unreferenced, date=October 2020 In database design, a composite key is a candidate key that consists of two or more attributes (table columns) that together uniquely identify an entity occurrence (table row). A compound key is a composite key f ...
* Foreign key * Primary key * Candidate key


References


Further reading

*


External links


Relation Database terms of reference, Keys
An overview of the different types of keys in an RDBMS {{Databases Data modeling de:Superschlüssel zh:超鍵