我目前正在查看重組聯繫人管理數據庫的過程,我想聽取人們對解決具有共享屬性的多種聯繫類型問題的意見。SQL Server中的表「繼承」
基本上我們有6種聯繫方式,其中包括Person,Company和Position @ Company。
在當前的結構中,所有這些都有一個地址,但是在地址表中您必須存儲它們的類型才能加入聯繫人。
加入聯繫人類型的這種一致要求會在一段時間後變得令人沮喪。
今天我碰到一個帖子在討論「表繼承」(http://www.sqlteam.com/article/implementing-table-inheritance-in-sql-server)跌跌撞撞。
基本上你有一個父表和一些子表(在這種情況下是每個聯繫類型)。從那裏你強制執行完整性,以便子表必須具有與其類型相同的主定義。
我看到它的方式,通過這種方法我將不再需要存儲的類型,如地址表中,作爲ID是在所有類型的獨特。
我只是想知道是否有人對這種方法的任何感情,無論是一個很好的路要走,或者替代品?
我使用的是SQL Server的05 & 08應該使任何區別。
感謝
埃德
我明白你在說什麼,但是對每種類型存儲地址或聯繫人數據(手機)是不可能的,因爲很可能我會針對每種類型有多個地址/數據。這也可能是我想分享多個聯繫人之間的地址,想象一個家庭。 – MrEdmundo 2009-02-09 19:33:15
酷,一個公平的電話,所以我建議去尋找一組平面的聯繫人/地址等,在不同的表中沒有特定的類型,只要在任何一個表中定義它的類型是有意義的。再次說明,除非真的需要複雜(例如,海量和易變的數據集)。 – Timbo 2009-02-09 23:35:53