Modeling assumptions & notes
This activity uses small, original practice records built around a project–employee–job example.
For this model: an employee has one job class; each job class has one current standard hourly rate; an employee appears at most once per project. Hours are recorded for each project–employee pair. PROJ_NUM and EMP_NUM together form the only candidate key of the initial 1NF table. Historical billing rates and repeated assignments are outside this example.
The normal-form summaries use an introductory treatment. Composite candidate keys also matter when checking for partial dependencies; adding a surrogate primary key does not fix a dependency problem. A composite key may remain in a table in 3NF.
Runs offline in your browser. No account, submission, tracking, or external dependencies. Progress lasts until you reload this file. Public version · v0.3.0.