場景
我們在使用資料庫時,經常會遇到菜單選項,比如個人資訊表中有:
“性别”:男、女;
“學曆”:大專以下、大專、大學、碩士及以上;
“英語等級”:英語四級、英語六級、專業八級;
等等;
這些菜單選項肯定需要在資料庫中進行維護,當資料表很多時,菜單選項可能都會達到上百個,該如何設計呢?
下面将講解設計方法。
(設計方法不唯一,本人總結的也不代表最好的,僅供參考)。
資料表設計
總共包含4個表,分别如下:
1.
2.
3。
4.
具體示例
1.
若是想知道“張三”的性别和學曆,需要經過下面的步驟(以查詢性别為例):
步驟1: 在表名表中查詢table_name_eng為staff_info對應記錄的table_id,本例中為table_id=4;
步驟2: 在域名表中查找table_id=4且column_name_eng為sex對應記錄的menu_id,本示例menu_id=16;
步驟3: 在菜單内容表查找menu_id=16的所有記錄。
2.表名表
記錄資料庫中所有的表資訊,每個表對應一條記錄。
3.域名表
記錄每個資料表中的每個域名。1個資料表中有n個域(列),就在該表中對應n個記錄。
4. 菜單内容表:
記錄菜單内容。