我一直在試圖找到答案,我不知道描述它的最佳方式。單橋表還是有更好的方法嗎?
基本上,我有3個源表,每個都有uniqueidentifier鍵。我們將這些表格稱爲Skill1,Duty2,Custom3。除了它們是特定工作的屬性之外,它們不以任何方式與對方相連(容易)。我想從現在的8個不同的表格(我將稱之爲Resource1 - Resource8)將這些技能與資源聯繫起來(例如:一本書,一個URL,一個課程ID)。這是爲了允許將這些類型的資源的任何組合鏈接到包含在所述3個「技能表」中的任何屬性。
我想出了很多奇怪的設計,但我在下面解決:
表 - 列 - > FK
Skill1 - SkillUniqueId -> BridgeTable.AttributeUniqueId
Duty2 - DutyUniqueId -> BridgeTable.AttributeUniqueId
Custom3 - CustomUniqueId -> BridgeTable.AttributeUniqueId
BridgeTable - AttributeUniqueId, ResourceUniqueId, AttributeType, ResourceType
Resource1 - ResourceUniqueId -> BridgeTable.ResourceUniqueId
Resource2 - ResourceUniqueId -> BridgeTable.ResourceUniqueId
Resource3 - ResourceUniqueId -> BridgeTable.ResourceUniqueId
...etc.
「問題」這個簡單的設計是我有一個將3個「屬性」表連接到8個資源表的橋接表,我必須在存儲過程(以及可能的應用程序使用這些表)中使用AttributeType和ResourceType,以便利用正確的表。
有沒有更好的方法將這3個屬性表連接到資源而不需要複製其他地方已存在的數據? (即:用所有可能的屬性組合來創建一個「工作」表,或將我的所有資源表拼湊成一個表,幷包含大量可爲空的列)
爲什麼8個資源表?7我可以理解 - 技能,職責和習慣各爲3,技能和職責,職責和自定義,技能和自定義各加3分,全部爲1 3.什麼是第8張桌子? – 2010-08-04 17:13:57
我需要的一些資源是內部業務資源...我不認爲我已經解釋得很好,因爲你能夠捕捉到我正在做的事情。這些資源描述了培訓資源(URL,書籍,內部培訓代碼,內部方法ID,LMS ID/URL等) – Andir 2010-08-04 17:33:29