Sub-Page 1: Atomic values and no repeating groups
Each cell contains a single (atomic) value. No repeating groups. Unique records with primary key.
Member ID | Full Name | Address | Salutation | Movies Rented |
---|---|---|---|---|
1 | Robert Phil | 123 Main St | Mr. | Movie1, Movie2, Movie3 |
2 | Julie Thorn | 456 Oak Ave | Ms. | Movie4, Movie5 |
3 | Robert Phil | 789 Pine Rd | Mr. | Movie6 |
Member ID | Full Name | Address | Salutation | Movie ID | Movie Name |
---|---|---|---|---|---|
1 | Robert Phil | 123 Main St | Mr. | 1 | Movie1 |
1 | Robert Phil | 123 Main St | Mr. | 2 | Movie2 |
1 | Robert Phil | 123 Main St | Mr. | 3 | Movie3 |
2 | Julie Thorn | 456 Oak Ave | Ms. | 4 | Movie4 |
2 | Julie Thorn | 456 Oak Ave | Ms. | 5 | Movie5 |
3 | Robert Phil | 789 Pine Rd | Mr. | 6 | Movie6 |
Understanding functional dependencies is key to achieving Second Normal Form (2NF). A functional dependency occurs when one attribute uniquely determines another. For 2NF, all non-key attributes must fully depend on the entire primary key, not just part of it.
In the unnormalized table, Movies Rented
is a multi-valued attribute. After 1NF, we split it into Movie ID
and Movie Name
. However, Movie Name
depends only on Movie ID
, not the full primary key (Member ID, Movie ID
), indicating a partial dependency.
-- Partial Dependency in 1NF Table Member ID, Movie ID → Full Name, Address, Salutation, Movie Name Movie ID → Movie Name
This partial dependency requires further normalization to achieve 2NF, covered in the next sub-page.
-- SQL to create 1NF-compliant table CREATE TABLE MemberMovies ( MemberID INT, FullName VARCHAR(50), Address VARCHAR(100), Salutation VARCHAR(10), MovieID INT, MovieName VARCHAR(50), PRIMARY KEY (MemberID, MovieID) );
This schema ensures atomic values and a composite primary key, eliminating repeating groups like Movies Rented
.
1NF ensures each cell contains a single value, removing multi-valued attributes.
A unique identifier (or composite key) ensures no duplicate records.
1NF sets the stage for eliminating partial dependencies in 2NF.