Superkey
A superkey is a set of one or more attributes whose values uniquely identify each row in a relation, whether or not the set is minimal.
100 SQL Server Mistakes and How to Avoid Them
A super key is a set of attributes that uniquely identifies every row in a relation, whether or not it is minimal.
- How it is used
- Uses superkeys to test row uniqueness while selecting keys during first normal form normalization.
- How deep it goes
- Defines superkeys and minimal candidate keys, then works through single-attribute and composite identification cases.
- Examples
- Uses Sales Order Number, Purchase Order Number, and a Product Name plus Product Type Name pair.
- What you can do after
- Evaluate/understand whether one attribute or a combination uniquely identifies each relation row.
Read how 100 SQL Server Mistakes and How to Avoid Them explains superkey →
Grokking Relational Database Design
A superkey is a set of one or more table columns whose values uniquely identify a row, possibly including unnecessary columns.
- How it is used
- Defines unique row identification while supporting primary-key selection and database normalization.
- How deep it goes
- Explains uniqueness, unnecessary columns, minimality, and key hierarchy but stops short of detailed dependency analysis.
- Examples
- Uses purchase_id and payment_id as surrogate primary-key examples for purchase and payment_method tables.
- What you can do after
- Evaluate whether a set of columns uniquely identifies rows and distinguish superkeys from minimal candidate keys.
Read how Grokking Relational Database Design explains superkey →
Related concepts
- candidate keyincludes · A candidate key is a minimal set of attributes whose values uniquely identify each row in a relational relation.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.

