【发布时间】:2014-01-23 07:41:59
【问题描述】:
最近有人问我这个问题,欢迎提出任何建议。
有一个表格,其中包含 5 家公司的公司详细信息。>> C_ID、C_Name、c_Address。 (存于表公司)
下面有一个显示员工记录并具有插入功能的网格视图。网格视图的字段是说>> E_ID,E_Name,E_Address。 (存储在员工表中)
现在必须将该员工与 5 家公司之一进行映射。但没有可用的参考资料。如何找到外键?如何维护两个表之间的关系?
【问题讨论】:
最近有人问我这个问题,欢迎提出任何建议。
有一个表格,其中包含 5 家公司的公司详细信息。>> C_ID、C_Name、c_Address。 (存于表公司)
下面有一个显示员工记录并具有插入功能的网格视图。网格视图的字段是说>> E_ID,E_Name,E_Address。 (存储在员工表中)
现在必须将该员工与 5 家公司之一进行映射。但没有可用的参考资料。如何找到外键?如何维护两个表之间的关系?
【问题讨论】:
在员工表中添加一个名为“C_ID”的新字段,并使其成为要映射到公司表中的 FK(外键)..
添加字段后,右键Employees表点击设计。在设计上右键单击和单击关系。添加新关系,单击 Tables and Columns Specific,在下拉列表中选择 Customer 表并选择 C_ID。
【讨论】:
您需要添加列来映射关系,并添加外键以强制该关系的参照完整性。
如果员工一次只能关联到一家公司:
(例如在 Sql Server 中):
ALTER TABLE Employee ADD CompanyID INT;
ALTER TABLE Employee ADD CONSTRAINT FK_Employee_Company
FOREIGN KEY(Company_ID) REFERENCES Company(C_ID);
如果员工对公司来说可以是多对多的,例如兼职、承包商或跨多个公司跟踪历史,那么您将需要一个新的员工和公司之间的连接表来模拟这种关系。
【讨论】: