I drew an example diagram in Access.
The relationships and tables fit 3NF:
- a Projects table with fields ProjNumber(PK), ProjName, and ProjDesc
- an Assignments table with compound key consisting of EmpID and ProjNumber, with fields HourlyBillingRate, NumOfHours, and TeamNum
- a Teams table, with fields TeamNum(PK), TeamName, ProjNumber
ProjNumber from Assignments and Teams are foreign keys to Projects and TeamNum from Assignments is a foreign key to the Teams primary key. I don't know if it's necessary to directly reference Teams if I have the ProjNumber foreign key because that project would have an associated TeamNum.
There is a project, a team associated with carrying that out, and employees that are on that team which are paid an hourly billing rate for that project.
I use a compound key to answer "What is the employee works on multiple projects?", so I couldn't make EmpID the sole primary key, thus I chose to make it a compound key because even if the employee works on multiple projects, the combination of the two will always be unique. Each field is necessary and relevant to referenced primary key.
Why does this or doesn't this fulfill 3NF?