2009-07-14 49 views
0

我想創建一個數據庫來保存我的地址簿,但我遇到了一個小問題。 我的數據庫應該保存個人聯繫人和公司聯繫人。這是一個條目,可以爲個人或公司。正如你所知道的,個人和公司都有地址,我希望個人和地址之間的一對多關係以及公司和地址。如何共享一對多表

所以一個人可以有多個地址 和公司可以將問題試圖設計我不知道這裏是什麼,最好的辦法是模式時,有很多地址

。我是否應該在地址表中放置兩個外鍵,一個用於individual_Id,另一個用於company_Id,或者我應該爲每個人創建一個鏈接表來解決和公司處理關係。

外鍵聽起來很容易,但不知道這是否是正確的方法,鏈接看起來是正確的方法,但不知道這是否過分,因爲它們主要用於多對多關係。

想法?

回答

4

有很多不同的方法......我們採取的方法是有一個「名稱」表,相當於您的聯繫人表;地址表和電話號碼錶。

地址和電話號碼錶中每個名稱表都有一個外鍵。名稱表中有一個「類型」字段,以便我們可以判斷名稱是否屬於個人,公司,獨資經營者等。

電話號碼錶中也有一個類型字段,所以我們可以知道電話號碼是否是工作,家庭,單元等。另外,我們允許用戶在名稱表中存儲其中一個電話號碼的副本以充當主要電話號碼。

+1

對於「type」字段爲+1;正是我要寫的。 – bernie 2009-07-14 03:15:27