数据库课程设计指导书.docx
- 文档编号:9701596
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:35
- 大小:420.15KB
数据库课程设计指导书.docx
《数据库课程设计指导书.docx》由会员分享,可在线阅读,更多相关《数据库课程设计指导书.docx(35页珍藏版)》请在冰豆网上搜索。
数据库课程设计指导书
第一讲:
数据库设计概述、规划、需求分析
课时:
2课时
教学课型:
理论课
教学目的要求:
理解数据库设计的基本内容,了解数据库规划及需求分析的具体方法。
教学重点与教学难点:
需求分析的步骤
1数据库设计概述
数据库设计是指:
在给定的应用环境下,创建一个性能良好的能满足不同用户使用要求的,又能被选定的DBMS所接受的数据格式。
数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术。
1.1数据库设计的内容与特点
数据库设计两个方面:
结构特性的设计与行为特性的设计
结构特性设计——数据库框架和数据库结构设计
行为特性设计——应用程序设计,如查询、报表处理,一般由面向对象的程序给出用户操作界面。
数据库结构设计与行为设计要相互参照,它们组成统一的数据库工程。
1.2数据库设计方法
新奥尔良方法分为四个阶段:
需求分析、概念设计、逻辑设计、物理设计。
具体的实现技术与实现方法:
如基于E—R模型的数据库设计方法(针对概念结构设计阶段),基于3NF的设计方法,基于抽象语法规范的设计方法。
规范设计法分为两种:
手工设计和计算机辅助设计(如OracleDesigner2000、RationalRose,它们可以帮助或者辅助设计人员完成数据库设计中的很多任务)。
1.3数据库设计的步骤
三个阶段:
总体规划,系统开发设计,系统运行和维护。
具体步骤:
1.数据库规划阶段(总体目标和技术路线,得出数据库设计项目的可行性分析报告;对数据库设计的进度和人员分工做出安排)
2.需求分析阶段(弄清用户要求,是基础。
影响到数据库设计的结果是否合理与实用)
3.概念结构设计阶段(独立于计算机的数据模型,独立于特定的DBMS。
它通过对用户需求综合、归纳抽象、形成独立于具体DBMS的概念模型。
是各用户关心的系统信息结构,方便与用户交流,是对现实世界的第一层抽象)。
4.逻辑结构设计阶段(转换为某个DBMS所支持的数据模型,并进行优化)
5.物理结构设计阶段(设计一个在限定的软、硬件条件和应用环境下可实现的,运行效率高的物理数据库结构)
6.数据库实施与维护阶段(根据逻辑结构设计及物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行)
2数据库规划
规划过程:
1.系统调查:
调查,就是要搞清楚企业的组织层次,得到企业的组织结构图。
2.可行性分析:
从经济、法律、技术等多方面进行可行性论证分析,在此基础上得到可行性报告。
3.数据库建设的总体目标和数据库建设的实施总安排
3需求分析
3.1需求分析的任务
需求分析的任务是通过详细调查现实世界要处理的对象(部门、企业)充分了解原系统(手工系统或老计算机系统)工作概况,明确各用户的各种需求,在此基础上确定新的功能。
新系统的设计不仅要考虑现时的需求还要为今后的扩充和改变留有余地,要有一定的前瞻性。
3.2需求分析的方法
四步:
1.调查组织机构情况。
2.调查各部门的业务活动情况。
3.协助用户明确对新系统的各种要求。
4.最后对前面调查结果进行初步分析,确定系统的边界。
调查方法:
(1)跟班作业。
(2)开调查会。
(3)查阅档案资料。
(4)询问。
(5)设计调查用表请用户填写。
3.3需求分析的步骤
分析四步:
分析用户的活动、确定新系统功能包括的范围、分析用户活动所涉及的数据、分析系统数据。
1.分析用户的活动
2.确定系统的边界
在上述用户活动图中确定计算机与人工分工的界线
3.分析用户活动所涉及的数据
在处理功能逐步分解的同时,他们所用的数据也逐级分解形成若干层次的数据流图。
数据流图(DFD,DataFlowDiagram):
从数据流的角度描述一个组织业务活动的图,从数据和数据加工两方面来表达数据处理系统工作过程,是用户和设计人员都能容易理解的一种表达系统功能的描述方式。
a.用上面带有名字的箭头表示数据流,
b.用标有名字的圆圈表示数据的加工处理,
c.用直线表示文件(离开文件的箭头表示文件读、指向文件的箭头表示文件写),
d.用方框表示数据的源头和终点。
4.分析系统数据
数据字典(DD,DataDictionary)是进行详细的数据收集与分析所得到的主要成果,是对数据流图中出现的所有数据元素给出逻辑定义和描述,也是数据库设计者与用户交流的又一个有力工具,可以供系统设计者,软件开发者、系统维护者和用户参照使用。
四个部分:
⑴数据项
数据项描述={数据项名,别名,数据项含义,数据类型,字节长度,取值范围,取值含义,与其它数据项的逻辑关系}
表1图书各数据项描述
数据项名
数据类型
字节长度
图书编号
字符
6
书名
字符
80
评论
字符
200
出版社标识
字符
4
价格
数字
8
出版日期
日期
8
图书类别
字符
12
⑵数据文件
数据文件描述={数据文件名,组成数据文件的所有数据项名,数据存取频度,存取方式}
如:
图书={组成:
图书编号、书名、评论、出版社标识、价格、出版日期、图书类别,存取频度:
M次/每天,存取方式:
随机存取}
⑶数据流
数据流描述={数据流的名称,组成数据流的所有数据项名,数据流的来源,数据流的去向,平均流量,峰值流量}
⑷数据加工处理
数据加工处理描述={加工处理名,说明,输入的数据流名,输出的数据流名,处理要求}
思考题:
1.简述数据库设计的基本步骤。
2.简述需求分析的基本步骤。
3.什么是数据字典?
它由哪几部分组成?
它在数据库系统设计中的作用是什么?
4.什么是数据流图?
它由哪几部分组成?
它在数据库系统设计中的作用是什么?
第二讲:
概念结构设计与逻辑结构设计
课时:
2课时
教学课型:
理论课
教学目的要求:
了解数据库概念结构设计与逻辑结构设计具体方法。
教学重点与教学难点:
E-R模型设计及逻辑模式的优化
4概念结构设计
概念结构设计阶段就是将用户需求抽象为信息结构即概念模型的过程。
实体-联系模型(E-R模型,EntityRelationshipModel)为该阶段的设计提供了强有力的工具。
首先得到各局部应用的局部E-R图,然后将各局部E-R图集成形成全局的E-R图。
4.1设计各局部应用的E-R模型
1.分解:
分解成若干个子系统,一个局部应用中的实体数不能超过9个。
2.制图:
通过各局部应用所涉及到的收集在数据字典中的数据,并参照数据流图来标定局部应用中的实体、实体的属性、实体的码、实体间的联系以及它们联系的类型来完成局部E-R模型的设计。
3.调整:
总体原则是现实中的事物能做“属性”处理的就不要做“实体”对待。
决定事物作为属性来对待的准则:
a.此事物不能再包含别的属性
b.此事物不能与其它实体发生联系(联系只能发生在实体之间)
考察E-R图
4.2全局E-R模型的设计
要求:
①完整性和正确性:
即整体E-R图应包含局部E-R图所表达的所有语义,完整地表达与所有局部E-R图中应用相关的数据。
②最小化:
系统中的对象原则上只出现一次。
③易理解性:
设计人员与用户能够容易理解集成后的全局E-R图。
基本集成方法:
1、依次取出局部的E-R图进行集成
通常是两个关键的局部视图先集成,当然也可以一次集成多个局部E-R图。
消除各E-R图中的冲突和不一致是工作的重点和关键所在。
冲突主要有三类:
⑴属性冲突:
包括属性域冲突和属性取值单位冲突。
⑵命名冲突:
语义相同,命名不同;命名相同语义不同。
⑶模型冲突:
a.同一对象在不同的局部E-R模型中具有不同的抽象
b.同一实体在不同的局部E-R模型中所包含的属性个数和属性排列顺序不完全相同。
c.实体之间的联系在不同的局部E-R模型中具有不同的联系类型。
2.检查集成后的E-R模型图,消除模型中的冗余数据和冗余联系。
冗余表现:
在初步集成的E-R图中,可能存在可由其它别的所谓基本数据和基本联系导出的数据和联系。
(分析谢韵芝的“考试”)
冗余数据和冗余联系:
能够被导出的数据和联系。
危害:
容易破坏数据的完整性,给数据的操作带来困难和异常。
有意冗余:
适当的冗余能起到空间换时间的效果(如:
在工资管理中)(分析谢韵芝的“College”)
集成后的全局E-R模型如图9所示(省略了部分实体的属性)
5逻辑结构设计
目标:
全局E-R图转换成DBMS支持的数据模型(层次、网状、关系)。
选DBMS方法:
先选数据模型,再选支持该数据模型的DBMS。
选DBMS因素:
技术、经济、组织
逻辑结构设计三步:
①将概念结构转换为一般的关系、网状或层次模型。
②将转换来的关系、网状、层次模型向DBMS支持下的数据模型转换,变成合适的数据库模式。
③对模式进行调整和优化。
5.1E-R图向关系模型的转换
原则:
⑴一个实体型就转换成一个关系模式,实体名成为关系名,实体的属性成为关系的属性,实体的码就是关系的码。
如图9-9中:
图书(图书标识,出版社标识,评论,价格,出版日期,图书类别,书名)
⑵对于一对一的联系,可以将联系转换成一个独立的关系模式,也可以与联系的任意一端对应的关系模式合并。
⑶对于一对多的联系,可以将联系转换成一个独立的关系模式,也可以与“多”端对应的关系模式合并。
⑷对于多对多的联系,必须将其转换成一个独立的关系模式。
新关系模式的键为各实体的键的组合。
如:
编著关系(图书标识,作者标识,作者序号)
订购关系(图书标识,书店标识,订购日期,数量,订单号)
⑸对于三个或三个以上实体的多元联系可以转换成一个关系模式。
与该联系相连的各实体的键及联系本身的属性均转换成新关系的属性,新关系模式的键为各个实体的键的组合。
⑹自联系:
可按上述的一对一、一对多、多对多的情况分别加以处理(如职工中的领导和被领导关系)
⑺具有相同键的关系可以合并。
5.2关系模型向特定的RDBMS的转换
依赖于机器,没有一个通用的规则,转换的主要依据是所选定的DBMS的功能及限制
5.3逻辑模式的优化
优化是在性能预测的基础上进行的。
性能一般用三个(定性)指标来衡量:
●单位时间里所访问的逻辑记录个数的多少;
●单位时间里数据传送量的多少;
●系统占用的存储空间的多少。
采用关系规范化理论和关系分解方法作为优化设计的理论指导,方法:
⑴确定数据依赖。
⑵对各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。
⑶对各关系模式进行分析,考察是否存在部分依赖、传递依赖、多值依赖,确定范式。
在工程中3NF、BCNF应用得最广泛。
(分析黄银芳提交的设计)
⑷模式对于这样的应用环境是否合适,确定是否要对某些模式进行合并和分解。
现状:
现实世界并不总是依从于某一完美的数学化的关系模式
缺点:
系统进行连接运算,大量的I/O操作使得连接的代价相当高,造成低效率,但非BCNF模式存在更新异常和冗余。
原则:
需要权衡响应时间和潜在的问题的利弊
⑸必要的分解,提高数据操作的效率和存储空间的利用率(水平分解、垂直分解)
水平分解:
把关系的元组分成若干个子集合,定义每个集合为一个子关系。
垂直分解:
把关系模式的属性分解成若干个子集合,形成若干个子关系模式。
⑹有时为了减少重复数据所占的存储空间,可以采用假属性的办法(如代码化)。
5.4外模式的设计
外模式是用户看到的数据模式,各类用户有各自的外模式。
可以利用一部分基表再加上按需为用户定制的视图就构成了用户的外模式。
外模式给我们带来了以下便利:
⑴提供一定的逻辑数据独立性
⑵更好地适应不同用户对数据的需求
⑶有利于数据的保密
在设计用户外模式时,我们更注重用户的个别差异,如注重考虑用户的习惯和方便,包括:
⑴使用符合用户习惯的别名。
⑵针对不同级别的用户定义不同的外模式,以保证系统的安全性要求。
⑶简化用户对系统的使用
思考题:
1.什么是“物理结构设计”,“逻辑结构设计”?
2.怎样决定一个事物是作为“属性”还是作为“实体”对待?
并举例说明。
如果无太大的差别时,应按什么原则?
3.在将局部E-R图合并成全局E-R图时,应消除哪些冲突?
4.试述E-R图转换为关系模型的一般规则。
5.衡量数据库性能常用哪些指标?
试述关系模式的优化的理论基础及具体作法。
第三讲:
物理结构设计与数据库维护
课时:
2课时
教学课型:
理论课
教学目的要求:
了解数据库物理结构设计与数据库维护具体方法。
教学重点与教学难点:
物理结构设计的方法与原则
6物理结构设计
首先是确定数据库的物理结构,然后是对所设计的物理结构设计进行评价。
6.1数据库物理设计的内容与方法
关系数据库的物理模型的设计相对于其它模型是较为简单的。
为确定数据库的物理结构,必须了解下面的几个问题:
⑴了解给定的DBMS的功能和特点,特别是系统提供的存取方法和存储结构。
⑵熟悉系统的应用环境,了解所设计的应用系统中各部分的重要程度、处理频率及对响应时间的要求。
设计目标:
满足主要应用的性能要求。
对于数据库的查询事务,需要得到如下信息:
①查询的关系
②查询条件所涉及的属性
③连接条件所涉及的属性
④查询的投影属性
对于事务更新需要得到如下信息:
①被更新的关系
②每个关系上的更新操作条件所涉及的属性
③修改操作要改变的属性值
⑶了解外存设备的特性。
如分块原则、分块的大小、设备的I/O特性等,因为物理结构的设计要通过外存设备来实现。
通常对于关系数据库物理设计而言,物理设计的主要内容包括:
①为关系模式选取存取方法
②设计关系、索引等数据库文件的物理存储结构
6.2关系模式存取方法选择
在关系数据库中,选取存取路径主要是确定如何建立索引。
1.索引存取方法的选择面临的困难
——确定对关系的哪些属性列建立索引,哪些建立组合索引,哪些建立唯一索引等。
索引选择是数据库物理设计的基本问题之一,也是较为困难的:
⑴数据库中的各个关系表不是相互孤立的,要考虑相互之间的影响。
⑵在数据库中有多个关系表存在,在设计索引时不仅要考虑关系在单独参与操作时的代价,还要考虑它在参与连接操作时的代价。
⑶索引的解空间太大,即可能的索引组合情况太大。
⑷访问路径与DBMS的优化策略有关。
⑸设计目标比较复杂:
目标是要减少CPU的代价、I/O代价、存储代价
⑹代价的估算比较困难
在手工设计时,一般根据原则和需求说明来选择方案,在计算机辅助设计工具中,也是先根据一般的原则和需求确定索引选择范围,再用简化的代价比较法来选择所谓的最优方案。
2.普通索引的选取
选择索引的一般原则如下:
凡是满足下列条件之一,可以考虑建立在有关属性上索引:
⑴主键和外键上一般建立索引。
这样做的好处有:
①有利于主键唯一性的检查。
②有助于引用完整性约束检查。
③可以加快以主键和外键作为连接条件属性的连接操作。
⑵如果一个(或一组)属性经常在查询条件中出现。
⑶如果一个属性经常作为最大值和最小值等聚集函数的参数
⑷如果一个(或一组)属性经常在连接操作的连接条件中出现
⑸对于以读为主或只读的关系表,只要需要且存储空间允许,可以多建索引。
凡是满足下列条件之一的属性或表,不宜建立索引:
⑴不出现或很少出现在查询条件中的属性
⑵属性值可能取值的个数很少的属性。
⑶属性值分布严重不均的属性。
⑷经常更新的属性和表。
⑸属性的值过长。
⑹太小的表。
非聚簇索引需要大量的硬盘空间和内存,另外在提高查询速度的同时会降低向表中插入数据和更新数据的速度。
3.聚簇索引的选取
聚簇——把某个属性或属性组(称为聚簇码)上具有相同值的元组集中在一个物理块内或物理上相邻的区域内,以提高某些数据的访问速度。
聚簇索引可以大大提高按聚簇码进行查询的效率。
聚簇功能不但适用于单个关系,也适用于经常进行连接操作的多个关系,大大提高连接操作的效率。
一个关系中只能加入一个聚簇
建立聚簇索引原则:
⑴对经常在一起进行连接操作的关系可以建立聚簇。
⑵一个关系的一个(或一组)属性上的值重复率很高,则此关系可建立聚簇索引。
⑶一个关系的一组属性经常出现在相等比较条件中,则该单个关系可建立聚簇索引。
在建立聚簇后,应检查候选聚簇中的关系,取消其中不必要的关系:
①从聚簇中删除经常进行全表扫描的关系。
②从聚簇中删除更新操作远多于连接操作的关系。
③不同的聚簇中可能包含相同的关系,一个关系可以在某一个聚簇中,但不能同时在多个聚簇中。
注意:
聚簇只能提高某些应用的性能,而建立与维护聚簇的开销也是相当大的。
6.3确定系统的存储结构
确定数据的存放位置和存储结构要综合考虑存取:
时间、存储空间利用率和维护代价三个方面。
1.确定数据的存放位置
将数据的易变部分和稳定部分、经常存取部分和不经常存取的部分分开存放,可以放在不同的关系表中或放在不同的外存空间等。
应遵守以下原则:
⑴减少访问磁盘时的冲突,提高I/O的并行性
⑵分散热点数据,均衡I/O负载
⑶保证关键数据的快速访问,缓解系统的瓶颈
2.确定系统的配置参数
参数包括:
同时使用数据库用户的个数,同时打开数据库对象数,缓冲区大小和个数,物理块的大小,数据库的大小,数据增长率的设置等。
在系统运行时还要根据系统实际运行情况做进一步的调整,以期达到较佳的系统性能。
6.4评价物理结构
在物理设计中设计人员要考虑的因素很多,如时间和空间的效率、维护代价和各种用户的要求,在综合考虑的基础上会产生多种方案,在对这些方案进行认真细致评价的基础上,从中选取一个较优的方案作为数据库的物理结构。
评价物理数据库的方法完全依赖于所选定的DBMS,主要是从定量估算各种方案的存取时间、存储空间和维护代价着手,对估算的结果进行权衡和比较,从中选取一个较优的合理物理结构。
如果该系统不符合用户的需求,则需要修改设计。
7数据库的实施和维护
7.1数据库的实施
步骤:
1.定义数据库结构
2.数据的载入
数据入库操作步骤:
⑴筛选数据
⑵输入数据
⑶检验数据
3.应用程序的编码与调试
7.2数据库试运行
包括下列内容:
⑴功能测试
⑵性能测试
组织数据入库策略:
⑴要采取分批输入数据的方法
⑵首先调试好系统的转储和恢复功能并对数据库中的数据做好备份工作
7.3数据库的运行和维护
维护工作主要由DBA完成,具体内容:
1.日常维护
2.定期维护
3.故障维护
具体的作法是:
⑴建立日志文件,每当发生增、删、改时就自动将要处理的原始记录加载到日志文件中。
⑵建立复制副本用以恢复。
思考题:
1.物理结构设计的内容及其一般原则。
2.试述普通索引选择的一般原则。
哪些情况不宜建立索引?
3.试述聚簇索引选择的一般原则。
4.数据库维护工作主要包括哪些?
5.什么是数据库的再组织和重构造?
第四讲:
数据库应用的结构和开发环境ODBC
课时:
2课时
教学课型:
理论课
教学目的要求:
了解数据库物理结构设计与数据库维护具体方法。
教学重点与教学难点:
物理结构设计的方法与原则
8.1数据库应用模型
数据库应用程序按功能分成三个部分:
用户界面、事务逻辑、数据存储。
数据库应用模型就是指数据库应用系统中的界面表示层、数据存储层、业务处理层和网络通信之间的布局与分布关系。
应用体系结构模型:
1.单层应用模型
应用程序没有将用户界面、事务逻辑和数据存取分开。
2.两层应用模型
客户/服务器Client/Server模型,几种形式:
图10两层客户/服务器应用模型的三种形式
好处:
通过允许多用户同时存取相同的数据,来自一个用户的数据更新可以立即被连接到服务器上的所有用户访问。
缺点:
当客户端的数目增加时,服务器端的负载会逐渐加大,直到系统承受不了众多的客户请求而崩溃;任何改动都将是费钱、费时、费力的。
3.多层应用模型
图11三层客户/服务器模型
优点:
●客户端程序不能直接直接存取数据,从而为数据的安全性和完整性带来保障。
●应用系统的每一个部分都可以被单独修改而不会影响到另外两个部分
●各应用层并不一定要分布在网络上不同机器的物理位置上。
●为应用程序的生命周期带来诸多好处:
可复用性、适应性、易管理性、可维护性、可伸缩性。
●客户端应用程序更为小巧,一般管理费用降低,但通信量会大大增加。
三个部分:
⑴客户机
⑵服务器
⑶连接件,如:
开放的数据库连接ODBC、JDBC等。
客户/服务器结构模型技术特征:
①功能分离。
服务器是服务的提供者,客户机是服务的消费者。
②资源共享。
一个服务器可以同时为多个客户机提供服务。
③定位透明。
服务器可以驻留在与客户机相同或不同的处理器上,需要时,C/S平台可通过重新定向服务来掩盖服务器位置。
④服务封装。
客户机只需知道服务器接口,不必了解其逻辑。
⑤可扩展性。
支持水平和垂直扩展。
8.2数据库应用开发环境ODBC
1.ODBC编程接口概述
四个部分:
⑴应用程序(Application)
应用程序负责处理和调用ODBC函数。
其主要任务如下:
①连接数据库
②提交SQL语句给数据库
③检索结果并处理错误
④提交或回滚SQL语句的事务
⑤断开与数据库的连接
⑵驱动程序管理器(DriverManager)
⑶驱动程序
⑷数据源(DataSource)
程序开发者只要调用ODBCAPI和SQL语句,至于数据的底层操作则由不同类型的数据库的驱动程序来完成。
2.ODBC数据源的配置
⑴在控制面板中,“管理工具”“数据源(ODBC)”打开“ODBC数据源管理器”
图13ODBC数据源管理器
各选项卡的功能介绍如下:
①用户DSN显示当前登陆用户使用的数据源清单
②系统DSN显示可以由系统中全部用户使用的数据源清单
③文件DSN显示了允许连接到一个文件提供程序的数据源清单。
它们可以在所有安装了相同驱动程序的用户中被共享。
④驱动程序显示所有已经安装了的驱动程序。
⑤跟踪允许跟踪某个给定的ODBC驱动程序的所有活动,并记录到日志文件。
⑥连接池用来设置连接ODBC驱动程序的等待时间
⑦关于显示有关ODBC核心组件的信息。
⑵“系统DSN”“添加”“创建数据源”在“名称”列表框中选驱动程序,如SQLServer(这时创建SQLServer数据源)如图9-14。
图14“创建新数据源”对话框
⑶单击“完成”按钮,打开“建立新的数据源到SQLServer”对话框,如图9—15。
在名称文本框中填写数据源的名称如test,在“服务器”下拉列表中选要连接到的服务器。
图15“建立新的数据源到SQLServer”对话框
⑷单击“下一步”按钮,选择验证模式。
⑸单击“下一步”按钮,选择连接的默认数据库。
⑹单击“下一步”按钮,系统提示用户设置驱动程序使用的语言、字符集区域和日志文件等。
⑺单击“完成”,出现“ODBCMicrosoftSQLServer安装”,如图9—16,单击“测试数据源”按钮,测试数据源是否正确。
若显示测试成功的消息,单击确定按钮回到“ODBCMicrosoftSQLServer安装”对话框。
⑻单击“确定”按钮,即创建了一个系统数据源t
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 指导书