数据库设计报告Word下载.docx
- 文档编号:18811732
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:24
- 大小:571.97KB
数据库设计报告Word下载.docx
《数据库设计报告Word下载.docx》由会员分享,可在线阅读,更多相关《数据库设计报告Word下载.docx(24页珍藏版)》请在冰豆网上搜索。
(2)E-R建模方法:
采用以数据为中心的设计策略在初步了解领域当中各种业务需求和处理过程基础上
1.4数据库设计步骤
按照规范化设计方法,从数据库应用系统设计和开发的全过程来考虑,将数据库及其应用软件系统的生命周期可以细分为七个阶段:
规划、需求分析、概念结构设计、逻辑结构设计、物理结构设计、实施及运行维护。
各阶段需完成的工作分别为:
1、应用规划
规划阶段进行系统的必要性和可行性分析,确定数据库系统在整个管理系统中的地位。
规划阶段必须要完成的任务包括:
确定系统的范围;
确定开发工作所需的资源(人员、硬件和软件);
估算软件开发的成本;
确定项目进度。
规划阶段产生的结果是可行性分析报告及数据库规划纲要,内容包括信息范围、信息来源、人力资源、设备资源、软硬件环境、开发成本估算、进度计划、现行系统向新系统过渡计划等。
2、需求分析
这一阶段是计算机人员(系统分析员)和用户共同收集数据库所需要的信息内容和用户对处理的要求,加以规格化和分析,以书面形式确定下来,作为以后验证系统的依据。
在分析用户要求时,要确保用户目标的一致性。
信息需求:
指目标系统涉及的所有实体、属性、以及实体间的联系等,包括信息的内容和性质,以及由信息需求导出的数据需求。
处理需求:
指为得到需要的信息而对数据进行加工处理的要求,包括处理描述,发生的频度、响应时间以及安全保密要求等。
进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。
需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。
作为地基的需求分析是否做的充分于准确,决定了在其上构建数据库大厦的速度与质量。
需求分析做得不好,甚至会导致整个数据库设计返工重做。
3、概念设计
把用户的信息要求统一到一个整体逻辑结构中,此结构能表达用户的要求,且独立于任何DBMS软件和硬件。
概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
4、逻辑设计
逻辑结构设计分为两部分,即数据库结构设计和应用程序的设计。
从逻辑设计导出的数据库结构是DBMS能接受的数据库定义,这种结构有时也称为逻辑数据库结构。
逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。
5、物理设计
物理设计也分为两部分:
物理数据库结构的选择和逻辑设计中程序模块说明的精确化。
这一阶段的工作成果是一个完整的能实现的数据库结构。
数据库物理设计是为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
6、数据库的实施
根据物理设计的结果产生一个具体的数据库和它的应用程序,并把原始数据装入数据库。
实施阶段主要有三项工作:
(1)建立实际数据库结构;
(2)装入试验数据对应用程序进行调试;
(3)装入实据数据。
在数据库实施阶段,设计人员运用DBMS提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
7、运行维护
数据库系统的正式运行,标志着数据库设计与应用开发工作的结束和维护阶段的开始。
运行和维护阶段的主要任务有四项:
(1)维护数据库的安全性与完整性;
(2)监测并改善数据库运行性能;
(3)根据用户要求对数据库现有功能进行扩充;
(4)及时改正运行中发现的系统错误。
维护分为改正性维护,适应性维护,完善性维护和预防性维护。
数据库应用系统经过试运行后即可投入正式运行。
在数据库系统运行过程中必须不断地对其进行评价、调整与修改。
需要指出的是,这个设计步骤既是数据库设计的过程,也包括了数据库应用系统的设计过程。
在设计过程中把数据库的设计和对数据库中数据处理的设计紧密结合起来,将这两个方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计。
事实上,如果不了解应用环境对数据的处理要求,或没有考虑如何去实现这些处理要求,是不可能设计一个良好的数据库结构的。
如下图1-4-1
1.5课程设计任务
创建维护的数据库设计就是把所学原理,方法应用到数据库课程设计中去
本次课程设计任务,选择应用领域的数据库的设计经过需求分析,概念设计,逻辑设计,物理设计,数据库实现等阶段的训练,复习,巩固理论课的方法和技术,在数据库的设计应用中,经过初步的综合训练
第二章概念结构设计
引言:
本章采用E-R方法设计数据库的概念数据模型
初步了解应用领域的业务处理需求,注意分析提取各种业务所依赖的信息类型,区分信息类的性质即区分基本实体信息类和联系实体信息类和再生实体信息类。
本章注重基本实体信息类和联系实体信息类,用E-R图注明数据类型和数据关系,E-R图是概念设计的最终成果,是逻辑设计的依据,对数据库的影响很大
一般方法:
总结E-R方法,如何设计概念模型的一般方法
E-R方法是在初步业务处理调查的基础上分析提取出每个业务依赖的信息类
综合出各业务领域信息类的结合,消除重合,消除冲突
(1)对应用领域数据库概念模型设计方法的分析和对策
(2)分析对策:
当应用领域范围较大时,按照业务主题分别设计主题相关
子E-R图,当子E-R图正确后,通过E-R图的综合集成,消除冲突,重合,得到最终的E-R图。
1.E-R模型的基本元素
E-R模型的基本元素包括实体、联系和属性,图2-4显示了它们的图形符号。
图2-4E-R模型基本元素的图形符号
(1)实体:
在E-R图中用矩形表示,并将对实体的命名写于矩形中。
(2)属性:
在E-R图中用椭圆表示(对于多值属性用双椭圆表示),并将对属性的命名写于其中。
(3)联系:
用来标识实体之间的关系,在E-R图中用菱形表示,联系的名称置于菱形内。
需要说明的是,除了实体具有若干个属性外,有的联系也具有属性。
在E-R图中,除了上述三种基本的图形之外,还有将属性与相应的实体或联系连接起来以及将有关实体连接起来的无向边。
另外,在连接两个实体之间的无向边旁还要标注上联系的类型(1:
1,1:
n或m:
n)。
例如图2-5为表示部门和部门主任之间联系的E-R图。
图2-5部门和部门主任之间联系的E-R图
在E-R图中,加下划线的属性(或属性组)表示实体的码,如图2-5中,部门编号是部门实体的码,人员编号是部门主任实体的码。
例2.1现有图书管理的信息如下:
图书信息包括:
书号、书名、作者、出版社、所属类别、单价。
出版社信息包括:
社号、社名、地址、电话。
读者信息包括:
借书证号、姓名、性别、所属院系。
一个出版社可以出版多种书籍,但每本书只能在一个出版社出版,出版应有出版日期和责任编辑。
一个读者可以借阅多本图书,一本图书可以有多个人借阅。
借阅信息包括:
借书日期、还书日期。
根据以上信息,要求完成以下任务:
(1)确定实体及其包含属性,以及各实体的码。
(2)确定各实体之间的联系,并设计图书管理情况的E-R图。
解:
(1)本例包括图书、出版社、读者三个实体,其中图书实体包含书号、书名、作者、出版社、所属类别、单价6个属性,其中书号为码;
出版社实体包含社号、社名、地址、电话4个属性,其中社号为码;
读者实体包含借书证号、姓名、性别、所属院系4个属性,其中借书证号为码。
(2)出版社与图书两个实体之间为1:
n联系,联系名为出版,该联系含有出版日期和责任编辑两个属性;
读者与图书两个实体之间为m:
n联系,联系名为借阅,该联系含有借书日期、还书日期2个属性。
图书管理情况的E-R图如图2-6所示。
图2-6图书管理情况的E-R图
2.E-R模型的一些变换操作
用E-R模型方法进行数据库概念设计时,有时需要对E-R模型作一些变换操作。
(1)引入弱实体。
所谓弱实体,是指一个实体对于另一个(些)实体具有很强的依赖联系,而且该实体码的部分或全部从其父实体中获得。
在E-R模型中,弱实体用双线矩形框表示,与弱实体直接相关的联系用双线菱形框表示(如图2-7所示)。
在图2-7中,“教师简历”实体与“教师”实体具有很强的依赖联系,“教师简历”实体是依赖于“教师”实体而存在的,而且教师简历的码从教师中获得。
因此“教师简历”是“弱实体”。
图2-7“弱实体”示例
(2)多值属性的变换。
对于多值属性,如果在数据库的实施过程中不作任何处理,将会产生大量冗余数据,而且使用时有可能造成数据的不一致。
因此要对多值属性进行变换。
主要有两种变换方法,第一种变换方法是对多值属性进行分解,即把原来的多值属性分解成几个新的属性,并在原E-R图中用分解后的新属性替代原多值属性。
例如,对于“教师”实体,除了“姓名”、“性别”、“年龄”等单值属性外,还有多值属性“毕业院校”(如图2-8所示),变换时可将“毕业院校”分解为“本科毕业院校”、“硕士毕业院校”、“博士毕业院校”3个单值属性,变换后的E-R图如图2-9所示。
图2-8多值属性示例
图2-9多值属性的变换—分解示例
如果一个多值属性的值较多,在分解变换时可能会增加数据库的冗余量。
针对这种情况还可以采用另外一种方法进行变换:
增加一个弱实体,原多值属性的名变为弱实体名,其多个值转变为该弱实体的多个属性,增加的弱实体依赖于原实体而存在,并增加一个联系(如图2-10中的“教育经历”),且弱实体与原实体之间是1:
1联系。
变换后的E-R图如图2-10所示。
图2-10多值属性的变换—增加弱实体示例
(3)复合属性的变换。
对于复合属性可以用层次结构来表示。
例如“地址”作为公司实体的一个属性,它可以进一步分为多层子属性(如图2-11所示)。
复合属性不仅准确模拟现实世界的复合层次信息结构,而且当用户既需要把复合属性作为一个整体使用也需要单独使用各子属性时,属性的复合结构不仅十分必要,而且十分重要。
图2-11复合属性的变换示例
(4)分解变换。
如果实体的属性较多,可以对实体进行分解。
例如,对于雇员实体,拥有编号、姓名、性别、生日、部门号、职务、工资、奖金等属性(其E-R图如图2-12所示)。
可以把雇员的信息分解为两部分,一部分属于雇员的基本信息,一部分归为变动信息。
为了区别这两部分信息,此时会衍生出一个新的实体,并且新增加一个联系,分解后的E-R图如图2-13所示。
图2-12雇员实体E-R图
图2-13雇员实体分解后E-R图
3.用E-R模型方法进行数据库概念设计
利用E-R模型对数据库进行概念设计,可以分成三步进行:
第一步设计局部E-R模型,即逐一设计分E-R图,第二步把各局部E-R模型综合成一个全局E-R模型,第三步对全局E-R模型进行优化,得到最终的E-R模型,即概念模型。
(1)设计局部E-R模型。
局部概念模型设计可以以用户完成为主,也可以以数据库设计者完成为主。
如果是以用户为主,则局部结构的范围划分就可以依据用户进行自然划分,也就是以企业各个组织结构来划分,因为不同组织结构的用户对信息内容和处理的要求会有较大的不同,各部分用户信息需求的反应就是局部概念E-R模型。
如果以数据库设计者为主,则可以按照数据库提供的服务来划分局部结构的范围,每一类应用可以对应一类局部E-R模型。
确定了局部结构范围之后要定义实体和联系。
实体定义的任务就是从信息需求和局部范围定义出发,确定每一个实体类型的属性和码,确定用于刻画实体之间的联系。
局部实体的码必须唯一的确定其他属性,局部实体之间的联系要准确地描述局部应用领域中各对象之间的关系。
实体与联系确定下来后,局部结构中的其他语义信息大部分可用属性描述。
确定属性时要遵循两条原则:
第一,属性必须是不可分的,不能包含其他属性;
第二,虽然实体间可以有联系,但是属性与其他实体不能具有联系。
下面举一个设计局部E-R模型的例子。
例2.2设有如下运动队和运动会两个方面的实体集:
运动队方面:
运动队:
队编号、队名、教练名
运动员:
姓名、性别、项目
其中,一个运动队有多个运动员,一个运动员仅属于一个运动队,一个队一般有一个教练。
运动会方面:
编号、姓名、性别
项目:
项目名、比赛场地
其中,一个项目可由多个运动员参加,一个运动员可参加多个项目,一个项目在一个比赛场地进行。
要求:
分别设计运动队和运动会两个局部E-R图
运动队局部E-R图如图2-14所示,运动会局部E-R图如图2-15所示。
图2-14运动队局部E-R图
图2-15运动会局部E-R图
(2)集成全局E-R模型。
全局概念结构不仅要支持所有局部E-R模型,而且必须合理地表示一个完整、一致的数据库概念结构。
经过了第一个步骤,虽然所有局部E-R模型都已设计好,但是因为局部概念模式是由不同的设计者独立设计的,而且不同的局部概念模式的应用也不同,所以局部E-R模型之间可能存在很多冲突和重复,主要有属性冲突、结构冲突、命名冲突和约束冲突。
集成全局E-R模型的第一步就是要修改局部E-R模型,解决这些冲突。
•属性冲突。
属性冲突又包括属性域冲突和属性取值单位冲突。
属性域冲突主要指属性值的类型、取值范围或取值集合不同。
例如学号有的定义为字符型,有的定义为整型。
属性取值单位冲突主要指相同属性的度量单位不一致。
例如重量有的用公斤为单位,有的用克为单位。
•命名冲突。
主要指属性名,实体名,联系名之间的冲突。
主要有两类:
同名异义,即不同意义的对象具有相同的名字;
异名同义,即同一意义的对象具有不同的名字。
如例2.2中两个局部E-R图中对项目名这一相同对象具有不同的属性名。
解决以上两种冲突比较容易,只要通过讨论,协商一致即可。
•结构冲突。
结构冲突又包括两种情况:
一种是指同一对象在不同应用中具有不同的抽象,即不同的概念表示结构。
如在一个概念模式中被表示为实体,而在另一个模式中被表示为属性。
在例2.2中,项目在运动队概念模式中被表示为属性,而在运动会概念模式中被表示为实体。
解决这种冲突的方法通常是把属性变换为实体或把实体转换为属性,如何转换要具体问题具体分析。
另一种结构冲突是指同一实体在不同的局部E-R图中所包含的属性个数和属性的排列次序不完全相同。
如在例2.2中,运动员实体在运动队局部E-R图中所包含的属性个数与运动会局部E-R图中所包含的属性个数不同。
解决这种冲突的方法是让该实体的属性为各局部E-R图中的属性的并集。
•约束冲突。
主要指实体之间的联系在不同的局部E-R图中呈现不同的类型。
如在某一应用中被定义为多对多联系,而在另一应用中则被定义为一对多联系。
集成全局E-R模型的第二步是确定公共实体类型。
在集成为全局E-R模型之前,首先要确定各局部结构中的公共实体类型。
特别是当系统较大时,可能有很多局部模型,这些局部E-R模型是由不同的设计人员确定的,因而对同一现实世界的对象可能给予不同的描述。
在一个局部E-R模式中作为实体类型,在另外一个局部E-R模型中就可能被作为联系类型或属性。
即使都表示成实体类型,实体类型名和码也可能不同。
在选择时,首先寻找同名实体类型,将其作为公共实体类型的一类候选,其次需要相同键的实体类型,将其作为公共实体类型的另一类候选。
集成全局E-R模型的最后一步是合并局部E-R模型。
合并局部E-R模型有多种方法,常用的是二元阶梯合成法,该方法首先进行两两合并,先合并那些现实世界中联系较为紧密的局部结构,并且合并从公共实体类型开始,最后再加入独立的局部结构。
集成全局E-R模型的目标是使各个局部E-R模型合并成为能够被全系统中所有用户共同理解和接受的统一的概念模型。
例2.3将例2.2中的局部E-R图合并为一个全局E-R图。
合并时存在命名冲突和结构冲突。
命名冲突:
项目与项目名两个属性同义不同名,解决的办法是将它们统一命名为项目名。
结构冲突:
项目在两个局部E-R图中,一个作为属性,一个作为实体,解决的办法是消除运动员实体中的项目属性,转化为实体。
运动员实体在两个局部E-R图中所包含的属性个数不同,健也不同,解决的方法是让该实体的属性为两个局部E-R图中的属性的并集,即取4个属性,并将队员编号作为健。
合并后的E-R图如图2-16所示。
图2-16例2.2的两个局部E-R图合并后的全局E-R图
(3)优化全局E-R模型。
优化全局E-R模型有助于提高数据库系统的效率,可从以下几个方面考虑进行优化:
第一,合并相关实体,尽可能减少实体个数。
第二,消除冗余。
在合并后的E-R模型中,可能存在冗余属性与冗余联系。
这些冗余属性与冗余联系容易破坏数据库的完整性,增加存储空间,增加数据库的维护代价,除非因为特殊需要,一般要尽量消除。
例如在运动队和运动员实体中均包含队编号属性,可删除运动员实体中的队编号属性。
运动队与项目中的联系也可删除(优化后的E-R图如图2-17所示)。
消除冗余主要采用分析方法,以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系的说明来消除冗余。
此外,还可利用规范化理论中函数依赖的概念(详见第三章)来消除冗余。
需要说明的是,并不是所有的冗余属性与冗余联系都必须加以消除,有时为了提高效率,就要以冗余信息作为代价。
因此,在设计数据库概念结构时,哪些冗余信息必须消除,哪些冗余信息允许存在,需要根据用户的整体需求来确定。
图2-17优化后的全局E-R图
下面结合一个综合实例,说明利用E-R图对数据库进行概念设计的过程。
例2.4假设一学校管理系统具有人员管理、教师任课、教师科研、学生学习等四个子系统,各子系统涉及的实体如下:
(1)人员管理子系统具有以下实体:
院系:
属性有院系编号,院系名称,负责人,人数,办公室。
教研室:
属性有教研室号,教研室名,主任姓名,人数。
教师:
属性有教师号,姓名,性别,年龄,学历,工龄,职称,任职时间。
教师简历:
属性有起始时间,终止时间,工作单位,任职。
班级:
属性有班级号,专业,教室,班主任。
学生:
属性有学号,姓名,性别,年龄,联系电话。
每一院系包含多个教研室,每个教研室只属于一个院系;
每一院系包含多个班级,每个班级只属于一个院系;
每一教研室包含多个教师,每个教师只属于一个教研室;
每一班级包含多个学生,每个学生只属于一个班级;
每一教师有多条简历,每条简历只属于一个教师。
(2)教师任课子系统具有以下实体:
课程:
属性有课程编号,课程名,课程类别,总课时,学分。
属性有教师号,姓名,性别,职称。
每名教师可以教多门课程,每门课程可以由多名教师任教,任教包括课时和班级。
每学期同一班级每门课只有一名教师任教。
(3)教师科研子系统具有以下实体:
科研项目:
属性有项目编号,项目名称,项目来源,项目经费。
科研成果:
属性有项目编号,项目名称,完成时间,完成工作。
每名教师可以参加多项科研项目,可以积累多项科研成果;
每个项目可以有多名教师参加,教师参加科研工作包括担任工作。
(4)学生学习子系统具有以下实体:
属性有学号,姓名,班级。
每门课可以有多名学生学习,每个学生可以选多门课程,选课包括时间和成绩。
画出系统的E-R图。
(1)先画出各个子系统的局部E-R图。
如图2-18~2-23所示,其中各局部E-R图均省略了实体的属性。
图2-18人员管理子系统各实体的E-R图
图2-19人员管理子系统的局部E-R图
图2-20教师任课子系统的各实体的E-R图及其局部E-R图
图2-21教师科研子系统的各实体的E-R图
图2-22教师科研子系统的局部E-R图
图2-23学生学习子系统的各实体的E-R图及其局部E-R图
(2)合并局部E-R图。
首先解决以下几种冲突:
学生学习子系统中“课程”实体中的“总课时”属性、“学习”联系中的“学习时间”属性以及教师任课子系统中的“任课”联系中的“任课时间”同义不同名,解决的办法是将它们统一为“课时”。
“班级”在学生学习子系统的局部E-R图中作为属性,而在人员管理子系统的局部E-R图作为实体,解决的办法是消除学生学习子系统中“学生”实体中的“班级”属性,转化为实体。
“教师”、“学生”实体在不同的局部E-R图中所包含的属性个数不同,解决的方法是让该实体的属性为有关局部E-R图中的属性的并集。
解决完各种冲突后即可合并局部E-R图,合并后的E-R图如图2-24所示(省略了实体与联系的属性)。
图2-24优化后的全局E-R图
(3)优化全局E-R图。
例如学生学习子系统中“学习”联系的“学习时间”是冗余属性,应该消除。
第三章逻辑结构设计
本章根据概念结构设计的结果,设计关系模式,确定关系名,属性及键。
最后通过规范的技术对设计进行规范化,是每个设计模式都达到三范式,微物理结构设计提供数据结构的框架。
3.1E-R图如何转换为关系模型呢?
我们先看一个例子。
图2.1是学生和班级的E-R图,学生与班级构成多对一的联系。
根据实际应用,我们可以做出这个简单例子的关系模式:
学生(学号,姓名,班级)
班级(编号,名称)
“学生.班级”为外键,参照“班级.编号”取值。
这个例子我们是凭经验转换的,那么里面有什么规律呢?
在2.2节,我们将这些经验总结成一些规则,以供转换使用。
3.2转换规则
(1)一个实体型转换为一个关系模式
一般E-R图中的一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。
(2)一个1:
1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
图2.2是一个一对一联系的例子。
根据规则
(2),有三种转换方式。
(i)
联系单独作为一个关系模式
此时联系本身的属性,以及与该联系相连的实体的码均作为关系的属性,可以选择与该联系相连的任一实体的码属性作为该关系的码。
结果如下:
职工(工号,姓名)
产品(产品号,产品名)
负责(工号,产品号)
其中“负责”这个关系的码可以是工号,也可以是产品号。
(ii)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)