这是一个理论问题,我最近因为一个请求而出现了请求。我拥有主操作数据存储的支持,它维护一组数据表(包含主数据)以及一组查找表(其中包含参考代码列表及其描述)。最近来自下游应用程序的推动将逻辑上将两种结构(数据和查找值)统一在表示层中,以便他们更容易地发现整个数据中是否存在更新。 虽然这个请求是可以理解的,但我的第一个想法是它应该在接口级而不是在源头上实现。逻辑上将两个表(last_update_date)组合在ODS级别与数据的非规范化几乎相似,并且似乎与保持查找和数据分离的想法相反。 这就是说,我想不出为什么它不应该在消耗臭氧层物质水平上完成,除了它看起来不是正确的事实吗?有人有任何想法,为什么这种方法应该或应该不被遵守?为什么要在数据库中使用查找表
为了简单起见,我在此列举一个例子。
Data table
ID Name Emp_typ_cd Last_update_date
1 X E1 2014-08-01
2 Y E2 2014-08-01
Code table
Emp_typ_cd Emp_typ_desc Last_Update_date
E1 Employee_1 2014-08-23
E2 Employee_2 2013-09-01
下游请求是把数据表示为
Data view
ID Name Emp_typ_cd Last_update_date
1 X E1 2014-08-23
2 Y E2 2014-08-01
或
Data view
ID Name Emp_typ_cd Emp_typ_desc Last_update_date
1 X E1 Employee_1 2014-08-23
2 Y E2 Employee_2 2014-08-01