我已經看到有人使用'DataListValue'表來存儲這些值(Call_Types,DepartmentCodes,Divisions等),這些值經常在UI的下拉列表中使用。我可以在一張表中管理員工相關數據嗎?
這樣我就可以在一張桌子上管理它們,並且將有一個屏幕來更新代碼。
我想知道是否可以將DepartmentCode,RoleCode,CountryCode保留在Data_List表中?或者我應該把它們放在單獨的桌子上?
我已經看到有人使用'DataListValue'表來存儲這些值(Call_Types,DepartmentCodes,Divisions等),這些值經常在UI的下拉列表中使用。我可以在一張表中管理員工相關數據嗎?
這樣我就可以在一張桌子上管理它們,並且將有一個屏幕來更新代碼。
我想知道是否可以將DepartmentCode,RoleCode,CountryCode保留在Data_List表中?或者我應該把它們放在單獨的桌子上?
通常的做法是爲具有存儲代碼/描述對與某種表型柱的單個的代碼表。例如,你可能會經常看到這樣的表:
CodesTable
但是,我從來沒有想過這是個好理念。即使您存儲的所有代碼都是代碼和說明,最好爲每組代碼創建一個新表。這樣你的外鍵關係就會更清晰。另外,您不可避免地需要存儲關於其中一個代碼集的其他數據,您最終需要添加一個僅適用於存儲在表和列中的其中一個代碼集的附加列對於所有其他行將爲空。它總是變得很難看。
例如,可以說,如上例所示,您將TableId
設置爲「C」,並將所有國家/地區代碼設置爲「D」。但下個月會有新的要求出現,因此需要爲每個國家/地區代碼存儲郵政縮寫。您是否在表中添加PostalAbbreviation列,即使它永遠不會應用於部門代碼?或者您是否創建另一個表,只爲每個國家/地區代碼存儲其他數據?你怎麼知道「C」和「D」是什麼意思,除非你有其他的地方去查找它們?所有這一切都只是一個壞主意。
子表可以有三個插入列,分別是Number,Text_1,Text_2,Date_1,Date_2。例如,日期列將用於截斷日期,而數字列可用於工作時間類型,文本列可用於PostalAbbrevation。 – user1263981 2012-07-18 18:40:57
是的,通過遵循這種方法,您可以找出將整個數據庫的所有表放入一個表的方法。任何可能的。問題是,爲什麼你想要?除非必要,爲什麼要讓事情變得更加困難和複雜?你有什麼收穫,這是值得的成本? – 2012-07-18 18:53:54
我正在開發時間表數據庫,並根據需要保留員工歷史,像國家代碼,deptCode,職位和Rolecode字段將成爲歷史表(緩慢維度變化)的一部分,這個歷史記錄表的開始和結束日期爲好。我只是在考慮是否爲RoleCode,CountryCode和DeptCode分開表,然後將它們鏈接到歷史表,或者將它們放在一個List表中並鏈接到History表.... – user1263981 2012-07-18 20:16:09