什么是实体表,维度表,事实表,物理表、逻辑表?
怎么理解它们之间的关系?
实体表、维度表、事实表、物理表和逻辑表都是数据仓库中的重要概念,它们之间的关系如下:
实体表:
描述业务过程中的实体信息,如客户、订单、销售人员等。实体表包含了实体的属性和实体间的关系。实体表通常是动态变化的,每个实体表都有一个主键,用来连接事实表。
维度表:
描述业务过程中的维度信息,如时间、地点、产品等。维度表包含了维度的属性和维度间的关系。维度表通常是静态不变的,可被多个事实表共享。
事实表:
存储业务过程中的事实信息,如销售数量、金额、利润等。事实表包含了度量指标和维度信息,度量指标是可以被加总或计算的数值。事实表通常是动态变化的,每个事实表都有一个联合主键,用来连接维度表。
物理表:
数据仓库中的实际存储表,包括实体表、事实表、维度表等。物理表存储实际的数据,是数据仓库的核心部分。
逻辑表:
在数据仓库中,逻辑表是指根据业务需求,从多个实体表中导出的逻辑表,它不存储数据,只是作为数据查询的中间结果。逻辑表可以理解为是一个虚拟表,不存储数据,而是通过查询实体表来生成结果。
实体、表维度表和事实表是数据仓库中的核心表。
物理表(包括实体、表维度表和事实表)是真实存在的表,逻辑表属于虚拟表!
它们之间的关系如下:
实体表和事实表是一对多的关系,实体表和维度表是多对多的关系,而事实表和维度表是多对一的关系。逻辑表则是从实体表和维度表中生成的虚拟表,用于优化数据查询。
举例:将销售数据作为例子来说明这些表的应用。
实体表:客户实体表、订单实体表、销售人员实体表等。客户实体表包含客户姓名、电话、地址等属性,订单实体表包含订单编号、下单日期、客户信息等属性,销售人员实体表包含销售人员姓名、所在部门、联系方式等属性。
维度表:时间维度表、地点维度表、产品维度表等。时间维度表包含日期、月份、季度、年份等时间属性和层次结构,地点维度表包含国家、省份、城市等地理属性和层次结构,产品维度表包含产品类别、品牌、型号等产品属性和层次结构。
事实表:销售事实表、库存事实表等。销售事实表包含销售数量、销售单价、销售总额、利润等指标,库存事实表包含库存数量、入库数量、出库数量等指标。
物理表:包括实体表、事实表、维度表等。例如,销售事实表的物理表可能包括销售事实表、时间维度表、产品维度表等。
逻辑表:例如一个查询销售总额和利润的逻辑表,可以通过连接产品维度表、时间维度表和事实表来生成。