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