First Normal Form (1NF)

Context: FIT2094_MOC Β· a valid relation with a PK and no repeating groups Β· the first Normalisation step Β· partial dependencies listed here

Quick Revision

  • 🎯 Objective: a valid relation with a PK and no repeating groups βž” the first normalisation step.
  • πŸ“¦ Core Components: unique PK βž” atomic cells βž” all attributes depend on all/part of the PK.
  • ⚑ Key Constraint: still leaves partial and transitive dependencies β€” list partial dependencies here.

πŸ“ Core

1. The 1NF Conditions

  • Unique PK βž” identified for each tuple.
  • Valid relation βž” entity integrity (no part of PK NULL), atomic cells (no repeating groups).
  • Dependence βž” all attributes functionally depend on all or part of the PK.

2. UNF β†’ 1NF Steps

  • Identify PK βž” for the main relation.
  • Remove repeating group βž” into a new relation, bringing the original PK.
  • New PK βž” usually composite (original PK + repeating group’s identifier).

3. List Partial Dependencies

  • Definition βž” non-key depends on part of a composite key.
  • Example βž” in RESTOCK.
  • Removed at βž” 2NF.

When It Flips: if the UNF had no repeating group (ENROLMENT), 1NF creates no new relation β€” only a PK is added. 1NF is the valid-relation requirement (Relation Properties) plus a PK; anomalies persist until 2NF/3NF.

πŸ“Š Exam Execution Trace

Manual Execution Trace

UNF β†’ 1NF for PART:

Step / StateActionResult
0 (Init)UNF PARTbracketed group
1identify PKpart_no
2remove repeating groupRESTOCK
3new PK(part_no, vendor_no, restock_date)

⚠️ Common Mistakes

  • πŸ’‘ Move the repeating group, never flatten βž” a multivalued cell breaks atomicity; 1NF removes only repeating groups, leaving partial/transitive dependencies.

🧠 Active Recall