目录

1  数据库系统概述

1.1  数据库系统(DBS)组成

  1.1.1  数据库(DB)

  1.1.2  数据库管理系统(DBMS)

  1.1.3  应用程序(APP)

  1.1.4  数据库管理员(DBMA)

1.2  数据模型

1.3  数据库系统(DBS)特点

1.4  数据库系统三级模式及二级映像

1.4.1  三级模式

1.4.2  二级映像

2  数据库系统设计过程 

2.1  需求分析阶段

  2.1.1  需求分析过程

  2.1.2  数据字典

2.2  概念结构设计阶段

  2.2.1  E-R模型

  2.2.2  E-R图

  2.2.3  扩展E-R图

2.3  逻辑结构设计阶段

2.4  物理结构设计阶段

  2.4.1  确定存取方法

  2.4.2  确定存储结构

2.5数据库实施和维护


 

 

1  数据库系统概述

 

1.1  数据库系统(DBS)组成

  1.1.1  数据库(DB)

数据库是指大量数据的集合,这些数据按照数据模型组织、描述和存储。

数据库具有低冗余、高独立、易扩展和可共享等特点。

  1.1.2  数据库管理系统(DBMS)

数据库管理系统的功能分别针对数据和数据库。

对于数据:

1)数据库管理系统负责数据的定义(DDL数据库定义语言);

2)数据库管理系统负责数据的操纵(DML数据库操纵语言);

3)数据库管理系统负责数据的组织、存储和管理

对于数据库:

1)数据库管理系统负责数据库的事务管理运行管理

2)数据库管理系统负责数据库的建立维护

  1.1.3  应用程序(APP)

  1.1.4  数据库管理员(DBMA)

 

1.2  数据模型

数据模型是实现数据库系统内部数据结构化的重要基础。

数据模型分为三类:概念模型、逻辑模型、物理模型。

1)概念模型:如E-R图;

2)逻辑模型:如层次模型、网状模型、关系模型;

3)物理模型:如数据库系统的存储方式和存取方式;

在数据库系统的设计过程中,常根据概念模型->逻辑模型->物理模型的顺序去设计实现数据库系统,具体见数据库系统设计章节。

 

1.3  数据库系统(DBS)特点

1)数据结构化(数据模型是其基础);

2)数据共享性高,冗余度低,易扩充;

3)数据由数据库管理系统统一管理控制;

4)数据独立性(逻辑独立性、物理独立性);

 

1.4  数据库系统三级模式及二级映像

1.4.1  三级模式

1)外模式:局部数据的逻辑结构和特征的描述;

2)模式:全体数据的逻辑结构和特征的描述;

3)内模式:数据物理结构和存储方式的描述;

一个应用程序只能对应一个外模式,一个模式可以对应多个外模式。

数据库系统中只有一个模式和内模式。

1.4.2  二级映像

1)外模式/模式映像

    一个模式对应多个外模式,所以存在多个外模式/模式映像。

    当模式发生改变时,只需要改变应用程序对应的外模式/模式映像,而不需要改变外模式,即应用程序也不需要发生改变,故保证了应用程序的逻辑独立性。

2)模式/内模式映像

    数据库系统中只存在一个模式和内模式,所以模式/内模式映像也只存在一个。

    当内模式发生改变时,只需要改变模式/内模式映像,而不需要改变模式,更不用改变外模式,即应用程序也不需要发送改变,故保证了应用程序的物理独立性。

 

 

2  数据库系统设计过程 

 

数据库设计过程主要分为需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库系统的实施和维护五个过程。

 

2.1  需求分析阶段

  2.1.1  需求分析过程

1)调查机构总体情况;

2)熟悉业务活动;

3)明确用户需求;

4)确定系统边界(即将功能划分为系统完成功能以及人工完成功能);

  2.1.2  数据字典

数据字典是对数据库中数据的描述(元数据≠数据本身)。

数据字典在数据库系统后续设计过程中是一个重要参考。

数据字典的组成及其描述如下:

1)数据项:{ 数据类型,数据长度,... };

2)数据结构:{ 组成{数据项货数据结构},... };

3)数据流:{ 来源,去向,流量,最大流量,组成,... };

4)数据存储:{ 输入,输出,数据量,存取方式,组成,... };

5)处理过程:{ 输入,输出,处理类型,... };

 

2.2  概念结构设计阶段

概念结构设计的任务为将需求分析得到的用户需求抽象为信息结构。

常用的概念模型为E-R模型。

  2.2.1  E-R模型

E-R模型由实体、属性、实体间的联系三部分组成。

实体间联系根据涉及实体个数可分类为:

1)单个实体的联系;

2)两个实体间的联系(一对1、一对多、多对多);

3)多个实体间的联系;

  2.2.2  E-R图

E-R图的表示方法如下:

1)实体由矩形表示;

2)属性由椭圆表示,其中属性不具有需描述的性质,不与其他实体有联系;

3)联系由菱形表示;

  2.2.3  扩展E-R图

扩展E-R图是在E-R图的基础上扩充了ISA联系、基数约束以及Part-of联系。

1)ISA联系

ISA联系在一个确定实体的基础上将其分为不同类别,例如学生实体可以划分为研究生实体和本科生实体。

ISA联系由三角形表示。

  -  如果父实体只能归属于一个子实体,则称该ISA联系具有不相交约束;

  -  如果父实体可以归属于多个子实体,则称该ISA联系具有可重叠约束;

  -  如果父实体划分具有完备性,例如学生实体只能划分为研究生实体和本科生实体,则称该ISA联系具有完备性约束;

2)基数约束

在E-R图某联系中标注各实体的最小值和最大值,其格式为min...max。

例如学生与学生证的一对一联系,学生实体的标注为1...1,学生证实体的标注为1...1。

3)Part-of联系

Part-of联系分为独占联系和非独占联系。

对于一个实体,如果它依赖于其他实体存在,而无法独立存在,则该实体称为弱实体型。且该实体与其依赖的实体之间的联系为独占联系。例如楼房实体与房间实体,当房间实体脱离楼房实体时没有意义,即房间号(房间实体主键)只有和楼号(楼房实体主键)组合时才能唯一标识一个房间,此时房间实体为弱实体型,房间实体与楼房实体间的联系为独占联系。

对于一个实体,如果它不依赖与其他实体独立存在,则该实体称为强实体型。该实体与其他实体之间的联系为非独占联系。例如厂房实体和员工实体,两者独立存在,不存在相互依赖的关系,所以厂房实体和员工实体都是强实体型,厂房实体与员工实体之间的联系为非独占联系。

 

2.3  逻辑结构设计阶段

逻辑结构设计的主要任务是将E-R图转换为数据库管理系统数据模型相符合的逻辑结构。

以Mysql数据库为例,其对应的逻辑结构模型为关系模型,则在逻辑结构设计阶段要将E-R图转换为关系模型。

E-R图与关系模型的转换规则如下:

1)一对一联系可作为单独关系或与任意一端合并为一个关系;

2)一对多联系可作为单独关系或与任意一端合并为一个关系;

3)多对多联系只能作为单独关系;

4)多个实体间的联系只能作为单独关系;

注:在关系数据库中,一个关系就是指一个表。

 

2.4  物理结构设计阶段

物理结构设计的主要任务是为逻辑结构模型选取最合适的物理结构,主要包括确定存取方法以及确定存储结构。

  2.4.1  确定存取方法

常见的存取方法有索引方法、聚簇方法。

1)索引方法

常见的索引类型有B+数据索引和Hash索引。

当表中的某一个(组)属性常出现在查询条件中,或常作为聚集函数的参数,或常出现在连接条件中时,对该(组)属性建立索引可以提高数据库系统对相关事务的处理速度。

2)聚簇方法

聚簇方法将在某属性上具有相同之的元祖存放在连续的物理块内,在对该属性进行分组操作时,数据库系统对相关事务的处理速度将明显提高。

  2.4.2  确定存储结构

确定存储结构主要包括确定数据存放位置和确定系统配置两方面。

 

2.5数据库实施和维护

数据库恢复技术是数据库维护的一个重要组成部分。

数据库恢复技术将在相关博客中进行详细介绍。