我有一個現成的,現成的應用程序在我的公司工作,有其供應商已經實現了一個有趣的數據庫功能(許多之一) 。我之前沒有看到它用於製作,我希望能夠獲得更多的信息。使用記錄ID內的「實體類型號」來識別實體
每個數據庫表指的是一個特定的實體類型。例如,TBL_Person
,TBL_Organisation
,TBL_Address
。但是,對於每個表,ID始終始於相同的一組數字,例如,全部TBL_Address
記錄以1401
開頭,全部TBL_Person
記錄以1500
開頭。在那之後會附上獨特的部分。從我所看到的是,從純屬的發展來看
的優勢,如下:
- 這是一個巨大的數據庫(約600桌,許多有超過150列)。所以,如果在掃描表我找到列如
WId
,RId
,LId
,或UnhelpfullyNamed_Id
,我立刻知道什麼它指的是(感謝他們也提供你在那裏輸入前四位數字一個小程序,它會告訴你什麼是實體是以及在哪個表中找到它) - 它們在同一個表中存儲實體的不同變體 - 例如一個
TBL_Vehicle
記錄可能是汽車(1234),卡車(2345),摩托車(3456),所以你不需要使用繼承等,除非它是真正必要
缺點(在一般意義上,如果這是在別處使用)可能是:
- 鼓勵懶惰與表的設計 - 冗餘列,如果在同一個表中存儲許多實體類型
- 增加了對開發商看它是誰沒有意識到這一點
這個設計模式/功能是否有一個術語?有沒有其他衆所周知的數據庫可以實現這一點?還有其他的優勢嗎?