3. 数据仓库建模

这篇文章主要讲述的是数据仓库建模的一些基本概念,包括:实体、属性、域、关系、键、约束、范式、命名规范等。

实体

实体通常是名词,如“人”、“事”等的抽象化对象;比如:员工、公司等等;

实体,就是你想要在数据库里存储的所有信息;

实体对应数据库就是表,实体中的实例就是一行行的数据;


属性

属性用来描述实体的具体特性,如下图所示

实体和属性的关系

属性的分类---按内容

属性的内容非常广泛,包括但不限于:

1. ID    2. 描述    3. 引用    4. 分类    5. 限制     6. 数量    7. 时间相关   

8. 人物相关    9. 地点相关   10. 状态   11. 审计   12. 派生 等等等

属性的一些特性(空 默 类 多 派)

1. 是否允许为空,即强制的,还是可选的?

2. 是否有默认值?

3. 数据类型是什么?

4. 是单值还是多值?

5. 派生属性是如何计算的?

可以从高中学习的集合的概念引申一下,即为作用域;域是属性的所有取值范围的集合,其实可以理解为自定义的数据类型,并可以加一些约束;域类型如:

1. 格式:VARCHAR, currency,email

2. 列表:枚举类型、gender

3. 范围:from x to y, 年龄取值范围 0-150

使用域可以提高数据质量,使数据模型更易于理解和便于沟通;


关系

关系是 动词  

老师 教 课程 ,老师和课程都是实体,教 是关系

用于表示实体和实体之间的关系;

在概念模型层级,存在1:N,0:N, 1:1, 0:1, M:N这几种情况

在逻辑模型和物理模型层级,需要消除M:N的情况,通常是建立关系映射表


键的分类

候选键:一个或者多个属性的组合,可以唯一确定实体的一个实例,候选键也可以叫做候选主键,可以选为主键的;

主键:从候选键中,选中用来作为唯一标识的属性或者属性组,被称为主键;

可选建:候选键中,没有选中的其他键,称为可选键;

主键的特点:

1. 唯一性,不可重复;

2. 强制性,不可以为空

3. 永久性,不可改变;

4. 最小集合,不可掺杂多余的属性;

单键与复合键:

单键:主键如果是一个属性,称为单键;

复合键:主键如果是多个属性的组合,称为复合键。

自然键和代理键:

自然键:已经真是存在的键,通常具有商业含义,比如身份证ID,护照编码等。可以是单键,也可以是复合键;

代理键:完全没有商业含义,通常由当前的系统自动生成,都是单键。


约束

约束存在的目的就是将商业规则应用到数据库的设计中;约束分为:

1. 唯一标识

2. 非空约束

3. 默认值

4. 检查

5. 参照完整性


规范化


你可能感兴趣的:(3. 数据仓库建模)