第九章 数据库设计
9.1 数据库设计概述
定义: 数据库设计是指利用现有的数据库管理系统,针对具体的应用对象构建合适的数据模式,建立数据库及其应用系统并使之能有效地收集,存储,操作和管理数据,满足企业中各类用户的应用要求.
概念:对一个给定的应用的环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求.
本质:将数据库与现实世界进行密切的,协调一致的结合的过程
9.1.1 数据库设计的特点
1.三分技术,七分管理,十二分基础数据
2.综合性
3.结构(数据)设计和行为(处理)设计相结合
9.2 数据库设计的基本步骤
1.需求分析阶段
用到的工具: 数据字典 数据流图
2.概念结构设计阶段
e-r图,系统说明书
3.逻辑结构设计阶段
将e-r图转化为关系表,系统结构表
4.物理结构设计阶段
存储安排,方法选择,存取路径建立,ipo表
5.数据库实施阶段
编写模式,装入数据,数据库试运行
6.数据库运行和维护阶段
性能检测,转储/恢复,数据库重组和重构
9.3 需求分析的步骤
1.分析用户活动,产生业务流程图
2.确定系统功能,分析数据处理流程,产生数据流图
数据流图,Data Flow Fiagranm(DFD)
数据流图是从数据传递和加工的角度,以图形的方式来表达系统的逻辑功能
4个基本成分:
数据流(用箭头表示),
加工或处理(用圆圈表示),
文件或数据存储(用双线段表示),
外部实体(数据流的源点和终点,用方框表示)
3.分析系统数据,产生数据字典
数据字典通常包括数据项,数据结构,数据流,数据存储和处理过程等进行详细的说明
4.撰写需求说明书
9.4 概念结构设计
9.4.1 概念结构用e-r模型表示
e-r模型是实体-联系方法来描述现实世界的概念模型
9.4.2 e-r图的3个基本组成和3要素
(1)3个基本组成
用矩形框表示实体,并在其中写入实体名
用椭圆内写实体属性名
菱形内些联系名
(2)3个基本要素
实体型
实体的属性
实体型之间的联系
9.4.3两个实体型之间的联系类型
1. 一对一(1:1)
2.一对多(1:n)
3.多对多(m:n)
9.4.4概念结构设计的方法和步骤
1.自顶向下方法
2.自底向上方法
3.逐步扩张方法
4.混合策略方法
9.4.5概念结构设计的步骤
1.抽象数据并设计局部视图
2.将局部视图合并成全局的概念结构
9.4.6数据抽象的方法
1.分类(classification)
2.概括(generalization)
3.聚合(aggregation)
9.4.7 局部e-r图设计步骤
1.选择局部应用
2.逐一设计分E-R图
9.4.8 全局e-r图设计
1.确定公共实体类型
2.局部e-r模型的合并
3.消除冲突
有哪些冲突?
1.属性冲突
2.命名冲突
3.结构冲突
9.4.9 优化全局e-r图
1.实体的合并
2.冗余属性的消除
3.冗余联系的消除
9.5 逻辑结构设计
9.5.1 设计逻辑结构三步骤
(1)将概念结构转化为一般关系,网状,层次模型
(2)将转化来的关系,网状,层次模型向特定DBMS支持下的数据模型转换
(3)对数据模型进行优化
9.5.2 e-r图向关系模型的转换的步骤
1.实体转换
2.联系的转换
例:将如下的e-r图转化为关系模型

方法1:
实体转换:学生(学号,姓名),校园卡(卡号,余额)
联系(办卡)转换:办卡(学号,卡号,办卡日期)
方法2:(与任意一端对应的关系模型合并):
学生(学号,姓名,卡号,办卡日期)或者校园卡(卡号,余额,学号,办卡日期)
` 总结:
方法1是将e-r图转换为3张关系表
方法2是将e-r图转化成了1张关系表
例子:将操作员和读者的e-r图转化为关系模型
方法1:
实体转化:
读者(读者编号,读者姓名,性别,年龄,注册日期,电话号码)
操作员(操作员编号,用户名,密码,性别,年龄,身份证号)
联系(管理)转化:管理(读者编号,操作员编号)
方法2(联系与读者实体一端合并):
操作员(操作员编号,用户名,密码,性别,年龄,身份证号)
读者(读者编号,读者姓名,性别,性别,年龄,注册日期,带你换号码,操作员编号)
例子:m:n联系转换

方法:
实体转化:
读者(读者编号,读者姓名,性别,年龄,电话号码,注册日期)
图书(图书编号,图书名称,图书类别,作者,出版社,图书价格)
联系(借阅)转化:
图书借阅(读者编号,图书编号,借阅日期,归还日期,罚款)
9.5.3 数据模型的优化
1. 增加冗余属性
2.增加派生属性
3.重建关系
4.分割关系
9.6 数据库的物理设计
(1)确定数据库的物理结构.这在关系型数据库中主要指数据的存储方法和存储结构
(2)对所设计的物理结构进行评价,评价的重点是系统的时间和空间效率
通常关系数据库物理设计的内容主要包括以下两个方面
1.确定数据的存取方法
2.确定数据库的物理存储结构
9.6.1 确定数据库的物理结构
1.关系模式存取方法的设计
(1)索引存取方法的设计
(2)聚簇存取方法的设计
(3)hash存取方法的设计
2.数据存储位置的设计
为了提高系统性能,设计人员应该根据应用情况的易变部分,稳定部分,经常存取部分和存取频率较低部分分开存放.
3.系统配置的设计
9.6.2 评价物理结构
1.查询和响应时间
2.更新事务的开销
3.生成报告的开销
4.主存储空间的开销
5.辅助存储空间的开销
9.7 数据库的实施
9.7.1 数据的载入和应用程序的调试
9.7.2 数据库的试运行
当一小部分数据输入数据库后,就可以开始对数据库系统进行来拟合调试,这称为数据库的试运行.
需要强调两点:
(1)由于数据入库工作量实在太大,费时,费力,所以应分期分批地组织数据入库.先输入小批量数据共调试用,等检测合格后再大批量输入数据,逐步增加数据量,逐步完成运行评价
(2)在数据试运行阶段,系统还不稳定,所以硬件,软件故障随时都可能发生.因此,相关人员应该先调试郧西dbms的恢复功能,做好数据库的转储和恢复工作
9.8 数据库的运行与维护
1.数据库的备份和恢复
2.数据库的安全性,完整性控制
3.监督,分析和改进数据库的性能
4.数据库的重组织和重构造
浙公网安备 33010602011771号