《数据库理论》ppt课件_第1页
《数据库理论》ppt课件_第2页
《数据库理论》ppt课件_第3页
《数据库理论》ppt课件_第4页
《数据库理论》ppt课件_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第2章章 数据库设计实践及方法数据库设计实践及方法 2.1 数据库设计的实践根据数据库设计的实践根据n如何评价一个数据库设计得能否合理?如何评价一个数据库设计得能否合理?n人们总结出衡量数据库的实践规范人们总结出衡量数据库的实践规范就是关系数就是关系数据库的规范化实践,它也是指点数据库设计的实践据库的规范化实践,它也是指点数据库设计的实践根据。根据。 n数据库设计完后,就得到关系方式的集合,为了评数据库设计完后,就得到关系方式的集合,为了评价一个关系方式集合的优劣,经常运用范式价一个关系方式集合的优劣,经常运用范式Normal Form来进展描画。来进展描画。n可以把范式了解为符合某一种级别

2、规范的关系方式可以把范式了解为符合某一种级别规范的关系方式的集合。目前专家们提出了第一范式到第五范式的的集合。目前专家们提出了第一范式到第五范式的概念,本章只讨论前三个范式及第三范式的改良方概念,本章只讨论前三个范式及第三范式的改良方式式BCNFBoyce Codd Normal Form范式。范式。n用用R(U,F)来描画一个关系,其中:来描画一个关系,其中:nR:关系名;:关系名;nU:关系中一切属性的集合;:关系中一切属性的集合;nF:关系中一切函数依赖的集合。:关系中一切函数依赖的集合。n函数依赖:如由学号能独一确定一个学生的姓函数依赖:如由学号能独一确定一个学生的姓名,那么称名,那么

3、称“学号决议学号决议“姓名姓名 ,也称:,也称: “姓姓名函数依赖于名函数依赖于“学号学号 。记作:学号。记作:学号姓名,姓名,即学号是决议要素。即学号是决议要素。第一范式第一范式n所谓第一范式所谓第一范式(1NF):是指关系数据表的:是指关系数据表的每一属性列都是不可分割的根本数据项每一属性列都是不可分割的根本数据项,同一列不能有多个含义。同一列不能有多个含义。n1NF是关系数据库的根本规那么,不满足是关系数据库的根本规那么,不满足1NF的要求,就不能称其为关系数据库。的要求,就不能称其为关系数据库。n第一范式表达了以下三个意思:第一范式表达了以下三个意思:n(1) 一个表中不能存在两个含义

4、反复的属性。一个表中不能存在两个含义反复的属性。n如:员工信息表中有员工编号、义务证编号及如:员工信息表中有员工编号、义务证编号及其它属性,而员工编号、义务证编号都是独一其它属性,而员工编号、义务证编号都是独一区分员工记录的属性,且取值一样,保管一个区分员工记录的属性,且取值一样,保管一个即可。即可。n(2)一个表中的一列不能是其他列计算的结果。n例:商品信息表中的n最高售价=建议售价 +浮动价钱n因此保管每条记录的最高售价,显然会呵斥数据冗余,应去掉。商品商品编号编号商品商品名称名称产地产地建议建议售价售价浮动浮动价格价格最高最高售价售价n(3)一个表中某一列的取值不能有多个含义。一个表中某

5、一列的取值不能有多个含义。n例商品信息表中,例商品信息表中,“建议售价只能代表一个建议售价只能代表一个币种的价钱,不可以既表示人民币价钱又表示币种的价钱,不可以既表示人民币价钱又表示美圆价钱。美圆价钱。n假设一定要标出两个币种的价钱,可以将假设一定要标出两个币种的价钱,可以将“建建议售价分解为两列:议售价分解为两列:“人民币售价和人民币售价和“美圆美圆售价。售价。第二范式第二范式(2NF):n第二范式第二范式:是指非主属性完全函数依赖于主码是指非主属性完全函数依赖于主码主键的属性组。主键的属性组。 n2NF是在是在1NF的根底上制定的,即设计数据库的根底上制定的,即设计数据库时,在思索第二范式

6、的规定时首先要满足第一时,在思索第二范式的规定时首先要满足第一范式的要求。范式的要求。例如例如n关系方式关系方式 S-L-C(学号学号,课程号课程号,系系,住处住处,成果成果),并且每个,并且每个系的学生住在同一个地方,即系决议住处。系的学生住在同一个地方,即系决议住处。n这里主码为这里主码为(学号学号,课程号课程号)。关系方式的函数依赖如下:。关系方式的函数依赖如下:n(学号学号,课程号课程号) 成果成果,表示成果完全函数依赖于表示成果完全函数依赖于(学号学号,课课程号程号) ,即,即(学号学号,课程号课程号)完全决议成果。完全决议成果。n学号学号系,系, 表示学号决议系,即系函数依赖于学号

7、;表示学号决议系,即系函数依赖于学号; n(学号学号,课程号课程号)系,表示系部分函数依赖于主码系,表示系部分函数依赖于主码(学号学号,课程号课程号);n学号学号住处,表示学号决议住处住处,表示学号决议住处n(学号学号,课程号课程号) 住处,住处, 表示住处部分函数依赖于主码表示住处部分函数依赖于主码(学号学号,课程号课程号)n可见非主属性系、住处并不完全函数依赖于码。因此可见非主属性系、住处并不完全函数依赖于码。因此S-L-C(学号学号,系系,课程号课程号,住处住处,成果成果) 不符合不符合2NF定义,即定义,即S-L-C不属于不属于2NF 。 fpp一个关系方式不属于一个关系方式不属于2N

8、F,就会产生以下几个问题:,就会产生以下几个问题:n插入异常。假假设要插入一个学生记录:学号插入异常。假假设要插入一个学生记录:学号=0403030430,系,系=IS,住处,住处=L2,但该生还未选课,即这个学生无课程号值,但该生还未选课,即这个学生无课程号值,这样的元组就插不进这样的元组就插不进S-L-C中。由于插入元组记录时必需给中。由于插入元组记录时必需给定主码值,而这时主码值的部分为空主属性为空,因此学生定主码值,而这时主码值的部分为空主属性为空,因此学生的根本信息无法插入。的根本信息无法插入。n删除异常。假定某个学生只选一门课,如删除异常。假定某个学生只选一门课,如04030304

9、30就选了一门就选了一门课课c01。如今就连。如今就连c01这门课他也不选了,那么这门课他也不选了,那么c01这个数据项就这个数据项就要删除。而要删除。而c01是主属性,删除了是主属性,删除了c01,整个元组就必需跟着删除,整个元组就必需跟着删除,使得使得0403030430的其他信息也被删除了,从而呵斥删除异常,即的其他信息也被删除了,从而呵斥删除异常,即不应删除的信息也删除了。不应删除的信息也删除了。n数据冗余度大。如某学生选数据冗余度大。如某学生选10门课,那么其系和住处信息要反复门课,那么其系和住处信息要反复存储存储10次。次。n修正复杂。某个学生从数学系转到计算机科学系,这本来只需修

10、修正复杂。某个学生从数学系转到计算机科学系,这本来只需修正此学生元组中的系分量。但由于关系方式正此学生元组中的系分量。但由于关系方式S-L-C中还含有学生中还含有学生的住处属性,学生转系同时还将改动住处,因此还必需修正元组的住处属性,学生转系同时还将改动住处,因此还必需修正元组中的住处分量。另外,假设这个学生选修了中的住处分量。另外,假设这个学生选修了k门课,系和住处反门课,系和住处反复存储了复存储了k次,不仅存储冗余度大,而且必需修正次,不仅存储冗余度大,而且必需修正k个元组中全部个元组中全部系和住处信息,呵斥修正的复杂化。系和住处信息,呵斥修正的复杂化。n可见由于系,住处,对主码不是完全函

11、数依赖可见由于系,住处,对主码不是完全函数依赖,会出现以上问题。处置的方法是将关系方式会出现以上问题。处置的方法是将关系方式S-L-C分解为以下两个关系方式:分解为以下两个关系方式:nSC(学号,课程号,成果学号,课程号,成果)nS-L(学号,系,住处学号,系,住处)n这样就使得非主属性对主码都是完全函数依赖这样就使得非主属性对主码都是完全函数依赖了。符合了。符合2NF。成果成果学号学号课程号课程号图2.2 SC中的函数依赖学号学号系系住处住处图2.3 S-L中的函数依赖第三范式第三范式(3NF):n第三范式:指非主属性不传送函数依赖于码第三范式:指非主属性不传送函数依赖于码, 即非即非主属性

12、都直接函数依赖于码。主属性都直接函数依赖于码。n3NF是在是在2NF的根底上制定的,假设要满足第三范的根底上制定的,假设要满足第三范式,必需先满足第二范式。式,必需先满足第二范式。n例,图例,图2.3中关系方式中关系方式S-L存在非主属性对主码传送存在非主属性对主码传送函数依赖:函数依赖:n学号学号系系n系系住处住处n学号学号住处住处n不符合不符合3NF。不符合不符合3NF也会产生以下几个问题:也会产生以下几个问题:插入异常:如某系刚成立,当前还没有学生插入异常:如某系刚成立,当前还没有学生(无学无学号值号值),也就无法插入该系的信息。,也就无法插入该系的信息。删除异常:假设某系的学生全部毕业

13、了,在删除删除异常:假设某系的学生全部毕业了,在删除学生信息时,也删除了系的信息。学生信息时,也删除了系的信息。数据冗余大:每个学生都住在同一楼。住处信息数据冗余大:每个学生都住在同一楼。住处信息反复出现。反复出现。 修正复杂:当学校调整学生宿舍时,一个系的学修正复杂:当学校调整学生宿舍时,一个系的学生都迁到另一个楼,由于每个系的学生住处信生都迁到另一个楼,由于每个系的学生住处信息反复存储,修正时要反复修正。息反复存储,修正时要反复修正。SC(学号,课程号,成果学号,课程号,成果)S-L(学号,系,住处学号,系,住处)处置方法:处置方法:n将关系将关系 S-L(学号,系,住处学号,系,住处)分

14、解为以下两个分解为以下两个关系:关系:nS-D(学号,系学号,系)nD-L(系,住处系,住处)n分解后的关系方式分解后的关系方式S-D与与D-L都属于都属于3NF。n同时每个决议要素都是候选码,所以同时每个决议要素都是候选码,所以S-D与与D-L也属于也属于BCNF。BCNF比比3NF更进了一步。更进了一步。n在在3NF的根底上的根底上,消去一切部分函数依赖,包括消去一切部分函数依赖,包括主属性对不包含它的候选码的部分函数依赖主属性对不包含它的候选码的部分函数依赖, 就属于就属于BCNF.n关系规范化的过程就是将一个非规范化关系或低级关系规范化的过程就是将一个非规范化关系或低级范式关系分解为多

15、个高级范式关系的过程。范式关系分解为多个高级范式关系的过程。n任何一个非规范的关系都可以经过分解到达任何一个非规范的关系都可以经过分解到达3NF,但不一定能到达但不一定能到达BCNF。关系分解通常可以遵照图。关系分解通常可以遵照图2.4所示过程。所示过程。非规范化关系非规范化关系1NF2NF3NFBCNF把组合属性分解为不可再分的属性把组合属性分解为不可再分的属性消去非主属性对主码的部分函数依赖消去非主属性对主码的部分函数依赖消去非主属性对主码的传送函数依赖消去非主属性对主码的传送函数依赖消去一切部分函数依赖,包括主属性消去一切部分函数依赖,包括主属性对不包含它的候选码的部分函数依赖对不包含它

16、的候选码的部分函数依赖图2.4 关系分解过程2.2 数据库设计方法数据库设计方法n数据库的设计大约分如下几步进展:数据库的设计大约分如下几步进展:n规划阶段:系统调查、可行性分析、制定工程规划阶段:系统调查、可行性分析、制定工程开发方案开发方案n需求分析:计算机人员系统分析员和用户需求分析:计算机人员系统分析员和用户双方共同搜集数据库所需求的信息内容和用户双方共同搜集数据库所需求的信息内容和用户对处置的需求。并以需求阐明书的方式确定下对处置的需求。并以需求阐明书的方式确定下来,作为以后系统开发和系统验证的根据。来,作为以后系统开发和系统验证的根据。n概念构造设计概念构造设计n逻辑构造设计逻辑构

17、造设计n物理构造设计物理构造设计n数据库的实现数据库的实现n数据库的运转和维护数据库的运转和维护 2.2.1 规划阶段规划阶段n对于数据库系统,特别是大型数据库系统或大型信息对于数据库系统,特别是大型数据库系统或大型信息系统中的数据库群,规划阶段是非常必要的。规划的系统中的数据库群,规划阶段是非常必要的。规划的好坏将直接影响到整个系统的胜利与否。好坏将直接影响到整个系统的胜利与否。n普通分以下三步:普通分以下三步:n1系统调查。对企业组织进展全面的调查,画出系统调查。对企业组织进展全面的调查,画出组织层次图,以了解企业的组织机构。组织层次图,以了解企业的组织机构。n2可行性分析。从经济、效益和

18、法律等方面对建可行性分析。从经济、效益和法律等方面对建立数据库的可行性进展分析;然后写出可行性分析报立数据库的可行性进展分析;然后写出可行性分析报告;组织专家进展讨论其可行性。告;组织专家进展讨论其可行性。n3确定数据库系统的总目的和制定工程开发方案。确定数据库系统的总目的和制定工程开发方案。在得到决策部门赞同后,就正式进入数据库系统的开在得到决策部门赞同后,就正式进入数据库系统的开发义务。发义务。2.2.2 需求分析需求分析n数据库的性能是由用户决议的,所以充分了解用户需数据库的性能是由用户决议的,所以充分了解用户需求是完成数据库设计的关键。求是完成数据库设计的关键。n计算机人员系统分析员和

19、用户双方共同搜集数据计算机人员系统分析员和用户双方共同搜集数据库所需求的信息内容和用户对处置的需求。并以需求库所需求的信息内容和用户对处置的需求。并以需求阐明书的方式确定下来,作为以后系统开发和系统验阐明书的方式确定下来,作为以后系统开发和系统验证的根据。证的根据。n需求义务可分以下四步完成:需求义务可分以下四步完成:n分析用户活动,产生分析用户活动,产生 用户活动图用户活动图n确定系统范围,产生确定系统范围,产生 系统关联图系统关联图 n分析用户活动所涉及的数据,产生分析用户活动所涉及的数据,产生 数据流图数据流图n分析系统数据产生分析系统数据产生 数据字典数据字典n下面经过一个简单的教学管

20、理系统来阐明这四个步骤下面经过一个简单的教学管理系统来阐明这四个步骤应完成的功能。应完成的功能。例例2-1 学校教学管理信息系统要完成如下功能学校教学管理信息系统要完成如下功能n1教师聘课、教师聘课、 2学生选课学生选课n1 分析用户活动,产生业务流程图分析用户活动,产生业务流程图n假设系统比较复杂,可以从了解用户日常义务假设系统比较复杂,可以从了解用户日常义务流程入手,经过座谈会、与职员共同义务、设流程入手,经过座谈会、与职员共同义务、设计调查询卷、查阅历史业务记录等途径来搞清计调查询卷、查阅历史业务记录等途径来搞清业务的处置过程。在分析之后画出业务的处置过程。在分析之后画出“用户活动用户活

21、动图。以以下图是该学校的教学业务活动图。图。以以下图是该学校的教学业务活动图。任课任课选课选课聘课聘课选课选课打印课程表打印课程表打印聘书打印聘书交给教师交给教师交给学生交给学生任课恳求任课恳求选课恳求选课恳求2 确定系统范围,产生系统关联图确定系统范围,产生系统关联图n这一步是确定系统的边境,即确定用计算机处这一步是确定系统的边境,即确定用计算机处置的范围。置的范围。n在和用户经过充分协商的根底上确定计算机所在和用户经过充分协商的根底上确定计算机所能进展的数据处置的范围,确定哪些义务由人能进展的数据处置的范围,确定哪些义务由人工完成,哪些义务由计算机系统完成,即确定工完成,哪些义务由计算机系

22、统完成,即确定人机界面。人机界面。n图中虚线框内的部分属于系统范围,而框外部图中虚线框内的部分属于系统范围,而框外部分由人工处置。分由人工处置。任课任课选课选课聘课聘课选课选课打印课程表打印课程表打印聘书打印聘书交给教师交给教师交给学生交给学生任课恳求任课恳求选课恳求选课恳求3 分析用户活动涉及的数据,产生数据流图分析用户活动涉及的数据,产生数据流图n深化分析用户的业务处置,以数据流图方式表深化分析用户的业务处置,以数据流图方式表示出数据的流向和对数据所进展的加工。示出数据的流向和对数据所进展的加工。n数据流图数据流图Data Flow Diagram,简记为简记为DFDn是从是从“数据和数据

23、和“对数据的加工两方面表达数对数据的加工两方面表达数据处置系统义务过程的一种图形表示法,具有据处置系统义务过程的一种图形表示法,具有直观、易于被用户和软件人员双方都能了解的直观、易于被用户和软件人员双方都能了解的一种表达系统功能的描画方式。一种表达系统功能的描画方式。n数据流图由四部分组成:数据流、加工、文件、数据流图由四部分组成:数据流、加工、文件、源点和终点。源点和终点。数据流图的组成:数据流图的组成:n(1)数据流:表示流动着的数据,它可以是一项数据,也数据流:表示流动着的数据,它可以是一项数据,也可以是一组数据,也可以是表示数据文件的存储操作。数可以是一组数据,也可以是表示数据文件的存

24、储操作。数据流图通常用箭头表示,在它上方标明数据流的称号。据流图通常用箭头表示,在它上方标明数据流的称号。n(2)加工又称功能处置:用圆形来表示处置逻辑,圆形内加工又称功能处置:用圆形来表示处置逻辑,圆形内部填写处置的称号部填写处置的称号(如任课、选课等如任课、选课等 )。n(3)文件:用一条横线表示,旁边注明文件名或内容。文件:用一条横线表示,旁边注明文件名或内容。n(4)源头和终点源头和终点: 用矩形表示,表示数据流的开场和终了用矩形表示,表示数据流的开场和终了可以省略。可以省略。n以下是一个简单的数据流图以下是一个简单的数据流图SP1P2EF1F2D1D2D3n数据流图的每个部分都要命名

25、以便区分。上图是一数据流图的每个部分都要命名以便区分。上图是一个简单的数据流图个简单的数据流图,其含义是数据流其含义是数据流D1从始点从始点S流出,流出,经过经过P1加工处置变成数据流加工处置变成数据流D2,P1加工时要调用加工时要调用文件文件F1中的内容,数据流中的内容,数据流D2再经过再经过P2加工处置,加工处置,加工处置时要把部分结果存放到文件加工处置时要把部分结果存放到文件F2中,同时产中,同时产生数据流生数据流D3,数据流,数据流D3流往终点流往终点E。 n如前面讨论的学校教学管理,最初的数据流图可表示成图如前面讨论的学校教学管理,最初的数据流图可表示成图2-7的样子。教学信息管理系

26、统教师学生教师学生任课恳求选的样子。教学信息管理系统教师学生教师学生任课恳求选课恳求聘书课程表图课恳求聘书课程表图2-7学校教学管理系统的最初数据流图学校教学管理系统的最初数据流图教 学 信教 学 信息 管 理息 管 理系统系统教师教师学生学生教师教师学生学生任课恳求任课恳求选课恳求选课恳求聘书聘书课程表课程表图图2-7 学校教学管理系统的最初数据流图学校教学管理系统的最初数据流图教师提出任课恳求,经教学信息管理系统处置后,构成聘教师提出任课恳求,经教学信息管理系统处置后,构成聘书交给教师。书交给教师。学生提出选课恳求后,经教学信息管理系统处置后,构成学生提出选课恳求后,经教学信息管理系统处置

27、后,构成课程表交给学生。课程表交给学生。逐渐细化:在图逐渐细化:在图2-7根底上,详细画出的系统内部各数据根底上,详细画出的系统内部各数据流图分别如图流图分别如图2-8、图、图2-9所示。所示。任课任课打印打印任课恳求任课恳求任课数据任课数据聘书聘书教 师 根教 师 根本信息本信息图图2-8 任课恳求数据流图任课恳求数据流图选课选课打印打印选课恳求选课恳求选课数据选课数据课程表课程表学 生 根学 生 根本信息本信息图图2-9 选课恳求数据流图选课恳求数据流图当教师提出任课恳求当教师提出任课恳求后,系统作任课处置后,系统作任课处置时要用到教师文件的时要用到教师文件的信息,然后产生任课信息,然后产

28、生任课数据,经打印处置后数据,经打印处置后构成聘书。构成聘书。当学生提出选课恳求后当学生提出选课恳求后,系统作选课处置时要,系统作选课处置时要用到学生的信息,然后用到学生的信息,然后产生选课数据,经打印产生选课数据,经打印处置后构成课程表。处置后构成课程表。4 分析系统数据,产生数据字典分析系统数据,产生数据字典n设计者必需对数据流图中的每个数据流名、文设计者必需对数据流图中的每个数据流名、文件名、加工名都要给出详细定义,并用一个条件名、加工名都要给出详细定义,并用一个条目来描画,描画后的产物就是目来描画,描画后的产物就是“数据字典。数据字典。n数据字典和数据流图共同构成系统阐明书。数据字典和

29、数据流图共同构成系统阐明书。n数据流的描画:也就是定义数据流的组成,每数据流的描画:也就是定义数据流的组成,每个数据流通常包括假设干个数据项。下面是对个数据流通常包括假设干个数据项。下面是对图图2-8中的几个数据流的描画:中的几个数据流的描画:n任课恳求任课恳求=教师号教师号+教师姓名教师姓名+课程号课程号+课程称号课程称号+总学时总学时+班级数班级数n聘书聘书=教师姓名教师姓名+课程称号课程称号+上课时间上课时间+上课地点上课地点n文件的描画n教师=教师编号+姓名+性别+年龄+系名n数据项的描画n是指对数据项进展定义,普通包括对数据项的称号、类型、长度、取值范围进展定义。如对“学生文件中的数

30、据项,可按表2-8进展描画。n 表2-8 对学生数据项的描画数据项名数据项名类型类型长度(字节)长度(字节)取值范围取值范围学号学号字符字符1010姓名姓名字符字符1010性别性别字符字符2 2“男男”或或“女女”年龄年龄正整数正整数4 415153535系名系名字符字符2020n加工的描画:加工的描画:n用来对实现加工的处置过程进展描画和定义,包括过程名、用来对实现加工的处置过程进展描画和定义,包括过程名、过程阐明、输入输出和过程功能阐明等。如对学生选课处过程阐明、输入输出和过程功能阐明等。如对学生选课处置过程描画如下:置过程描画如下:n过程称号:选课。过程称号:选课。n过程阐明:主要阐明该

31、处置过程的功能及处置要求。过程阐明:主要阐明该处置过程的功能及处置要求。n 例如:学生根据本人的需求选课。例如:学生根据本人的需求选课。n输入:执行该处置过程需求输入的数据。输入:执行该处置过程需求输入的数据。n 例如:选课恳求例如:选课恳求 和和 学生根本信息。学生根本信息。n输出:执行该处置过程后输出的数据。输出:执行该处置过程后输出的数据。n 例如:课程表。例如:课程表。n至此,需求分析阶段曾经完成,曾经得到了由至此,需求分析阶段曾经完成,曾经得到了由“数据流图数据流图和和“数据字典组成的数据字典组成的“系统阐明书,根本上处置了做系统阐明书,根本上处置了做什么的问题,在下一阶段将处置什么

32、的问题,在下一阶段将处置“怎样做的问题。怎样做的问题。2.2.3 概念构造设计概念构造设计E-R模型模型n1. E-R图的组成要素及其画法图的组成要素及其画法nE-R图有三个根本要素:实体、联络、属性图有三个根本要素:实体、联络、属性n其表示方法如下:其表示方法如下:实体名实体名属性名属性名联络名联络名E-R图的画法:图的画法:把相互有联络的实体把相互有联络的实体(矩形矩形)经过联络经过联络(菱形菱形)衔接起衔接起来,再把实体的属性来,再把实体的属性(椭圆框椭圆框)连到实体上。连到实体上。2. 实体间不同联络情况的实体间不同联络情况的E-R图图n根据数据的复杂程度不同,实体间的联络根本有以根据

33、数据的复杂程度不同,实体间的联络根本有以下三种:下三种:n一对一一对一(1 : 1)、一对多、一对多(1 : n)、多对多、多对多(n : m)n例例1 两个实体集之间的一对一两个实体集之间的一对一(1 : 1)联络的绘制联络的绘制n 设某学院有假设干个教研室,每个教研室只需一设某学院有假设干个教研室,每个教研室只需一个主任,那么主任和教研室之间就是一对一的关系。个主任,那么主任和教研室之间就是一对一的关系。主任和教研室的属性分别如下:主任和教研室的属性分别如下:n主任:编号、姓名、年龄、学历主任:编号、姓名、年龄、学历n教研室:教研室编号、教研室名教研室:教研室编号、教研室名n主任和教研室之

34、间的联络是主任和教研室之间的联络是“管理关系,这个管理关系,这个“管管理用一个属性理用一个属性“任职时间来描画任职时间来描画描画主任和教研室之间的信息关系的描画主任和教研室之间的信息关系的E-R图:图:主任主任教研室教研室管理管理编号编号姓名姓名年龄年龄学历学历教研室编号教研室编号教研室名教研室名任职时间任职时间11例例2 两个实体集之间的一对多的联络的绘制两个实体集之间的一对多的联络的绘制n假设某仓库管理系统中,有两个实体集:仓库、假设某仓库管理系统中,有两个实体集:仓库、商品,且规定一类商品只能存放在一个仓库中,商品,且规定一类商品只能存放在一个仓库中,每个仓库可以存放多种商品。每个仓库可

35、以存放多种商品。n仓库和商品之间是一对多的联络。仓库和商品之间是一对多的联络。n属性如下属性如下n仓库:仓库号、地点、面积仓库:仓库号、地点、面积n商品:商品号、商品名、价钱商品:商品号、商品名、价钱n两实体间是两实体间是“存放的联络存放的联络,并反映存放商品的并反映存放商品的数量。数量。描画仓库和商品之间的信息关系的描画仓库和商品之间的信息关系的E-R图:图:仓库仓库商品商品存放存放仓库号仓库号地点地点面积面积商品号商品号商品名商品名数量数量1n价钱价钱例例3. 两个实体集之间的多对多的联络的绘制两个实体集之间的多对多的联络的绘制n设某教务管理系统中,一个教师可以讲述多门设某教务管理系统中,

36、一个教师可以讲述多门课,一门课可以有多个教师讲授,那么教师和课,一门课可以有多个教师讲授,那么教师和课程之间是多对多的联络。课程之间是多对多的联络。n教师和课程两实体属性如下:教师和课程两实体属性如下:n教师:教师编号、教师姓名、职称教师:教师编号、教师姓名、职称n课程:课程编号、课程名、学分课程:课程编号、课程名、学分n两实体间是两实体间是“讲授的联络讲授的联络,另外在另外在“讲授联讲授联络中,要反映授课质量。络中,要反映授课质量。描画教师和课程之间的信息关系的描画教师和课程之间的信息关系的E-R图:图:教师教师课程课程讲授讲授教师编号教师编号教师姓名教师姓名职称职称课程号课程号课程名课程名

37、质量质量mn学分学分n假照实体的属性太多,那么可以将实体及其属性单假照实体的属性太多,那么可以将实体及其属性单独画图,在独画图,在E-R图中只画实体及其联络。图中只画实体及其联络。n如例如例3可以这样画:可以这样画:教师教师教师编号教师编号教师姓名教师姓名职称职称课程课程课程编号课程编号课程名课程名学时学时教师教师课程课程讲授讲授质量质量mn(a)实体属性图实体属性图(b) E-R 图图E-R图的设计方法图的设计方法n设计设计E-R图普通经过以下两个阶段:图普通经过以下两个阶段:n1画出每一用户的部分画出每一用户的部分E-R图,确定该图,确定该用户的实体、属性和联络。用户的实体、属性和联络。n

38、2综合部分综合部分E-R图,生成总体图,生成总体E-R图。在图。在总体总体E-R图中,同名的实体只能出现一次。图中,同名的实体只能出现一次。n留意:一个系统留意:一个系统E-R图不是独一的,强调不图不是独一的,强调不同的侧面画出的同的侧面画出的E-R图可以有很大不同。图可以有很大不同。n1 部分部分E-R模型的设计模型的设计n根据数据流图和数据字典的相关内容,确定根据数据流图和数据字典的相关内容,确定实体,及其属性、实体之间的联络。实体,及其属性、实体之间的联络。n例例2-2 设计教学信息管理系统的部分设计教学信息管理系统的部分E-R图。图。 如图如图2-10至图至图2-13所示。所示。教师教

39、师教师号教师号教师姓名教师姓名姓别姓别职称职称号码号码图图2-11 教师实体及其属性教师实体及其属性学生学生学号学号姓名姓名姓别姓别年龄年龄系名系名图图2-10 学生实体及其属性学生实体及其属性课程课程课程号课程号课程名课程名先修课号先修课号学分学分图图2-13 教师任课的部分教师任课的部分E-R图图任课任课教师教师课程课程授课类别授课类别班数班数mn学期学期学生学生课程课程选修选修成果成果mn图图2-12 学生选修课程的部分学生选修课程的部分E-R图图2 总体总体E-R模型的设计模型的设计n综合部分综合部分E-R图,生成总体图,生成总体E-R图。在总体图。在总体E-R图中,同名的实体只能出现

40、一次。图中,同名的实体只能出现一次。n例例2-3 将上例的部分将上例的部分E-R图图2-12、2-13,合并,合并成总体成总体E-R图。图。选修选修学生学生课程课程mn教师教师任课任课pq图图2-14 总体总体E-R图图2.2.4 逻辑构造设计逻辑构造设计逻辑构造设计的本质是把逻辑构造设计的本质是把E-R图转换为详细的图转换为详细的DBMS支持的数据模型支持的数据模型关系模型。关系模型。把把E-R图转换为关系模型的方法,通常分为初步设图转换为关系模型的方法,通常分为初步设计和优化设计两步进展。计和优化设计两步进展。初步设计初步设计根据转换规那么,把根据转换规那么,把E-R图转换为关图转换为关系

41、模型系模型优化设计优化设计对方式进展调整和改善对方式进展调整和改善1 E-R图转换为关系模型遵照的普通规那么图转换为关系模型遵照的普通规那么(1)对于对于E-R图的每个实体集转换为一个关系模型图的每个实体集转换为一个关系模型(对对应一个表应一个表),其中包括实体的一切属性,并确定,其中包括实体的一切属性,并确定某个属性或几个属性组作为主码主键。某个属性或几个属性组作为主码主键。(2)对各种对各种“联络进展转换的规那么:联络进展转换的规那么:n对于对于E-R图中的图中的 “联络,要根据不同的联络方式,采取不联络,要根据不同的联络方式,采取不同的手段加以实现。同的手段加以实现。n多对多多对多(m

42、: n)联络的转换联络的转换n对于这种联络,必需对对于这种联络,必需对“联络单独建立一个关系表,联络单独建立一个关系表,用来联络双方实体集,该关系中要包含双方实体集的主码,用来联络双方实体集,该关系中要包含双方实体集的主码,假设假设“联络本身有属性,也要纳入该关系中。而该关系的联络本身有属性,也要纳入该关系中。而该关系的主码为各实体主码的组合。主码为各实体主码的组合。 n例例2-4 将图将图2-12转换成关系方式转换成关系方式n学生学号,姓名,性别,年龄,系,学生学号,姓名,性别,年龄,系, 主码是学号。主码是学号。n课程课程号,课程称号,先修课号,学分,主码是课课程课程号,课程称号,先修课号

43、,学分,主码是课程号。程号。n 将将m:n(多对多多对多)的联络转换为独立的关系方式:的联络转换为独立的关系方式:n选修学号,课程号,成果,主码是学生实体的主码选修学号,课程号,成果,主码是学生实体的主码学号和课程实体的主码课程号的组合。学号和课程实体的主码课程号的组合。n一对多一对多(1 : n)联络的转换:联络的转换:n方法方法1:可将:可将“1方实体集的主码,纳入方实体集的主码,纳入“n方实方实体集关系体集关系(表表)中作为外码,同时把中作为外码,同时把“联络的属性也联络的属性也一并纳入一并纳入“n方关系中。方关系中。n方法方法2:对:对“联络单独建立一个关系,该关系中要联络单独建立一个

44、关系,该关系中要包含双方实体集的主码,假设包含双方实体集的主码,假设“联络有属性,也联络有属性,也要纳入该关系中。主码是要纳入该关系中。主码是n端实体的主码端实体的主码.n对例对例2的仓库与商品的的仓库与商品的E-R图图1 : nn方法方法1:可转换为以下两个关系方式:可转换为以下两个关系方式(带下划线的红带下划线的红色属性表示主码,兰色表示外码色属性表示主码,兰色表示外码):n仓库仓库号、地点、面积仓库仓库号、地点、面积n商品商品号、商品名、价钱、数量、仓库号商品商品号、商品名、价钱、数量、仓库号外码外码联络的属性联络的属性n方法方法2:将:将“存放联络转换为一个独立的关系存放联络转换为一个

45、独立的关系方式方式 n仓库仓库号、地点、面积仓库仓库号、地点、面积n商品商品号、商品名、价钱商品商品号、商品名、价钱n存放商品号、仓库号、数量存放商品号、仓库号、数量,主码是主码是n端实端实体的码,即商品号。体的码,即商品号。 一对一一对一(1 : 1)联络的转换有三种方法:联络的转换有三种方法:n方法方法1. n建立第三个关系,关系中包含两个实体集的主建立第三个关系,关系中包含两个实体集的主码,假设联络有属性,也一并参与。码,假设联络有属性,也一并参与。n方法方法2. n把把B实体集的主码参与到实体集的主码参与到A实体集对应的关系实体集对应的关系中,假设联络有属性,也一并参与。中,假设联络有

46、属性,也一并参与。n方法方法3.n把把A实体集的主码参与到实体集的主码参与到B实体集对应的关系实体集对应的关系中,假设联络有属性,也一并参与。中,假设联络有属性,也一并参与。例例2-6 将图将图2-16转换成关系方式。转换成关系方式。n方法方法1、 “任职联络转换为一个独立的关系方式:任职联络转换为一个独立的关系方式:n班长班长学号,姓名,性别,年龄,系班长班长学号,姓名,性别,年龄,系n班级班号,人数班级班号,人数n任职班长学号,班号,任职时间任职班长学号,班号,任职时间 主码是班长学号主码是班长学号或班号。或班号。n方法方法2、将、将“班级关系中的主码及联络的属性纳入班级关系中的主码及联络

47、的属性纳入“班长的关系方式中:班长的关系方式中:n班长班长学号,姓名,性别,年龄,系,班号,任班长班长学号,姓名,性别,年龄,系,班号,任职时间,职时间, 主码是班长学号。主码是班长学号。n班级班号,人数,主码是班号。班级班号,人数,主码是班号。班长班长班级班级11图图2-16 班长任职班长任职E-R图图任职时间任职时间任职任职n方法方法3、将、将“班长关系中的主码及联络的属性班长关系中的主码及联络的属性纳入纳入“班级的关系方式中:班级的关系方式中: n班长班长学号,姓名,性别,年龄,系,班长班长学号,姓名,性别,年龄,系, 主码是学号。主码是学号。n班级班号,人数,班长学号,任职时间,班级班

48、号,人数,班长学号,任职时间,主码是班号。主码是班号。多元联络的转换:多元联络的转换:n三个或三个以上实体间的多元联络可以转换为三个或三个以上实体间的多元联络可以转换为一个单独的关系方式。与该多元联络相连的各一个单独的关系方式。与该多元联络相连的各实体的主码以及联络本身的属性均转换为此关实体的主码以及联络本身的属性均转换为此关系的属性,而此关系的主码为各实体码的组合。系的属性,而此关系的主码为各实体码的组合。n例例2-7 将图将图2-17 转换成关系方式转换成关系方式售货员售货员顾客顾客商品商品销售销售mnp图图2-17 售货员、顾客和商品三个实体之间销售联络售货员、顾客和商品三个实体之间销售

49、联络E-R图图销售量销售量n各实体的属性如下:各实体的属性如下:n售货员:售货员编号、姓名、性别、年龄、工龄售货员:售货员编号、姓名、性别、年龄、工龄n顾客顾客 :顾客编号、顾客称号、住址、:顾客编号、顾客称号、住址、n商品商品 :商品编号、商品称号、价钱、进货时间:商品编号、商品称号、价钱、进货时间n转换以后的关系方式如下:转换以后的关系方式如下:n售货员售货员编号,姓名,性别,年龄,工龄售货员售货员编号,姓名,性别,年龄,工龄n顾客顾客编号、顾客称号、住址、顾客顾客编号、顾客称号、住址、n商品商品编号、商品称号、价钱、进货时间。商品商品编号、商品称号、价钱、进货时间。n销售售货员编号,顾客

50、编号,商品编号,销售销售售货员编号,顾客编号,商品编号,销售量,主码为:售货员编号,顾客编号,商品编号量,主码为:售货员编号,顾客编号,商品编号这三个属性的组合。这三个属性的组合。例例2-8. 将图将图2-14的全局的全局E-R图转换为关系模型。图转换为关系模型。n根据上述规那么,转换的方法如下:根据上述规那么,转换的方法如下:n(1) 将实体转换为独立的关系方式:将实体转换为独立的关系方式:n学生学号,姓名,性别,年龄,系学生学号,姓名,性别,年龄,系n教师教师号,性名,性别,职称,号码教师教师号,性名,性别,职称,号码n课程课程号,课程称号,学时,学分课程课程号,课程称号,学时,学分n(2

51、) 将多对多联络转换为独立的关系方式:将多对多联络转换为独立的关系方式:n选修学号,课程号,成果,主码是学号,课选修学号,课程号,成果,主码是学号,课程号两个属性的组合。程号两个属性的组合。n任课教师号,课程号,学期,授课类别,班数任课教师号,课程号,学期,授课类别,班数主码是教师号,课程号,学期三个属性的组合。主码是教师号,课程号,学期三个属性的组合。n 每个关系模型就对应一个表了每个关系模型就对应一个表了2 优化优化n所谓优化,就是从提高效率的角度出发,根据所谓优化,就是从提高效率的角度出发,根据详细情况,对方式构造作进一步伐整和改善详细情况,对方式构造作进一步伐整和改善.n普通用三方面目

52、的来衡量:普通用三方面目的来衡量:n单位时间内所访问的逻辑记录个数要少;单位时间内所访问的逻辑记录个数要少;n单位时间内数据传送量要少;单位时间内数据传送量要少;n系统占用的存储空间尽量要少。系统占用的存储空间尽量要少。n虽然可以经过计算,对性能进展预测,但是实虽然可以经过计算,对性能进展预测,但是实意图义不一定很大,通常采取定性判别方法,意图义不一定很大,通常采取定性判别方法,估计不同设计方案的性能优劣。估计不同设计方案的性能优劣。n最常用的优化方法就是经过对记录进展垂直或最常用的优化方法就是经过对记录进展垂直或程度分解,改善性能。下面举例阐明。程度分解,改善性能。下面举例阐明。n例例2-9

53、 要查询学生信息时,经常对在校生进展查询,要查询学生信息时,经常对在校生进展查询,但有时也查询离校生的相关信息,为改善性能,使但有时也查询离校生的相关信息,为改善性能,使得单位时间内访问逻辑记录的个数尽量少,请给出得单位时间内访问逻辑记录的个数尽量少,请给出一个分解方法。一个分解方法。n原来的学生的关系为:原来的学生的关系为:n学生学号,姓名,性别,年龄,系学生学号,姓名,性别,年龄,系n可对其进展程度分解,使其成为两个关系,一个关可对其进展程度分解,使其成为两个关系,一个关系用来存放在校生的信息,另一个关系用来存放离系用来存放在校生的信息,另一个关系用来存放离校生的信息,如下:校生的信息,如

54、下:n在校学生学号,姓名,性别,年龄,系在校学生学号,姓名,性别,年龄,系n离校学生学号,姓名,性别,年龄,系离校学生学号,姓名,性别,年龄,系n这样,当查询在校生或离校生的信息时,就只需在这样,当查询在校生或离校生的信息时,就只需在相应的关系中查找,显然单位时间内访问的记录数相应的关系中查找,显然单位时间内访问的记录数量大大减少了。量大大减少了。2.2.5 物理构造设计物理构造设计 数据库在实际的物理设备上的存储构造和存取方法数据库在实际的物理设备上的存储构造和存取方法称为数据库的物理构造,数据库的物理构造与称为数据库的物理构造,数据库的物理构造与详细的详细的DBMS(数据库管理系统数据库管

55、理系统)有关。有关。数据库物理设计的义务是使数据库的逻辑构造在物数据库物理设计的义务是使数据库的逻辑构造在物理设备上得以实现,建立一个性能优良的数据理设备上得以实现,建立一个性能优良的数据库物理构造。库物理构造。数据库的物理设计,主要应思索数据库的物理设计,主要应思索4个方面的问题:个方面的问题:n1 存储构造的选择存储构造的选择n选择何种存储构造,与选定的选择何种存储构造,与选定的DBMS类型有关类型有关n2 属性存储类型确实定属性存储类型确实定n不同不同DBMS系统的数据类型略微有点区别,因系统的数据类型略微有点区别,因此需求针对不同的此需求针对不同的DBMS来确定每个属性的存来确定每个属性的存储类型。储类型。 n3 表的索引构造确实定表的索引构造确实定n为了提高表的检索速度,确定表的索引构造。为了提高表的检索速度,确定表的索引构造。 n4 存取途径确实定存取途径确实定n对关系模型而言,由系统自动完成的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论