




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章数据库设计基础,4.1数据库系统的基本概念4.2数据的模型4.3关系代数4.4数据库设计与管理,4.1数据库系统的基本概念,4.1.1数据、数据库、数据库管理系统,1、数据,计算机中的数据分为,临时性数据,持久性数据,数据,类型(ype),值,整数15,数据模式:数据库中全体数据的逻辑结构和特征的描述,2、数据库(DB),数据的集合。它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集合,并可被各个应用程序所共享,3、数据库管理系统(DBMS),负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。,DBMS的功能,数据模式定义:为数据库构建数据框架,数据存取的物理构建:为数据模式的物理存取及构建提供有效的存取方法与手段,数据操纵:提供数据的查询、插入、修改以及删除功能,数据的完整性、安全性定义与检查,数据库的并发控制与故障恢复,数据的服务:如数据的拷贝、转存、重组、性能检测、分析等,为了完成以上6大功能,数据库管理系统提供了3种语言,数据定义语言(DDL):负责数据的模式定义与数据的物理构建,数据操纵语言(DML):负责数据的操纵,数据控制语言(DCL):负责数据完整性、安全性定义与检测及并发控制、故障恢复等,结构化查询语言(SQL):集DDL、DML、DCL于一体的数据库语言。,例如:Oracle、Mysql、SQLService,21,10,4、数据库管理员,由于数据库的共享性,因此对数据库的规划、设计、维护、监视、改善系统性能等需要专人管理,成他们为数据库管理员,5、数据库系统(DBS),组成,数据库,数据库管理系统,数据库管理员,系统平台,硬件平台,软件平台,6、数据库应用系统,组成,数据库系统,应用软件,应用界面,4.1.2数据库系统的发展,数据库发展至今经历了3个阶段:人工管理阶段、文件系统阶段、数据库系统阶段,人工管理阶段:数据不保存,没有对数据进行管理的软件系统,没有文件的概念,数据不具有独立性。软件只有汇编语言,尚无数据管理方面的软件,数据处理方式基本是批处理。,文件系统阶段:数据可以长期保存,由文件系统管理数据,文件的形式已经多样化,数据具有一定的独立性。,数据库系统阶段(层次数据库与网状数据库系统阶段到关系数据库系统阶段):提供了对数据更高级、更有效的管理。这个阶段的程序和数据的联系通过DBMS来实现.特点:采用复杂的结构化的数据模型,较高的数据独立性,最低的冗余度,数据控制功能。,1、数据库的集成性,数据库系统的基本特点,2、数据的高共享性与低冗余性,3、数据独立性,4、数据统一管理与控制,采用统一的数据结构方式,如二维表作为统一结构方式;数据库系统中的数据模式是多个应用共同的、全局的数据结构。,数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。,4.1.3数据库系统的基本特点,4.1.4数据库系统的内部结构体系,数据库系统在其内部具有三级模式及二级映射。,三级模式,概念级模式,内部级模式,外部级模式,二级映射,概念级到内部级的映射,外部级模式到概念级的映射,应用,外模式(用户数据库),外模式(用户数据库),外模式(用户数据库),应用,应用,概念模式(概念数据库),内模式(物理数据库),数据库,三级模式及二级映射关系图,概念级到内部级的映射,外部级模式到概念级的映射,应用,外模式(用户数据库),外模式(用户数据库),外模式(用户数据库),应用,应用,概念模式(概念数据库),内模式(物理数据库),数据库,三级模式及二级映射关系图,概念级到内部级的映射,外部级模式到概念级的映射,概念级模式:是数据库系统中全部数据逻辑结构的描述,是全体用户公共数据视图,内部级模式:它给出数据库物理存储结构与物理存取方法,外部级模式(用户模式):是用户所见到的数据模式。,用户数据,用户数据,用户数据,4.2数据的模型,数据模型是数据库中数据的存储方式,是数据库系统的基础,数据模型的包括以下三个类型:,1.概念数据模型,这是面向数据库用户的现实世界的数据模型,主要用来描述世界的概念化结构,它使数据库的设计人员在设计的初始阶段,摆脱计算机系统及数据库管理系统的具体技术问题,集中精力分析数据以及数据之间的联系等,与具体的数据库管理系统无关。概念数据模型必须换成逻辑数据模型,才能在数据库管理系统中实现。目前较为有名的概念模型有E-R模型、扩充的E-R模型等,2.逻辑数据模型,是具体的数据库管理系统所支持的数据模型,主要用于数据库管理系统的实现。大量被使用的逻辑模型有层次模型、网状模型、关系模型、面向对象模型等。,3.物理数据模型,描述数据在存储介质上的组织结构的数据模型,它不但与具体的数据库管理系统有关,而且还与操作系统和硬件有关。每一种逻辑数据模型在实现时都有与其相对应的物理数据模型。数据库管理系统为了保证其独立性与可移植性,将大部分物理数据模型的实现工作交由系统自动完成,而设计者只设计索引、聚集等特殊结构。,F,E,B,D,C,G,A,P,H,(a)二叉树,F,C,A,D,B,E,H,G,P,0,0,0,0,0,0,0,0,0,0,BT,4,6,9,8,5,2,11,13,1,(b)二叉链表的逻辑状态,存储序号,(c)二叉链表的物理状态,BT,例:第一章中,将二叉树存储在存储空间中,4.2.2E-R模型,属于概念模型,出发点是有效和自然地模拟现实世界,给出数据的概念化结构。,1、E-R模型的基本概念,(1)实体,是概念世界中的基本单位,它们是客观存在的且又能相互区别的事务。具有共性的实体可组成一个集合称为实体集。,例如:张三、李四,而他们都是学生,因此可以组成一个实体集。,(2)属性,刻画实体的特征,一个实体往往可以有若干个属性。如张三年龄18,李四年龄19。年龄即为他们的一个属性。一个属性的取值范围称为该属性的值域或值集。,(3)联系,现实世界中事物间的关联称为联系。实体集间的联系有多种:两个实体集间的联系、多个实体集间的联系、一个实体集内部的联系。如果是一对一的联系,之间的函数关系可以简记为1:1,一对多简记为1:M或M:1,多对多简记为M:N。,2、E-R模型的图形表示,E-R图中可以用不同的几何图形表示E-R模型中的三个概念以及之间的连接关系,(1)实体集的表示法,student,course,(2)属性表示法,S#,学号,Sn,Sa,姓名,年龄,学生,课程,(3)联系表示法,SC,(4)实体集与属性间的连接关系,student,S#,Sn,Sa,course,C#,Cn,P#,(5)实体集与联系间的连接关系,student,course,SC,student,S#,Sn,Sa,course,C#,Cn,P#,SC,SC,G,G,4.2.3层次模型,层次模型的基本结构是树形结构。,学校,院系,领导,领导,领导,部处,研究所,领导,领导,领导,领导,领导,领导,领导,领导,教研室,科研室,班,科,教师,研究人员,学生,工作人员,树形结构的特性:每课树有且仅有一个无双亲结点,称为根树中除根外所有结点有且仅有一个双亲。,4.2.4网状模型,网状模型是一个不加任何条件限制的无向图,特征:1.可以存在两个或者多个节点没有父节点;2.允许单个节点存在多于一个父节点;,专业,教研室,学生,课程,教师,选课,任课,以教务管理系统为例,下面说明了院系的组成中,教师、学生、课程之间的关系。,优点:网状数据模型可以很方便的表示现实世界中的很多复杂的关系;效率高,4.2.5关系模型,关系模型采用二维表来表示,简称表。关系型数据库是目前最流行的数据库,同时也是被普遍使用的数据库,如MySQL就是一种流行的数据库。,二维表由表的框架和表的元组组成。表的框架有n个命名的属性组成,表框架对应了关系的模式。在表框架中按行可以存放数据,每行数据称为元组,,二维表的7个性质:二维表中元组个数是有限的(元组个数有限性)二维表中元组均不相同(元组的唯一性)二维表中元组的次序可以任意交换(元组的次序无关性)二维表中元组的分量是不可分隔的基本数据项(元组分量的原子性)二维表中属性名各不相同(属性名唯一性)二维表中属性与次序无关,可以任意交换。(属性的次序无关性)二维表中属性的分量具有与该属性相同的值域(分量值域的同一性),关系模型的数据操作一般有查询、增加、删除和修改。,4.3关系代数,关系代数是一种抽象的查询语言,用对关系模型(二维表)的数据操作。,1、关系模型的四种操作:插入、删除、修改、查询,插入,R,R,RUR,删除,R,R,R-R,修改,R,R,R-R,查询,R,(R-R)UR,投影运算:投影操作用于从关系R中找出拥有某些属性的列,,Ai1,Ai2,Ai(),R,需要注意的是:当仅选出一列时,如果该列中存在相同的值,那么只会保留一个值,选择运算,选择操作用于选出满足条件的某些行,并且将整个操作记为F()。F被称作逻辑表达式。它由下面的规则组成:,它可以写成,形式,其中,是域(变量)或常量,但,又不能同为常量,是比较符,它可以使,叫基本逻辑条件,=,length100(R),R,有了投影运算和选择运算后,我们对一个关系内的任意行、列的数据都可以方便地找到。,由若干个基本逻辑条件运算,可以通过(并且)V(或者)(否)构成,称为复合逻辑条件。,笛卡儿积运算,对于两个关系的合并操作可以用笛卡儿积表示。假设有两个关系R和S,组合的结果中第一部分可以是R中的任意一行,第二部分可以是S中的任意一行。其表达式为RS,,R,S,RS,2、关系代数中扩充运算,为了操纵方便还增添一些运算,这些运算均可由基本运算导出。常用的扩充运算有交、除、连接及自然连接等,交运算,关系R与S经交运算后得到的关系是由那些既在R内又在S内的有序组所组成,记为RS,R,S,RS,RS=R-(R-S),R-S,除运算,RS=Ai1,Ai2,Ai()-Ai1,Ai2,Ai(Ai1,Ai2,Ai),设有关系R、S、S能被除的充分必要条件是:1、R中的域包含S中的所有属性2、R中有一些域不出现在S中,R,S,=Ai1,Ai2,Ai,=,R=R,=Ai1,Ai2,Ai(R),T=R-R,连接运算,连接运算R,S来表示,ij,ij,RS=ij(RS),R,S,例如,T1=RS,D=E,T2=RS,DE,RS,T1,T2,自然连接,在实际应用中最常用的连接是自然连接。它满足下面的条件:两关系间有公共域通过公共域的相等值进行连接,RS,R,S,T,关系代数虽然形式简单,但它足以表达对表的查询、插入、删除及修改等操作。,例子:建立一个学生选课的关系数据库,它由下面三个关系模式组成:,S,C,SC,1、检索学生所有情况:S,2、检索学生年龄大于等于20岁的学生姓名:,sn(sa20(S),3、检索预修课程号为10111的课程的课程号:,C#(p#=10111(C),4、检索课程号为1011,且成绩为86的所有学生姓名:,n(C#=1011G=86(),(SSC),SSC,4.4数据库设计与管理,4.4.1数据库设计概述,数据库设计:设计一个能满足用户要求,性能良好的数据库。,数据库的基本任务:根据用户对象的信息需求、处理需求和数据库的支持环境设计出数据模式。,数据库设计中的两种方法:以信息需求为主,兼顾处理需求,称为面向数据的方法以处理需求为主,兼顾信息需求,称为面向过程的方法,数据库设计目前一般采用生命周期法,即将整个数据库应用系统的开发分解成目标独立的若干阶段。,分别是:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段、进一步修改阶段。,数据库设计中采用上面几个阶段中前四个阶段,需求分析,概念设计,逻辑设计,物理设计,需求说明书,概念数据模型,逻辑数据模型,数据库内模式,DBMS模型,DBMS条件硬件、OS支持,4.4.2数据库设计的需求分析,需求分析的任务:通过详细调查现实世界要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。,新系统必须充分考虑今后可能扩充和改变,不能按当前应用需求来设计数据库。,通过调查,从中获取每个用户对数据库的要求:信息要求:用户需要从数据库中获取信息的内容和性质处理要求:用户要完成什么处理功能,对处理的响应时间有何要求等安全性和完整性要求,为了很好地完成调查的任务,设计人员必须不断地与用户交流,与用户达成共识,以便逐步确定用户的实际需求,然后分析和表达这些需求。,分析和表达用户的需求常采用结构化分析方法和面向对象的方法。结构化分析方法是:自顶向下、逐层分解的方式分析系统,3.2.2结构化分析方法,用数据流图表达数据和处理过程的关系,数据字典是对系统中数据的详尽描述,是各类数据属性的清单。对数据库来说,数据字典是进行详细的数据收集和数据分析所获得的主要结果。,需求分析过程中需要注意:、设计人员应充分考虑到可能的扩充和改变。、必须强调用户的参与。,4.4.3数据库概念设计,1、数据库概念设计概述,数据库概念设计的目的:分析数据间内在语义关联,在此基础上建立一个数据的抽象模型。,数据库概念设计方法,1、集中式模式设计法,2、视图集成设计法,根据需求有一个统一机构或人员设计一个综合的全局模式。使用与小型或并不复杂的单位或部门。,将一个单位分解成若干个部分,先对每个部分作局部模式设计,建立各个部分的视图,然后以各视图为基础进行集成。在集成过程中可能会出现一些冲突,需要修正。最终形成全局模式。适用于大型和复杂的单位。,2、数据库概念设计的过程,(1)选择局部应用,根据系统具体情况,在多层的数据流图中选择一个适当层次的数据流图,让这组图中每一个部分对应一个局部应用,以这一层次的数据流图为出发点,设计分E-R图,(2)视图设计,按照设计次序分为:,自顶向下,自底向上,由内向外,例子,(3)视图集成,视图集成的实质是将所有的局部视图统一与合并成一个完整的数据模式。在进行视图集成时,最重要的工作便是解决局部设计中的冲突。在集成过程中由于每个局部视图在设计时的不一致性,因而会产生矛盾,引起冲突。,常见的冲突有哪些?命名冲突:同名异义和同义异名;概念冲突:同一概念在一处为实体而在另一处为属性或联系域冲突:相同的属性在不同视图中有不同的域。约束冲突。,视图经过合并生成的是初步E-R图,其中可能存在冗余的数据和冗余的实体间联系。冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难。,因此还需要确保数据库概念结构必须满足以下条件:整体概念结构内部必须具有一致性,即不能存在互相矛盾的表达整体概念结构能准确地反映原本的每个视图结构,包括属性、实体及实体间的联系整体概念结构能满足需求分析阶段所需的所有要求整体概念结构最终还应该提交给用户,征求用户和有关人员的意见,进行评审、修改和优化,然后把它确定下来,作为数据库的概念结果,作为进一步设计数据库的依据。,例子,例4.6学生管理中学籍管理局部应用中主要涉及的实体包括学生、宿舍、档案材料、班级、班主任。这些实体之间的联系有:,一个宿舍可以住多个学生,一个学生只能住一个宿舍中,因此宿舍与学生之间是1:N的联系一个班有若干名学生,一个学生只能属于一个班级,因此班级与学生之间也是1:N的联系班主任与学生之间是1:N的联系学生和他自己的档案材料之间是1:1的联系班级与班主任之间都是1:1的联系,于是,省略了实体的属性后学籍管理如下:,班主任,班级,学生,宿舍,档案材料,教室,管理,指导,住宿,组成,归档,上课,对应各实体的属性分别为:学生:学号,姓名,出生日期,所在系,何时入学,平均成绩档案材料:档案号,班级:班级号,学生人数班主任:职工号,姓名,性别,是否为优秀班主任宿舍:宿舍编号,地址,人数教室:教室编号,地址,容量,1,1,1,1,1,1,1,M,N,N,N,N,学生学籍管理局部E-R图,例4.7学生管理中课程管理局部视图的设计:在这一视图中共有五个实体,分别是学生、课程、教室、教师及教科书,,对应实体的属性分别为:学生:学号,姓名,年龄,性别,入学时间课程:课程号,课程名,学时数选修:学号,课程号,成绩教科书:书号,书名,ISBN,作者,出版时间,关键词教室:教室编号,地址,容量,于是,省略了实体的属性后课程管理的E-R图如下:,教室,开设,课程,学生,教科书,教师,选修,讲授,教学,返回,N,N,N,N,M,M,1,1,1,学生课程管理局部E-R图,例4.8学籍管理局部视图与课程管理局部视图的集成。,根据上面提出的方法,基础过程按如下步骤进行:,(1)消除冲突两个子E-R图存在着多方面的冲突:班主任也属于教师,学籍管理中的班主任实体与课程管理中的教师属于异名同义,可以统一称为教师。将班主任改为教师后,教师与学生之间呈现两种不同类型的联系:指导联系和教学联系。由于指导联系实际上可以包含在教学联系之中,因此可以将这两种联系综合为教学联系。调整学生实体属性组成及次序,调整结果可为:学生:学号,姓名,出生日期,年龄,所在系,年级,平均成绩,(2)消除冗余学生实体中的年龄可以由出生日期推算出来,属于冗余数据。学生:学号,姓名,出生日期,所在系,年级,平均成绩教室实体与班级实体之间的上课联系可以由教室与课程之间的开设联系、课程与学生之间的选修联系、学生与班级之间的组成联系三者推到出来,因此属于冗余联系。学生实体中的平均成绩可以从选修联系中的成绩属性中推算出来。,教师,班级,学生,宿舍,档案材料,管理,教学,住宿,组成,归档,教室,开设,课程,教科书,选修,讲授,学生管理子系统的E-R图,4.4.4数据库的逻辑设计,1、从E-R图向关系模型转换,数据库的逻辑设计主要工作是将E-R图转换成指定RDBMS中的关系模式。,如何转换?,转换会遇到哪些问题?命名与属性域的处理关系模式中的命名可以用E-R图中原有命名,也可另行命名,但是应尽量避免重名,RDBMS一般只支持有限种数据类型,而E-R中的属性域则不受此限制,如出现有RDBMS不支持的数据类型时则要进行类型转化。(2)非原子属性处理E-R图中允许出现非原子属性,但在关系模式中一般不允许出现非原子属性,非原子属性主要有集合型和元组型。如出现此种情况时,可以进行转换,其转换办法是集合属性纵向展开而元组属性则横向展开。例子(3)联系的转换在一般情况下联系可以用关系表示,但是在有些情况下联系可归并到相关联的实体中。,关系数据库管理系统,2、逻辑模式规范化及调整、实现,(1)规范化关系数据库设计的关键是确定构造几个关系模式及每一模式各自包含的属性,将相互关联的模式组成合适的关系模型。如果设计不良的关系模式会有数据冗余,插入异常、删除异常及修改异常等问题。例子,解决问题的方法:是对关系通过分解进行规范化,其中进行分解的依据是关系属性之间的函数依赖。函数依赖:是一个属性集依赖于别的属性集,或一个属性集决定别的属性集。属性集Y依赖于属性集X记为XY。例如:例子中,学生所在系依赖于学号,即S#Sd,课程名依赖与课号,即C#Cn,规范化的目的:是关系结构更合理,消除存储异常,是数据冗余尽量小,便于插入、删除和更新等操作。,规范化的原则:遵从概念单一化一事一地原则,也就是一个关系模式描述一个实体或实体间的一种联系。,(2)RDBMS,对逻辑模式进行调整以满足RDBMS的性能、存储空间等要求,同时对模式做适应RDBMS限制条件的修改,包括:调整性能以减少连接运算调整关系大小,使每个关系数量保持在合理水平,从而可以提高存取效率尽量采用快照,因在应用中经常仅需某固定时刻的值,此时可用快照将某时刻值固定,并定期更换,此种方式可以显著提高查询速度,3、关系视图设计,关系视图是在关系模式基础上所设计的直接面向操作用户的视图,它可以根据用户需求随时创建。,关系视图的作用:提供数据逻辑独立性能适应用户对数据的不同需
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能网联汽车技术概论复习题及答案
- 焊缝大小头项目投资可行性研究分析报告(2024-2030版)
- 青少年眼健康指南
- 中国灌溉农业行业市场深度分析及行业发展趋势报告
- 药店服务培训课件
- 2024-2030年中国老婆饼行业市场发展监测及投资潜力预测报告
- 2025年 危险化学品生产单位安全生产考试练习题附答案
- 2025年 劳动关系协调员理论考试模拟练习题附答案
- 中国实验室安全柜行业发展监测及投资战略研究报告
- “十三五”规划重点-海洋波浪发电生产建设项目建议书(立项报告)
- 荆州中学2024-2025学年高二下学期6月月考历史试题答案
- 19S406建筑排水管道安装-塑料管道
- “强基计划”学科能力竞赛训练物理试题(一)
- 医院胃镜室设备清单
- 隧道施工队伍管理模式课件
- 服装生产管理的真题与答案
- 食品安全承诺书
- 武汉理工大学船舶建造工艺学期末考试试卷试题二
- 动力电池电气元器件选型报告
- 人教小学英语四年级下册单词表
- 精选小学数学教师招聘与进城考试试题(10套)
评论
0/150
提交评论