万事万物都有一个生存周期,当然数据库系统也不例外!
数据库设计和ER模型这一章主要是依据数据库系统生存周期,对其中的设计阶段展开来进行讲解的。
我们先来看看数据库系统的生存周期:
如图所示,数据库系统生存周期划分为五个阶段:规划,需求分析,设计,实现,运行维护。其中设计阶段包括,概念,逻辑,物理三个方面的设计。
后面两节的内容主要是针对设计阶段的概念设计和逻辑设计以及从概念设计到逻辑设计的转换来展开的。
一、概念设计(ER模型)
第一章里讲过了数据抽象的四个模型:概念数据模型,逻辑数据模型,外部数据模型和内部数据模型,所以在这一章,我们又提到了概念和逻辑这两个词,肯定不陌生了。
第一章说到概念模型是从用户需求的观点出发,对数据建模。而我们的ER模型就被广泛采用的概念模型设计方法。它既然是一种设计方法,接下来我们就要探索怎么使用它。
1、ER模型所包含的元素
在上边导图中我们看到,ER模型的元素包括两个:实体和联系。但是,我们不要忘记它还有实体和联系这两者都包含的属性元素。
(1)实体:实体:对象;实体集:类;实体类型:对象的定义。
(2)联系:联系:实体之间的关系;联系集:同一类联系的集合;联系类型:联系的定义。
(3)属性分类:
简单属性和复合属性:按照父属性是否可以分解成子属性来划分的,分解出来的子属性之间具有依赖性。可以分解的为复合属性,不可分解的为简单属性。
单值属性和多值属性:按照取值的多少来划分的,可以取多值的属性为多值属性,取单值的为单值属性。
存储属性和派生属性:按照是否有必要存储划分。没有必要存储的为派生属性,有必要存储的为存储属性。
允许为空值的属性:当数据库中出现空值时,会有多种情况,处理起来比较困难,要把所有情况都分析对。
2、ER模型操作与设计
(1)ER模型操作:包括合并,分裂,增删等操作。
(2)ER模型的设计遵循一条原则:先局部,后全局,再优化。
二、逻辑设计(关系模型)
逻辑模型是从数据库实现的观点出发,对数据建模。而关系模型就是用关键码来表示实体之间联系的数据模型。
1、术语:属性,关系模式,元组,关系,属性值。其中,整个二维表格为关系模式,属性为二维表中的字段,属性值为字段值,而元组代表一条记录,关系表示多条记录的集合。
2、遵循的完整性规则
(1)实体:主键属性不能为空值。
(2)参照:不允许引用不存在的实体。
(3)用户定义:针对具体约束设置完整性规则。
三、概念设计——>逻辑设计
1、算法
分别对实体类型和联系类型转换为关系模式进行了介绍。其实都一样,属性还是属性,标识符等变成了键。
2、设计步骤
(1)导出初始关系集:全局ER模型——>关系模式
(2)规范化处理:减少关系模式中的异常
(3)模式评价:对功能和性能进行检查是否符合用户要求
(4)模式修正:根据评价结果进行修改
(5)设计子模式:设计局部逻辑结构
四、总结
看着自己的这张导图,按照导图将内容回忆了起来,觉得这本书其实很简单。虽然网织的不怎么的,在努力让这些知识成为自己的。在学习的过程中意识到了自己很多的不足,比如说,织网不牢固,学习效率低等。现在正在一件一件的去做这些事,自从用了番茄模板之后,效率算是提高了很多,学习起来没有以前那么漫无目的了。在此,感谢师姐!坚持使用番茄模板,让自己的效率越来越高!Come On!