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.