所以,首先,我认为我有设计问题,但不知道如何解决它。
我有两张桌子:
-------
Company
-------
CompanyId
CompanyName
-----------
并且:
-------
Company Administrator
-------
AdminId
AdminName
-----------
我的想法是一对一的关系,因为一家公司可以拥有公司管理员,一家公司管理员可以拥有一家公司。
我的问题: 我是否必须在每个表中放置一个外键,或者我应该以不同的方式(可能更好的方式)实现它。
我无法合并表格,因为在我的应用程序中,我希望公司管理员创建公司。
有什么想法吗?
答案 0 :(得分:3)
将您的问题读作:
CompanyAdministrator有一个公司,公司属于CompanyAdministrator 。
如果这是正确的话:
- 您希望Company
跟踪其所属的CompanyAdministrator
。你的表格看起来像这样:
Company:
- id
- company_name
- any other attributes of the company you want to track
- company_administrator_id
CompanyAdministrator:
- id
- any other attribute of the comanpy_administrator you want to track.
基本上,company_administrator_id位于公司表中。
答案 1 :(得分:0)
如果有1对1的关系,则可以将表的每个主键用作另一个表中的外键,例如:
------
**Company**
-------
CompanyId
CompanyName
Admin_id
-----------
-------
**Company Administrator**
-------
AdminId
AdminName
-----------
**OR**
------
Company
-------
CompanyId
CompanyName
-----------
-------
Company Administrator
-------
AdminId
AdminName
Company_id
-----------