将一个表行映射到另一个表多行

时间:2011-07-14 02:13:08

标签: sql-server database mapping

我有一个问题,我不知道是否可能。

假设我有3张桌子:

  

办公室:Id,名称

     

联系人:id,first_name,last_name,email,office_id

     

网站:id,ip_addr,dns_addr,name,office_id

假设我在同一个office_id下有2个网站,但他们有不同的联系人。 如何在一行站点之间映射到联系人中的多行?

我对db architcure不太熟悉,所以也许我的数据库表格错误了?

提前感谢。

1 个答案:

答案 0 :(得分:2)

数据库的当前结构根本不会将SiteContact相关联 - 两者都与office相关。

执行所需操作的最简单方法是创建一个将Contact.idSite.id相关联的查找表。

您将遇到的问题是没有内在的完整性检查 - 您可以将联系人与不属于同一办公室的网站相关联。这里的主要好处是每个站点可以有多个联系人,或者每个联系人可以有多个站点。