Second Normal Form¶
A first-normal-form relation schema is in second normal form when every non-prime attribute depends fully on every candidate key.
Core Idea¶
A relation schema is in second normal form (2NF) when it is already in first normal form and every attribute outside all candidate keys depends fully on each candidate key. “Fully” means no proper part of a key determines that attribute by itself. The rule is about the schema's functional dependencies, not how many duplicate values happen to appear in current rows.[^ref-d98bb69f25b6]
A chosen primary key is not enough to test. Codd's R4 has a one-attribute primary key but fails because an alternate composite key contains a proper subset that determines a non-prime attribute. Splitting a violating relation can repair it; the split is not what 2NF means.[^ref-d98bb69f25b6]
Scope of Application¶
Use this test in relational database design when the schema, its candidate keys and its functional dependencies are known or justified. Check every candidate key, including alternates. If all candidate keys are single attributes, the full-dependence clause is automatic once first normal form holds. A finite row sample may suggest a dependency, but by itself cannot prove the all-states property.[^ref-d98bb69f25b6]
Clarity¶
A partial dependency is the diagnostic condition; repeated values or update problems are possible effects. In Codd's supplier–part relation T(S#,P#,SC), supplier number S# determines supplier city SC even though (S#,P#) is the key. The SC dependency on part of the key makes T fail 2NF. A primary-key-only shortcut would miss the analogous problem in Codd's R4.[^ref-d98bb69f25b6]
Manages Complexity¶
Instead of enumerating every possible row and update, list the functional dependencies and candidate keys. Mark attributes that occur in no candidate key. For each such attribute, test whether a proper subset of any candidate key determines it. This reduces the classification to explicit schema questions; it does not select a physical storage design or prove every proposed split lossless.[^ref-d98bb69f25b6]
Abstract Reasoning¶
First establish first normal form and the dependency assumptions. Derive all candidate keys. For each non-prime attribute, test full dependence against each candidate key. If one proper subset determines it, the schema fails 2NF; otherwise it passes under the stated assumptions. A short primary key does not cancel a composite alternate key.[^ref-d98bb69f25b6]
Knowledge Transfer¶
The same test applies to Codd's formal supplier/part/project example and IBM's part-at-warehouse database example. Their notation and purpose differ, but both require the schema, key and dependency map. Outside relational schemas, “partial dependence” can be an analogy; it is not literally 2NF without candidate keys and functional dependencies. The broader Predicate Prime supplies the truth-valued-test idea.[ref-d98bb69f25b6][ref-59ad646877d1]
Example¶
Codd's R3. R3(X#,S#,P#,J#,Q) has candidate keys X# and (S#,P#,J#). Q, the only non-prime attribute, depends on the whole triple, not any proper part, and fully on singleton X#. Mapped roles: schema/dependencies → Codd's R3; candidate keys → X# and the triple; test attribute → Q; full dependence → no partial determinant; verdict → 2NF pass.[^ref-d98bb69f25b6]
IBM's warehouse stock after separation. IBM separates a combined part, warehouse, quantity and address table into PART_STOCK(PART,WAREHOUSE,QUANTITY) and WAREHOUSE(WAREHOUSE,WAREHOUSE_ADDRESS). Mapped roles: schemas/dependencies → stock quantity per part–warehouse pair and address per warehouse; candidate keys → the documented pair and singleton warehouse key; test attributes → quantity and address; full dependence → each depends on its whole documented key; verdict → both resulting relations pass 2NF in this design. The general definition still tests every candidate key.[ref-59ad646877d1][ref-d98bb69f25b6]
Relationships to Other Abstractions¶
Current abstraction Second Normal Form Domain-specific
Parents (1) — more general patterns this builds on
-
Second Normal Form is a kind of Predicate Prime
Second normal form is a truth-valued property of a relation schema under stated functional dependencies.
Neighborhood in Abstraction Space¶
Second Normal Form sits in a sparse region of the domain-specific corpus (89th percentile for distinctiveness): few abstractions share its structure, so a faithful description tends to retrieve it precisely.
Family — Unclustered & Miscellaneous (2551 abstractions)
Nearest neighbors
- Essential Tuple Normal Form — 0.82
- Elementary Key Normal Form — 0.81
- Third normal form — 0.80
- Fourth Normal Form — 0.80
- Relational database — 0.79
Computed from structural-signature embeddings · 2026-10-08
Not to Be Confused With¶
A partial dependency is evidence of a 2NF failure, not an example of passing. A lossless decomposition is a possible repair, not the property itself. Third normal form adds a further test for transitive non-key dependence, so passing 2NF does not imply passing 3NF. The staged DAG's strict parent is Predicate: 2NF is a truth-valued condition on a relational schema. Dependency is an ingredient of that condition, not its parent genus.[^ref-d98bb69f25b6]
References¶
[^ref-d98bb69f25b6]: E. F. Codd, Further Normalization of the Data Base Relational Model, IBM Research Report RJ909 (1971), original author text reproduced by a third party. Especially §§1.2–1.3 (candidate keys), 2.1 (T and lossless projections), 2.2–2.5 (R3, R4 and full dependence), and 3.3 (3NF). The reproduction is used for its original report text; it is not an IBM-hosted scan. [^ref-59ad646877d1]: IBM, DB2 Administration Guide, Planning, Chapter 7, “Logical Database Design,” printed pp. 98–100 (PDF zero-index pp. 113–115), Tables 9–12. Original PDF title: DB2 Administration Guide: Planning. Official guide's part/warehouse worked example uses designated-key wording; it does not replace Codd's all-candidate-key definition.