我必須添加功能到現有的應用程序,我遇到了一個數據情況,我不知道如何建模。我被限制在創建新的表格和代碼。如果我需要改變現有的結構,我認爲我的客戶可能會拒絕這個提議。儘管如果這是唯一的方法來解決這個問題,那我就不得不這樣做了。如何建模SQL Server中的互斥關係
我有一個項目表,我可以鏈接到任何數量的表,這些表可能會隨着時間的推移而增加。該項目只能鏈接到另一個表格,但另一個表格中的記錄可能有許多鏈接到它的項目。被連接的表/實體的
實例到是Person
,Vehicle
,Building
,Office
。這些都是獨立的表格。項目
實施例是Pen
,Stapler
,Cushion
,Tyre
,A4 Paper
,Plastic Bag
,Poster
,Decoration"
例如一個Poster
可以被分配給一個或Person
或Office
Building
。在未來,如果他們添加一個Conference Room
表,它也可能被添加到該表中。
我intital的想法是:然後
Item
{
ID,
Name
}
LinkedItem
{
ItemID,
LinkedToTableName,
LinkedToID
}
的LinkedToTableName
場可以讓我找出正確的表在我的代碼鏈接到。
我對這個解決方案並不滿意,但我無法想到其他任何東西。請幫忙! :)
謝謝!
如果你explaned更多關於你要存儲什麼類型的數據的一個位,爲什麼這將幫助;比如說,博客文章,人物或超市等物品?目標表代表什麼?我認爲你的抽象被打破了,但是爲什麼要說出來幾乎是不可能的,或者在不知道你想用它解決的問題的情況下提出一種不同的方法。 – 2010-04-24 13:59:41
感謝羅蘭。我試圖添加到我的問題。請參閱編輯Q.如果仍然不夠詳細,我將再次編輯:) – littlechris 2010-04-24 14:10:17