命名数据仓库中的维度表
naming dimension tables in data warehouse
我对数据仓库中维表的命名约定有疑问。我想知道在名称中保留维度类型是个好主意。例如,对于维度类型 1,我们将有这样的内容:
- dim_scd1_student(渐变维度类型1)
- dim_scd2_teacher(渐变维度类型2)
没有.
Ralph Kimball 博士和 Christopher Adamson 博士都没有在他们的书中使用这个惯例。两位作者都建议在 ETL 过程中记录和管理此细节。
最终用户(例如经理和业务分析师)将与 table 和列名进行交互。他们中的佼佼者将知道如何构建简单的 SQL 查询以获得他们寻求的业务答案。但是缓慢变化的维度是实现细节,与它们无关。列名 "dim_scd2_..." 只会造成混乱、问题和噪音。请记住,此系统是为业务人员设计的,而不是软件工程师。
此外,我会省略 "dim" 前缀。业务度量或事件 table 应以 "fact" 或 "facts" 为后缀(Kimball 和 Adamson 均使用)。所有其他 table 都是默认尺寸。
旁白:按照您的建议进行操作类似于将存储类型嵌入到编程语言变量名中。例如,在 C 程序中,"int" 类型可以按如下方式使用:int_customer_id
。但是,如果将来 "int" 不够大,我们需要使用 "long" 怎么办?哎呀
我对数据仓库中维表的命名约定有疑问。我想知道在名称中保留维度类型是个好主意。例如,对于维度类型 1,我们将有这样的内容:
- dim_scd1_student(渐变维度类型1)
- dim_scd2_teacher(渐变维度类型2)
没有.
Ralph Kimball 博士和 Christopher Adamson 博士都没有在他们的书中使用这个惯例。两位作者都建议在 ETL 过程中记录和管理此细节。
最终用户(例如经理和业务分析师)将与 table 和列名进行交互。他们中的佼佼者将知道如何构建简单的 SQL 查询以获得他们寻求的业务答案。但是缓慢变化的维度是实现细节,与它们无关。列名 "dim_scd2_..." 只会造成混乱、问题和噪音。请记住,此系统是为业务人员设计的,而不是软件工程师。
此外,我会省略 "dim" 前缀。业务度量或事件 table 应以 "fact" 或 "facts" 为后缀(Kimball 和 Adamson 均使用)。所有其他 table 都是默认尺寸。
旁白:按照您的建议进行操作类似于将存储类型嵌入到编程语言变量名中。例如,在 C 程序中,"int" 类型可以按如下方式使用:int_customer_id
。但是,如果将来 "int" 不够大,我们需要使用 "long" 怎么办?哎呀