7.1数据库设计概述
7.1.1数据库设计的定义
数据库设计是指对于一个给定的应用环境,构造一个优化的数据库模式并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求。
7.1.2数据库设计的特点
1)数据库建设是硬件、软件、管理的结合
2)数据库设计过程中将结构(数据)设计和行为(处理)设计密切结合起来。
7.1.3参与数据库设计的人员
1)系统分析人员和数据库设计人员
2)用户和数据库管理员(DBA)
3)程序员
7.1.4数据库设计的文档
技术说明书(数据库设计包括四个阶段)
1)需求阶段
2)概念设计
3)逻辑设计
4)物理设计
7.2数据库设计方法
7.2.1数据库设计的步骤
数据库系统的生存期:
数据库应用系统从开始规划、分析、设计、实现、投入运行后的维护到最后被新的系统取
代而停止使用的整个期间。
(1)需求分析阶段 数据流程图和数据字典
(2)概念设计阶段 建立独立于计算机和DBMS的概念模型:实体联系(E-R)图
(3)逻辑设计阶段 将概念模型转化成依赖于计算机和DBMS所支持的逻辑数据模型。(关系模式)
(4)物理设计阶段
(5)数据库实现阶段
(6)运行维护阶段
7.2.2数据库设计的方法
数据库设计应采用规范化设计方法。
7.3局部概念结构设计
7.3.1概念结构设计的步骤
将需求分析得到的用户需求抽象为信息结构(概念模型)的过程就是概念结构设计 。
自底向上的概念模型设计步骤:
(1)进行数据抽象,设计局部概念模型;
(2)将各个局部概念模型综合成全局概念模型;
(3)评审。
7.3.2 E-R模型
设计概念模型最常用的方法是实体联系(E-R)方法
1)E-R模型中的三要素:
实体 (Entity):表示客观事物。
属性 (Attributes) :表示客观事物的特征 。
联系 (Relations) :表示客观事物之间的关系。
2)E-R图表示方法
用矩形表示实体,用椭圆表示属性,用菱形表示实体间的联系,
属性和实体间用无向边连接,实体和联系间用无向边连接(同时在边上标上联系的类型)。
注意:多对多关系中通常有一个“联系”的属性(此例中“选课”为联系)
7.3.3局部E-R图的设计
设计步骤
(1)确定局部结构范围
(2)实体定义
(3)联系定义
定义实体集之间的联系
• 1:1 (一对一联系)
• 1:n (一对多联系)
• m:n (多对多联系)
(4)属性分配
7.4全局概念结构设计
7.4.1概念模型设计的步骤
(1)进行数据抽象,设计局部概念模型( E-R模型);
(2)将各个局部概念模型综合成全局概念模型( E-R模型)。
7.4.2局部概念模型的合并
(1)确定公共实体类型
(2)局部E-R模型的合并
• 逐步集成,选出最大或核心的一个局部E-R图作为基础,将其它局部 E-R图逐一合并上去。
• 一次集成,多个局部E-R图一次合并完成。
(3)消除冲突
• 命名冲突, 包括实体、属性和联系命名
• 属性冲突
• 结构冲突
例:工厂管理的局部E-R图合并。
合并:“医疗器械”和“产品”异名同义,“编号”和“产品号”异名同义
7.4.3全局概念模型的优化
实体类型的个数尽可能少;
实体类型所含属性的个数尽可能少;
实体类型间联系冗余最小。
7.5逻辑结构设计
7.5.1逻辑结构设计的任务
将概念结构转换成一般的关系模型。
关系数据库的逻辑结构设计步骤:
(1)导出初始的关系模式(即将E-R图转换成关系模式);
(2)规范化处理(优化),满足3NF或BCNF;
(3)设计用户外模式(子模式)。
7.5.2实体型转换为关系模式
一个实体转换为一个关系模式,实体的属性就是关系的属性,实体标识符即为关系的码。
7.5.3联系转换为关系模式
(1)联系为1:1
一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
(2) 联系为1:N
一个1:N联系可以转换为一个独立的关系模式,
也可以与N端对应的关系模式合并
(系号为外码,即N端加入对方候选码)
(3) 联系为M:N
一个M:N联系必须转换为一个独立的关系模式
与该联系相连的各实体的标识符以及联系本身的属性转换成关系的属性,
各实体的标识符组成关系的码或关系码的一部分。
例题:(一个m:n关系要多出一个关系集)
7.6物理结构设计
7.6.1物理结构设计定义
1)确定数据库的物理结构,即存储结构和存取方法
2) 对物理结构进行评价,评价的重点是时间和空间效率
7.6.2存储结构设计
(1)确定存储结构
(2)确定系统配置
7.6.3存取方法设计
DBMS一般提供多种存取方法:
~索引方法
~聚蔟方法
~HASH方法
7.7数据库设计综合案例
根据某一用户领域需求进行概念结构设计和逻辑结构设计以及规范化设计。要求:
(1)画出系统的E-R图。在E-R图中需注明实体的属性、联系的类型及实体的标识符。
(2)将E-R图转换成关系模型,并指出每个关系模式的主键和外键。
(3)在函数依赖范畴分析每个关系模式达到第几范式,并说明理由,达不到3NF的要将其分解成满足3NF的关系模式。
(1)实体和属性
(2)系统的E-R图
(3)将实体转换成关系模型
(4)将联系转换成关系模型: