课 程 设 计 报 告
课程名称: 数 据 库 系 统 概 论 院系年级: 14级电气信息工程系 专业班级: 运算机科学与技术1班 学 号: 姓 名: 联系:
指导教师:
安徽 马鞍山 2016年6月
第一章 相关方式技术
1.1数据库应用特点
数据库技术是现代信息科学与技术的重要组成部份,是运算机数据处置与信息治理系统的核心。数据库技术研究和解决了运算机信息处置进程中大量数据有效地组织和存储的问题,在数据库系统中减少数据存储冗余、实现数据共享、保障数据平安和高效地检索数据和处置数据。随着运算机技术与网络通信技术的进展,数据库技术已成为信息社会中对大量数据进行组织与治理的重要技术手腕及软件技术,是网络信息化治理系统的基础。 1.2数据与处置 以处置为中心
依照处置功能设计数据文件,处置功能需要什么数据就创建什么数据文件。处置功能是主动的,数据结构是依托的。必将致使数据的冗余存储,潜在数据的不一致性。只适合科学计算,不适合数据密集型的事务处置系统。 以数据为中心
只要应用领域内的业务内容不变,其信息结构是稳固,多变的是处置功能。主张设计稳固的数据结构,自动适应处置程序的多变性。凡是数据库应用系统,适合采纳以数据为中心的应用模式。 1.3数据库设计方式 (1)功能驱动方式:
那个方式设计依托处置中心强调先依照功能要求画出分层的数据流程图从数据流程图当中搜集数据项及其数据存储和数据字典依据数字字典分析提掏出数据
库相关的各类信息类。 (2)E-R建模方式:
采纳以数据为中心的设计谋略在初步了解领域当中各类业务需求和处置进程基础上
1.4数据库设计步骤
依照标准化设计方式,从数据库应用系统设计和开发的全进程来考虑,将数据库及其应用软件系统的生命周期能够细分为七
个时期:计划、需求分析、概念结构设计、逻辑结构设计、物理结构设计、实施及运行保护。 各时期需完成的工作别离为:
一、应用计划
计划时期进行系统的必要性和可行性分析,确信数据库系统在整个治理系统中的地位。
计划时期必需要完成的任务包括:确信系统的范围;确信开发工作所需的资源(人员、硬件和软件);估算软件开发的本钱;确信项目进度。
计划时期产生的结果是可行性分析报告及数据库计划纲要,内容包括信息范围、信息来源、人力资源、设备资源、软硬件环境、开发本钱估算、进度打算、现行系统向新系统过渡打算等。
二、需求分析
这一时期是运算机人员 (系统分析员) 和用户一起搜集数据库所需要的信息内容和用户对处置的要求,加以规格化和分析,以书面形式确信下来,作为以后验证系统的依据。在分析用户要求时,要确保用户目标的一致性。
信息需求:指目标系统涉及的所有实体、属性、和实体间的联系等,包括信息的内容和性质,和由信息需求导出的数据需求。
处置需求:指为取得需要的信息而对数据进行加工处置的要求,包括处置描述,发生的频度、响应时刻和平安保密要求等。进行数据库设计第一必需准确了解与分析用户需求(包括数据与处置)。需求分析是整个设计进程的基础,是最困难、最花费时刻的一步。作为地基的需求分析是不是做的充分于准确,决定了在其上构建数据库大厦的速度与质量。需求分析做得不行,乃至会致使整个数据库设计返工重做。 3、概念设计
把用户的信息要求统一到一个整体逻辑结构中,此结构能表达用户的要求,且独立于任何DBMS软件和硬件。概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。 4、逻辑设计
逻辑结构设计分为两部份,即数据库结构设计和应用程序的设计。从逻辑设计导出的数据库结构是DBMS能同意的数据库概念,这种结构有时也称为逻辑数据库结构。
逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。
五、物理设计
物理设计也分为两部份:物理数据库结构的选择和逻辑设计中程序模块说明的精准化。这一时期的工作功效是一个完整的能实现的数据库结构。数据库物理设计是为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方式)。 六、数据库的实施
依照物理设计的结果产生一个具体的数据库和它的应用程序,并把原始数据装入数据库。实施时期要紧有三项工作: (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-4 E-R模型大体元素的图形符号
(1)实体:在E-R图顶用矩形表示,并将对实体的命名写于矩形中。
(2)属性:在E-R图顶用椭圆表示(关于多值属性用双椭圆表示),并将对属性的命名写于其中。
(3)联系:用来标识实体之间的关系,在E-R图顶用菱形表示,联系的名称置于菱形内。
需要说明的是,除实体具有假设干个属性外,有的联系也具有属性。
在E-R图中,除上述三种大体的图形之外,还有将属性与相应的实体或联系连接起来和将有关实体连接起来的无向边。另外,在连接两个实体之间的无向边旁还要标注上联系的类型(1:1,1:n或m:n)。例如图2-5为表示部门和部门主任之间联系的E-R图。
部门编号 名称 地址 人员编号 姓名 年龄
1 1 领导 部门主任
部门 图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所示。
社名 电话 地址 1 出版 责任 书号 n 书名 作者 出版社
社号 出版社
姓名 出单价 性别 所属院系 图书 n 所属类别 还书 借书 借
借书 读者 证号 m
图2-6 图书治理情形的E-R图
2.E-R模型的一些变换操作
用E-R模型方式进行数据库概念设计时,有时需要对E-R模型作一些变换操作。 (1)引入弱实体。所谓弱实体,是指一个实体关于另一个(些)实体具有很强的依托联系,而且该实体码的部份或全数从其父实体中取得。在E-R模型中,弱实体用双线矩形框表示,与弱实体直接相关的联系用双线菱形框表示(如图2-7所示)。在图2-7中,“教师简历”实体与“教师”实体具有很强的依托联系,“教师简历”实体是依托于“教师”实体而存在的,而且教师简历的码从教师中取得。因此“教师简历”是“弱实体”。
教师 1 经历 n 教师简历
图2-7 “弱实体”例如
(2)多值属性的变换。关于多值属性,若是在数据库的实施进程中不作任何处置,将会产生大量冗余数据,而且利历时有可能造成数据的不一致。因此要对多值属性进行变换。要紧有两种变换方式,第一种变换方式是对多值属性
进行分解,即把原先的多值属性分解成几个新的属性,并在原E-R图顶用分解后的新属性替代原多值属性。例如,关于“教师”实体,除“姓名”、“性别”、“年龄”等单值属性外,还有多值属性“毕业院校”(如图2-8所示),变换时可将“毕业院校”分解为“本科毕业院校”、“硕士毕业院校”、“博士毕业院校”3个单值属性,变换后的E-R图如图2-9所示。
图2-8多值属性例如
博士毕业院校 姓性年本科毕业院校 硕士毕业院校 姓性年毕业院教师 教师
图2-9多值属性的变换—分解例如
若是一个多值属性的值较多,在分解变换时可能会增加数据库的冗余量。针对这种情形还能够采纳另外一种方式进行变换:增加一个弱实体,原多值属性的名变成弱实体名,其多个值转变成该弱实体的多个属性,增加的弱实体依托于原实体而存在,并增加一个联系(如图2-10中的“教育经历”),且弱实体与原实体之间是1:1联系。变换后的E-R图如图2-10所示。
姓性年本科毕业院校 教育 教师 1 1 毕业院校 硕士毕业院校 博士毕业院校
图2-10多值属性的变换—增加弱实体例如
(3)复合属性的变换。
关于复合属性能够用层次结构来表示。例如“地址”作为公司实体的一个属性,它能够进一步分为多层子属性(如图2-11所示)。复合属性不仅准确模拟现实世界的复合层次信息结构,而且当用户既需要把复合属性作为一个整体利用也需要单独利用各子属性时,属性的复合结构不仅十分必要,而且十分重要。
邮编 省市区名 街门牌地址 路
图2-11 复合属性的变换例如
(4)分解变换。若是实体的属性较多,能够对实体进行分解。例如,关于雇员实体,拥有编号、姓名、性别、生日、部门号、职务、工资、奖金等属性(其E-R图如图2-12所示)。能够把雇员的信息分解为两部份,一部份属于雇员的大体信息,一部份归为变更信息。为了区别这两部份信息,现在会衍生出一个新的实体,而且新增加一个联系,分解后的E-R图如图2-13所示。
图2-12雇员实体E-R图
编号 雇员基本信息 姓名 性生部门职工奖编号 雇员 姓名 性生部门号 职工奖1 1 属于 雇员变动信息
图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所示。 队编号 队名 教练名 1 属于 姓名 m 性别 项目 运动队 运动员
图2-14 运动队局部E-R图
m 运动员 参加 队员编号 姓名 性别 场地 n 项目名 项目
图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所示。
队编号 队名 教练姓名 1 场地 n 参加 项目 m 属于 项目名 n 参加 运动员 m 队员编号 姓名 性别
运动队
m 图2-16 例2.2的两个局部E-R图归并后的全局E-R图
(3)优化全局E-R模型。优化全局E-R模型有助于提高数据库系统的效率,可从以下几个方面考虑进行优化:
第一,归并相关实体,尽可能减少实体个数。
第二,排除冗余。在归并后的E-R模型中,可能存在冗余属性与冗余联系。这些冗余属性与冗余联系容易破坏数据库的完整性,增加存储空间,增加数据库的保护代价,除非因为特殊需要,一样要尽可能排除。例如在运动队和运动员实体中均包括队编号属性,可删除运动员实体中的队编号属性。运动队与项目中的联系也可删除(优化后的E-R图如图2-17所示)。排除冗余要紧采纳分析方式,以数据字典和数据流图为依据,依照数据字典中关于数据项之间逻辑关系的说明来排除冗余。另外,还可利用标准化理论中函数依托的概念(详见第三章)来排除冗余。
需要说明的是,并非是所有的冗余属性与冗余联系都必需加以排除,有时为了提高效率,就要以冗余信息作为代价。因此,在设计数据库概念结构时,哪些冗余信息必需排除,哪些冗余信息许诺存在,需要依照用户的整体需求来确信。
队编号 队名 教练姓名 1 场地 m 属于 项目名 项目 n 参加 队员编号 姓名 运动员 m 性别 运动队
图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图
院系 1 包含 n 班级 1 所属 n 学生 1 构成 n 教研室 1 组成 n 教师简历 n 经历 1 教师
图2-19人员治理子系统的局部E-R图
教师 教师号 姓名 课程编号 类别课程 学分 总课时 职称 课程名 班级号 教师 m 任课 n 课程 任课时间 性别
图2-20教师任课子系统的各实体的E-R图及其局部E-R图
项目编号 项目名称 教师号 姓名 项目编号 项目名称
图2-21 教师科研子系统的各实体的E-R图
图2-22 教师科研子系统的局部E-R图
学号 姓名 课程编号 学生 类别课程 学分 班级 总课时 课程名 学生 n 成1 教师 m 承担任工作 n 科研项目 项目来源 教师 性别 职称 科研成果 完成时间 项目经费 完成工作 科研成果 科研项目 m 学习时间 学习 n 课程 成绩
图2-23学生学习子系统的各实体的E-R图及其局部E-R图
(2)归并局部E-R图。第一解决以下几种冲突:
命名冲突:学生学习子系统中“课程”实体中的“总课时”属性、“学习”联系中的“学习时刻”属性和教师任课子系统中的“任课”联系中的“任课时刻”同义不同名,解决的方法是将它们统一为“课时”。
结构冲突:“班级”在学生学习子系统的局部E-R图中作为属性,而在人员治理子系统的局部E-R图作为实体,解决的方法是排除学生学习子系统中“学生”实体中的“班级”属性,转化为实体。“教师”、“学生”实体在不同的局部E-R图中所包括的属性个数不同,解决的方式是让该实体的属性为有关局部E-R图中的属性的并集。
解决完各类冲突后即可归并局部E-R图,归并后的E-R图如图2-24所示(省略了实体与联系的属性)。
院系 1 包含 1 构成 n 教研室 1 组成 教师简历 n 经历 n 1 教师 m 1 科研项目 n 科 n 班级 1 所属 n 学生 n 选课 m m 任课 成n 科研成果 n 课程
图2-24 优化后的全局E-R图
(3)优化全局E-R图。例如学生学习子系统中“学习”联系的“学习时刻”是冗余属性,应该排除。
第三章 逻辑结构设计
引言:
本章依照概念结构设计的结果,设计关系模式,确信关系名,属性及键。最后通过标准的技术对设计进行标准化,是每一个设计模式都达到三范式,微物理结构设计提供数据结构的框架。
3.1 E-R图如何转换为关系模型呢?咱们先看一个例子。
图2.1是学生和班级的E-R图,学生与班级组成多对一的联系。依如实际应用,咱们能够做出那个简单例子的关系模式: 学生(学号,姓名,班级) 班级(编号,名称)
“学生.班级”为外键,参照“班级.编号”取值。
那个例子咱们是凭体会转换的,那么里面有什么规律呢?在2.2节,咱们将这些体会总结成一些规那么,以供转换利用。
3.2 转换规那么
(1) 一个实体型转换为一个关系模式
一样E-R图中的一个实体转换为一个关系模式,实体的属性确实是关系的属性,实体的码确实是关系的码。
(2) 一个1:1联系能够转换为一个独立的关系模式,也能够与任意一端对应的关系模式归并。
图2.2是一个一对一联系的例子。依照规那么(2),有三种转换方式。
(i)
联系单独作为一个关系模式
现在联系本身的属性,和与该联系相连的实体的码均作为关系的属性,能够选择与该联系相连的任一实体的码属性作为该关系的码。结果如下: 职工(工号,姓名) 产品(产品号,产品名) 负责(工号,产品号)
其中“负责”那个关系的码能够是工号,也能够是产品号。
(ii)
与职工端归并
职工(工号,姓名,产品号) 产品(产品号,产品名) 其中“职工.产品号”为外码。
(iii)
与产品端归并
职工(工号,姓名)
产品(产品号,产品名,负责人工号)
其中“产品.负责人工号”为外码。
(3) 一个1:n联系能够转换为一个独立的关系模式,也能够与n端对应的关系模式归并。
(i) 假设单独作为一个关系模式
现在该单独的关系模式的属性包括其自身的属性,和与该联系相连的实体的码。该关系的码为n端实体的主属性。 顾客(顾客号,姓名) 定单(定单号,……) 定货(顾客号,定单号) (ii) 与n端归并 顾客(顾客号,姓名) 定单(定单号,……,顾客号)
(4) 一个m:n联系能够转换为一个独立的关系模式。
该关系的属性包括联系自身的属性,和与联系相连的实体的属性。各实体的码组成关系码或关系码的一部份。 教师(教师号,姓名) 学生(学号,姓名) 教授(教师号,学号)
(5) 一个多元联系能够转换为一个独立的关系模式。
与该多元联系相连的各实体的码,和联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部份。 (6) 具有相同码的关系模式能够归并。
(7) 有些1:n的联系,将属性归并到n端后,该属性也作为主码的一部份
第四章 物理结构设计
引言:物理结构设计依据关系模式标准化了的关系模式集合,具体的为每一个关系模式确信是不是许诺空值等属性,而且,为关系模式概念完整性约束。
4.1物理模型确实是依照逻辑模型对应到具体的数据模型的机械实现。物理模型
是对真实数据库的描述。如关系数据库中的一些对象为表、视图、字段、数据类
型、长度、主键、外键、索引、约束、是不是可为空、默许值。
4.2
4.2物理模型截图
一、数据库名称 Book_Borrow 二、关系表
(1) Class(读者类别表)
列名 数据类型 长度 允许空 备注 lbdm lbmc kjyts kjysl cqfke 主键:lbdm (2) Reader(读者表)
列名 kh xm xb bm bkrq kzt lbdm 主键:kh 索引:xm(升序)
nvarchar nvarchar tinyint tinyint smallmoney 2 10 1 1 4 类别代码 类别名称 可借阅天数 可借阅数量 超期罚款额 数据类型 nvarchar nvarchar nchar nvarchar datetime char nvarchar 长度 20 16 1 30 8 1 2 允许空 备注 卡号 姓名 性别 部门 办卡日期 卡状态 类别代码 check约束:性别的取值只能为男或女 default约束:性别默以为男 (3) Book(图书表)
列名 sh sm zz 数据类型 nvarchar nvarchar nvarchar 长度 8 40 16 允许空 备注 书号 书名 作者 cbs jg kcsl 主键:sh 索引: ① sm(升序)
nvarchar smallmoney tinyint 20 4 1 出版社 价格 库存数量 ② cbs(升序)+zz(升序) (4) Borrow(借还表)
列名 kh sh jsrq hsrq 主键:kh+sh 3、参照完整性约束 (1) FK_Reader_Class
主键表:Class 外键表:Reader 主键:lbdm 外键:lbdm (2) FK_Borrow_Reader
主键表:Reader 外键表:Borrow 主键:kh 外键:kh (3) FK_Borrow_Book
主键表:Book 外键表:Borrow 主键:sh 外键:sh
数据类型 nvarchar nvarchar datetime datetime 长度 20 8 8 8 允许空 √ 备注 卡号 书号 借书日期 还书日期
第五章 数据库实施与保护
引言:本章在数据库存储设计以后采纳sqlanyever和PowerBuilder保护工具对数据库进行监控实施,而且搜集数据进行保护和测试,并验证。***数据库,概念结构设计,逻辑结构设计,物理结构设计,有效性及正确性,在本章中,整编的资料要紧有数据结构图,表结构概念图,和表中数据截图。
数据库实施与保护 采纳sql数据库,工具采纳PowerBuilder,SQL。
SQl数据库是一个移动型的小型数据库,通常在小型个人机上安装,也可在小型工作组效劳器上安装利用,它在数据库模式概念,数据类型,完整性约束,平安性支持,存储进程的支持等方面功能和支持程度和大型数据库功能相当。通过数据库的进一步实施,整编出数据结构图,表结构概念图,和表中样本数据截图。
移动数据库一样安装在移动设备和小型工作组效劳器,一样和信息中心的大型数据库配合利用,是永久性存储。
散布式应用途理的应用数据资料都会通过网络及时更新到大型数据库中 实施的散布式的共享大型数据库有一些比较特殊的应用,需要大量的初始数据,
PowerBuilder是数据库前端应用程序开发工具,他的数据库应用程度开发功能集成度较高,是属于面向对象的,可视化的应用程序开发工具类,其中,嵌入了功能壮大的数据库保护工具,从建库实施和完整性约束,平安操纵,存储进程都提供一体化的保护工具
(1) 数据结构关系截图
(2) 表结构概念截图
1) “学生大体信息”表
2) “课程”表
3) “成绩”表
4) “用户”表
六.做这次课程设计进程中,能够说“困难重重”,可是也学到很多东西。
在做的进程中,发觉最大的问题是VC和SQLServer连接有问题,为此重装了多次SQLServer。
通过不断地修改代码,通过上网查询显现问题警告的缘故和解决方法,最终成功连上了。尽管界面做的不是很完善,可是数据库设计得仍是很不错的,应该能知足BCNF。
通过这次课程设计,确实加深了对数据库的和与其他平台的兼容和和谐性的熟悉。在解决连接数据库问题的进程中,更是对自己数据库知识和VC水平的考验。
每一次挑战都会有收成,体会就在一次次的实验中积存着。
因篇幅问题不能全部显示,请点此查看更多更全内容