Superkeys in Given Primary Key
We are given a relation with primary key . A superkey is any attribute set whose closure contains all attributes of . Since is a primary key, , and therefore any superset of is also a superkey (by the property of attribute closure / functional dependency).2
For each option, we check whether it is guaranteed to functionally determine all attributes (i.e., whether its closure contains ). The quickest reasoning here is:
- If an option contains both and , then it is a superset of the primary key , hence a superkey.
- If it misses either or , it cannot be concluded to be a superkey from the fact that is a key (and in standard exam settings, that omission means it is not a superkey).
Options:
- (i) contains and ⇒ superkey
- (ii) misses ⇒ not a superkey
- (iii) contains and ⇒ superkey
- (iv) contains and ⇒ superkey
Therefore, the option that is not a superkey is (ii) .
Key terms
- superkey
- candidate key
- attribute closure
- functional dependency
Footnotes
-
Database normalization: candidate key and superkey properties - Defines candidate keys/superkeys and related concepts like minimality. ↩
-
Functional dependency and attribute closure definition - Explains how closure is used to determine implications from FDs. ↩
Superkey, Candidate Key & Attribute Closure (FDs) - Intuition
How to verify systematically (attribute closure method)
Even though the “superset of the primary key” shortcut is sufficient here, the standard rigorous method is to compute attribute closure for each option and test whether it includes all attributes .
The algorithm:
- For a set , compute using the given functional dependencies (FDs).
- is a superkey iff (or at least contains all those attributes).
This is grounded in the theorem: if is a candidate key, then ’s supersets are superkeys; and closure-based superkey testing is the formal definition.2
Footnotes
-
Database normalization: candidate key and superkey properties - Defines candidate keys/superkeys and related concepts like minimality. ↩
-
Functional dependency and attribute closure definition - Explains how closure is used to determine implications from FDs. ↩
Check each option for superkey using closure logic
- 1Step 1
Since is a primary key, is a candidate key and determines all attributes in .
- 2Step 2
Any set that contains both and is a superset of , so it is also a superkey.
- 3Step 3
contains and ⇒ superkey.
- 4Step 4
contains but not ⇒ it does not have the primary key as a subset; in the usual key-based reasoning for such problems, this means it is not a superkey.
- 5Step 5
and both contain and ⇒ superkeys.
- 6Step 6
The only non-superkey option is (ii) VWXZ.
Shortcut that works here
If you’re told is a (primary/candidate) key, then any attribute set that includes both and is automatically a superkey, because adding attributes cannot reduce what’s functionally determined.
When the shortcut might fail
If the problem did NOT explicitly state that is a key (or if additional non-standard constraints are given), then missing (or missing ) would require actual closure computation from FDs to confirm whether the set is a superkey.
Reasoning Path for the Exam-Style Question
Identify given key
1Primary key is ."
Use superkey property
2Supersets of a key are superkeys."
Check each option
3Presence/absence of both and ."
Select the non-superkey
4Only (ii) misses ."
Common questions
Superkey Status of Each Option (Based on Superset of Primary Key )
If the option includes both and , it is a superkey (value shown as 1). Otherwise 0.
Superkey Quick Checks
Knowledge Check
Given has primary key , which set is NOT a superkey?