Search Postgresql Archives

Re: one-to-one schema design question and ORM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Mar 09, 2007 at 10:06:52 -0500,
  Rick Schumeyer <rschumeyer@xxxxxxxx> wrote:
> 
> From a business rules perspective:
>   Some users are not employees (like an admin user)
>   Some employees are not users
> 
> I can think of two ways to do this:
> 
> 1) a 1-1 relationship where the user table contains a FK to the employee 
> table.  Since not all users will be employees, the FK will sometimes be 
> null.
> In rails, the user class would "belong_to employee" while employee 
> "has_one user".
> 
> 2) Create a link table that has FKs to both the user and employee 
> table.  This make sense because I'm not sure that the concept of "there 
> might be a linked employee" belongs in the user table.  This moves it to 
> a separate table designed for that purpose.  But then again, it may just 
> be a needless extra table.
> 
> Would you prefer one solution over the other?

I think you need a linking table to properly represent the business rule
above. You can use unique constraints on each key in the link table,
to enforce a 1 to 1 link for the users that are employees.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux