我爲最終用戶可以自定義的生活編寫數據庫應用程序。用戶可自定義表格中衆所周知的行的最佳方法?
通常,這意味着 - 暫時擱置數據庫 - 我的一些名義實體類型有一個無限的宇宙或域。
取名稱類型。你可以有名字,姓氏,已婚姓名,法定姓名,稱呼名稱等。我不打算爲這個宇宙設置一個上限。
但我確實需要找到並使用某些知名的名稱類型。讓我們說顯示名稱和排序名稱,只是爲了保持簡單。
我還希望能夠查詢所有名稱類型(即整個宇宙),並且還返回我熟知的名稱類型。
有在數據庫中完成這幾個策略:
- 有一個ID列和代碼列一個表name_type。系統使用的ID值小於某一數值;高於此值的ID值被視爲用戶類型。
- 向id/code對添加一列,該列是布爾型或int類型的某種表示形式,表示它是哪種類型的行(例如,用戶定義的或系統)。同樣的事情,真的;只是使用另一列來顯式分解信息,而不是在id中重載它。
- 有兩個可能具有命名約定的表:name_type和name_type_system。據瞭解或強制,name_type_system對用戶是禁止的; name_type是他們的域名。查詢在這些表和應用程序間執行UNION,只是「知道」從不更新系統表。
人們使用什麼策略?任何戰爭故事?有什麼特別的理由選擇一個嗎?巨大的陷阱我沒有看到?
最佳,
萊爾德
謝謝;優秀的答案。在我看來,選擇2是遵循這個邏輯的方法。 – 2011-01-16 13:12:18