Which one is correct w.r.t. RDBMS?
Any set of attributes that uniquely determine a tuple in a relation is superkey
key (candidate key) is minimal superkey. i.e removal of any attribute from the superkey does not make it superkey anymore
any superset of candidate key is superkey
trivial super key is complete set of attributes in the relation
One among the candidate keys is selected as primary key
primary key ⊆ candidate key ⊆ super key
Superkey - An attribute or set of attributes that uniquely defines a tuple within a relation. However, a superkey may contain additional attributes that are not necessary for unique identification.
Candidate key - A superkey such that no proper subset is a superkey within the relation. So, basically has two properties: Each candidate key uniquely identifies tuple in the relation ; & no proper subset of the composite key has the uniqueness property.
Primary key - The candidate key chosen to identify tuples uniquely within the relation.
so option 2
From the set of candidate keys, a key is chosen as primary key.
A super key is a set attributes that can functionally determine all attributes in a given relation. A candidate key is a minimal super key. And hence candidate keys are a subset of super keys in a given relation.
So option 2