First Normal Form (1NF): Ensure atomicity and eliminate repeating groups by breaking data into individual tables.
Create tables for Projects, Employees, Job Classes, and Employee-Project assignments.
Each table should have a primary key (unique identifier).
Remove repeating groups (such as multiple employee names in a single field).
Second Normal Form (2NF): Ensure all non-key attributes depend on the entire primary key.
Separate tables to establish relationships between entities.
Ensure all fields relate directly to the primary key of their respective tables.
Eliminate partial dependencies.
Third Normal Form (3NF): Remove transitive dependencies.
Ensure each non-prime attribute depends only on the primary key.
Remove any fields that depend on non-primary key fields.
Split tables to resolve dependencies between non-prime attributes.
To achieve 3NF:
Projects table (Project Number, Project Name)
Employees table (Employee Number, Employee Name)
Job Classes table (Job Class, Charge per Hour)
Employee-Project table (Employee Number, Project Number, Hours Billed)
Calculate Total Charges using formulas rather than storing redundant data.
Ensure proper relationships between tables using foreign keys.