数据仓库建模

ER建模(第一步)
ER建模(entity-relationship modeling)阶段 == 需求分析/可视化阶段 == 概念建模

  • 1、基础概念
    实体(entity):客观世界中的众多概念,用矩形表示;
    属性(attribute):用来描述实体各个特征,用椭圆表示;每个实体至少要有一个唯一属性,用下划线标记;
    联系(relation):实体与实体之间通常具有某种关联,用菱形表示;
    基数约束(cardinality constraint):实体间连线的两端,写有一些符号,用来表示实体可以有多少实例与另一实体的实例存在联系;共有四种形态,可选/强制的单个/多个对应;

  • 2、更复杂的建模规则
    复合属性(composite attribute):括号;
    多值属性(multivalued attribute):椭圆;
    派生属性(derives attribute):虚线;
    可选属性(optional attribute):可能没有取值的,在属性名后面添加(0)标识

关系表建模(第二步)
将ER图实体映射为关系,经过两个步骤:1. 逻辑模型设计 2. 物理模型设计,来设计相应的关系表实现。
关系(relation)、 列(column)/属性/域、行(row)元祖/记录

  • 关系表 VS 一般的表
    1、一个列只能有一个名称;2、一行数据不能重复;3、每个值必须是单值;4、行列顺序无关

  • 几个概念
    主码(primary key):主键,可多个;
    外码(foreign key):是某关系中的一列,而这一列恰恰又是另一个关系的主码;
    实体完整性约束(entity integrity constraint): 指所有主码必须非空

  • 概念模型 VS 逻辑模型 VS 物理模型
    概念模型:ER,业务上;
    逻辑模型:开发,进一步细化蕴含更多信息;
    物理模型:更进一步对真实数据库的描述,包括数据类型/长度/索引/主键/默认值etc.

维度模型
维度表(dimension):今早花了三块钱买了盒牛奶,今早(时间维度)、牛奶(商品)
事实表(fact table):三块钱

  • 维度建模的三种模式
    1、星形模式(Star Schema):一个事实表对应多个维度;
    2、 雪花模式(Snowflake Schema):是对星形模式的扩展,一个事实表对应多个维度,而且每个维表可继续向外连接多个子维表;
    3、星座模式(Fact Constellations Schema):也是星型模式的扩展,多个事实表对应多个维度,互相交织;
posted @ 2021-06-29 21:08  renana  阅读(200)  评论(0编辑  收藏  举报