数据仓库建模理论
1、关系模式范式
只列前三种
1.1、第一范式(1NF)
域都应该是原子性的,即数据库表的每一列都是不可分割的原子数据项
1.2、第二范式(2NF)
在1NF的基础上,实体的属性完全依赖于主关键字,不能存在仅依赖主关键字一部分的属性
1.3、第三范式(3NF)
在2NF的基础上,任何非主属性不依赖于其它非主属性
2、数据仓库建模基本理论
2.1、ER实体模型
在信息系统中,将事物抽象为“实体”、“属性”、“关系”来表示数据关联和事物描述;实体:Entity,关系:Relationship,这种对数据的抽象
建模通常被称为ER实体关系模型
实体:通常为参与到过程中的主体,客观存在的,比如商品、仓库、货位、汽车,此实体非数据库的实体表
属性:对主体的描述、修饰即为属性,比如商品的属性有商品名称、颜色、尺寸、重量、产地等
关系:现实的物理事件是依附于实体的,比如商品入库事件,依附实体商品、货位,就会有“库存”的属性产生;用户购买商品,依附实体用户、商品,就会有“购买数量”、“金额”的属性产品。
1:1 ,即1对1的关系,比如实体人、身份证,一个人有且仅有一个身份证号
1:n,即1对多的关系,比如实体学生、班级,对于某1个学生,仅属于1个班级,而在1个班级中,可以有多个学生
n:m,即多对多的关系,比如实体学生、课程,每个学生可以选修多门课程,同样每个课程也可以被多门学生选修
2.2、维度模型
Ralph Kimball推崇数据集市的集合为数据仓库,同时也提出了对数据集市的维度建模,将数据仓库中的表划分为事实表、维度表两种类型。
2.2.1、事实表
在ER模型中抽象出了有实体、关系、属性三种类别,在现实世界中,每一个操作型事件,基本都是发生在实体之间的,伴随着这种操作事件的发生,会产生可度量的值,而这个过程就产生了一个事实表,存储了每一个可度量的事件。
**电商场景:**一次购买事件,涉及主体包括客户、商品、商家,产生的可度量值包括商品数量、金额、件数等
2.2.2、维度
维度,顾名思义,看待事物的角度。比如从颜色、尺寸的角度来比较手机的外观,从cpu、内存等较比比较手机性能
维度表一般为单一主键,在ER模型中,实体为客观存在的事物,会带