If a project has a single manager, then an appropriate way to model this is to have a column called ManagerId
in the Projects
table with an appropriate foreign key reference to another table. If the manager is required, then this would be declared NOT NULL
.
If a project could have more than one manager, then you would want an association/junction table to record this information. Doing that when you only want one manager seems like unnecessary complication. And, enforcing constraints on an arbitrary number of things is generally more difficult than just dealing with zero or one.
One exception to the above is when the manager can change over time. Then you would want another table with effective and end dates for the reign of each manager.