2011-07-14 70 views
1

我有一個問題,我不知道它是否可能。將一個表格行映射到另一個表格多行

可以說,我有3個表:

辦事處:ID,姓名

聯繫人:身份證,名字,姓氏,電子郵件,office_id

網站:身份證,ip_addr中,dns_addr,名稱,office_id

讓我說我有2個網站在同一個office_id下,但他們有不同的聯繫人。 如何將一行網站映射到聯繫人中的多行?

我不太熟悉db architcure,所以也許我把我的db表格錯了?

在此先感謝。

+0

一個網站的聯繫人是否也可以成爲另一個網站的聯繫人?或者每個聯繫人是否只有一個站點? – RThomas

+0

它有關係嗎?你能否給我選擇是\否? – RonenIL

+1

是的,它很重要。如果一個聯繫人只與一個站點相關,那麼添加一個鏈接站點的單個外鍵來完成聯繫。如果聯繫人可能與多個站點相關,那麼跟蹤關係需要一個單獨的表格(如下面的答案中所述)。 – RThomas

回答

2

DB的當前結構根本不會將SiteContact相關聯 - 兩者都與office有關。

最簡單的做法是創建一個將Contact.idSite.id關聯起來的查找表。

您將遇到的問題是不會有固有的完整性檢查 - 您可以將聯繫人與不屬於同一辦公室的網站相關聯。這裏的主要好處是您可以爲每個站點多個聯繫人或每個聯繫人多個站點。

相關問題