我正在为我的周期快照事实表寻找一个好的命名约定。
目前,我只是将"_Snapshot"附加到用于底层事务事实表的名称末尾。下面是一个例子。。。
FactWorkOrder (Transactional)
FactWorkOrder_SnapshotWkly (Weekly Snapshot)
我意识到命名约定是主观的,但这并不意味着没有公认的偏好。
例如,大多数微软的材料都使用正确的大小写,没有空格或下划线。。。
TableName.ColumnName
而不是。。。
TABLENAME.COLUMNNAME
TABLE_NAME.COLUMN_NAME
[TABLE NAME].[COLUMN NAME]
大多数Kimball材料都使用Dim或D、Fact或F作为前缀。。。
DimDate
FactWorkOrder
甚至下划线。。。
D_Date
F_WorkOrder
不幸的是,我在快照表上找不到任何内容。
在Kimball的书中,他使用WorkOrderSnapshotFact等。因此,使用"快照"一词似乎是一个不错的选择。
以下是我对周期快照事实表的命名约定:
1) 由于周期性快照总是保持定义的时间段,这个时间范围肯定应该在快照的名称中。
示例:
FactWorkOrder_SnapshotWeekly
FactWorkOrder_SnapshotMonthly
2) 由于周期性快照表依赖于事务事实表,这也应该反映在命名中。
示例:
基本事实:
FactWorkOrder
以及快照:
FactWorkOrder_SnapshotWeekly
3) 如果你有不同粒度的事实表,你可以考虑在名称中指定事实表的粒度
示例:
FactWorkOrder_Atomic
FactWorkOrder_AggregatedOnMonth
OD_MD_[主题区域名称]-主维度的MD
OD_MH_[主题区域名称]-MH用于分层OD_FB_[主题区域名称]-FACT基表的FB,存储交易、购买等非聚合数据。OD_FC_[主题区域名称]-FACT计算表的FB,该表存储度量和汇总KPI
OD_FB_SN_[主题区域名称]-快照OD_FB_WK_[主题区域名称]每周快照基表