这是一个理论上的问题,由于我最近收到了一个请求,我提出了这个问题。我拥有一个主操作数据存储的支持,它维护一组数据表(带有主数据)以及一组查找表(其中包含参考代码列表及其描述)。最近,下游应用程序推动在表示层中将两种结构(数据和查找值)逻辑地结合起来,以便他们更容易发现整体数据中是否有更新。虽然请求是可以理解的,但我的第一个想法是它应该在接口级别而不是在源头上实现。在 ODS 级别逻辑组合两个表 (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