版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章数据库设计数据库设计:是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够优先地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。信息管理要求:指在数据库中应该存储和管理哪些数据对象。数据操作要求:是指对数据对象需要进行哪些操作,例如查询、增加、删除、修改和统计操作等。数据库设计目标:为用户和各种应用系统提供一个信息基础设施和高效率的运行环境,包括数据库数据的存取效率、数据库存储空间的利用率、数据库系统运行管理的效率等。12/5/20231数据库设计特点数据库建设的基本规律:“三分技术,七分管理,十二分基础数据。”技术:数据库系统采用的技术管理:应用数据库系统的企业管理基础数据:数据的收集、整理、组织和不断更新结构设计和行为设计相结合:数据库设计应该和应用系统设计相互结合,整个设计过程中要把数据库结构设计和对数据的处理设计紧密结合起来。12/5/20232数据库设计方法数据库设计的方法:新奥尔良方法:运用软件工程的思想,按一定的设计规程用工程化方法设计数据库,该方法属于规范设计法。基于E-R模型的数据库设计方法:要求用E-R模型设计数据库的概念模型。3NF(第三范式)的设计方法:要求用关系数据理论来设计数据库的逻辑模型。ODL(面向对象设计语言)的设计方法:要求用面向对象的概念和术语设计数据库结构。12/5/20233按照规范化设计的方法,数据库设计的步骤:需求分析概念结构设计逻辑结构设计数据库物理设计数据库实施数据库的运行与维护参加设计的人员:系统分析设计人员;数据库设计人员应用开发人员(包括程序员和操作人员)数据库管理员用户12/5/20234§7.1数据库设计的步骤1.需求分析阶段需求收集和分析,结果得到数据字典描述的数据需求和数据流图描述的处理需求。2.概念结构设计阶段
通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示。3.逻辑结构设计阶段
将概念结构转换为某个DBMS所支持的数据模型(例如关系模型),并对其进行优化。12/5/202354.数据库物理设计阶段
为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。5.数据库实施阶段
运用DBMS提供的数据语言(例如SQL)及其宿主语言(例如C),根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。12/5/20236§7.2需求分析1.需求分析的任务调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。确定用户的最终需求是一件很困难的事,因此设计人员必须与用户不断深入地进行交流,才能逐步得以确定用户的实际需求。注意:在需求分析过程中,必须要考虑业务的未来发展。12/5/202372.需求分析的方法(2)首先调查组织机构情况(3)调查各部门的业务活动情况
(4)协助用户明确对新系统的各种要求
(5)确定新系统的边界
(1)制订调研计划,写出调研任务书调研计划包括:调研对象,调研人员以及设计阶段的最终用户反馈过程。12/5/20238调查方法:(1)跟班作业(2)开调查会(3)请专人介绍(4)询问(5)设计调查表请用户填写(6)查阅记录
12/5/20239分析和表达用户需求的方法:自顶向下(SA——structuredanalysis)自底向上自顶向下:从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并且把每一层用数据流图和数据字典描述。需求…需求…需求…12/5/202310用SA方法做需求分析,设计人员需要设计出系统的高层抽象图(数据流图-DFD)数据来源数据流处理数据流数据输出数据存储信息要求处理要求将处理功能的具体内容分解为若干子功能,再将每个子功能继续分解,直到把系统的工作过程表达清楚为止。在处理功能逐步分解的同时,所用的数据也逐级分解,形成若干层次的数据流图。数据流图表达了数据和处理过程的关系。系统中的数据则借助数据字典(DataDictionary,简称DD)来描述。在SA方法中,处理过程的处理逻辑常常借助判定表或判定树来描述。12/5/202311数据流图的符号数据源或目的地数据处理的过程,过程名应该为动宾或主谓结构存储类数据内容打印报表内容数据流的内容数据来源数据流处理数据流数据输出数据存储处理要求数据的流向12/5/202312例学校管理信息系统学校管理信息系统教师管理子系统学生管理子系统后勤管理子系统课程管理学籍管理学生毕业学生报到学生入学学生考试学生选课学生上课最高层的系统结构图12/5/202313学生毕业管理子系统数据流图学生3.1发毕业证书毕业证书3.2退宿舍毕业证3.3办理离校手续毕业证退宿舍证明3.4领派遣证离校手续单毕业生名单毕业生名单成绩册能否获得学位宿舍描述宿舍安排清单学生档案记录已毕业离校手续离校手续清单分配工作工作分配情况办公室准备工作分配细节12/5/2023143.数据字典数据字典是进行数据收集和数据分析所获得的主要成果,是描述系统的一组数据流图内全部元素的清单。数据字典包括数据项、数据结构、数据流、数据存储和处理5个部分。数据项是数据的最小单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流和数据存储的逻辑内容。12/5/202315(1)数据项数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系}例如,学生学籍管理子系统中的“学号”数据项:(学号;唯一性标识每个学生;学生编号;字符型;8;00000000至99999999;前两位标识学生所在年级,后六位按顺序编号;可以逻辑决定学生数据结构中的其他数据项。)12/5/202316(2)数据结构数据结构反映了数据之间的组合关系。数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}例如,学生学籍管理子系统中的“学生”数据结构:(学生;是学籍管理子系统的主体数据结构,定义了一个学生的有关信息;组成:学号,姓名,年龄,所在系,年级)12/5/202317(3)数据流数据流是数据结构在系统内传输的路径。
数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平均流量,高峰期流量}例如,学生学籍管理子系统中的“体检结果”数据流:(体检结果;学生参加体格检查的最终结果;体检;批准;组成:{体检项目1,体检项目2,…..};50个/天;500个/天)12/5/202318(4)数据存储
数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。数据存储描述={数据存储名,说明,编号,流入的数据流,流出的数据流,组成:{数据结构},数据量,存取方式}
例如,学生学籍管理子系统中“学生登记表”数据存储:{学生登记表;记录学生的基本情况;编号;学生有关信息;需要的学生信息;组成:{……};每年4000张;随机存取}12/5/202319(5)处理过程
处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流},处理:{简要说明}}
例如,“学生分配宿舍”处理过程:(分配宿舍;为所有新生分配学生宿舍;学生,宿舍;宿舍安排;在新生报到后,为所有新生分配学生宿舍。要求同一宿舍只能安排同一性别的学生,同一个学生只能安排在一个宿舍中。每个学生的居住面积不小于3平方米。安排新生宿舍其处理时间不应超过15分钟。)12/5/202320数据字典是关于数据库中数据的描述,即元数据,而不是数据本身。数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的。需求分析阶段强调(1)可扩展性(2)用户参与12/5/202321§7.3概念结构设计概念结构是对现实世界的一种抽象,独立于数据库逻辑结构,也独立于支持数据库的具体DBMS。是现实世界与机器世界的中介,起主要特点是:需求分析用户需求信息结构或概念模型逻辑结构能真实、充分反映现实世界,包括事物与事物之间的联系,能满足用户对数据到处理需求,是对现实世界的一个真实模型。易于理解,可以用它与不熟悉计算机的用户交换信息,也便于进行后续开发的设计人员阅读理解。易于更改,当应用环境和应用要求改变时,容易对概念模型进行更改和扩充。易于向关系模型等各种模型进行转换。12/5/2023221.概念结构设计的方法和步骤自顶向下自底向上逐步扩张混合策略常用自顶向下方法完成需求分析,采用自底向上完成概念结构设计。12/5/202323自底向上a.设计部门E—R图b.设计系统的初步E—R图c.优化系统E—R图(消除冗余数据和冗余联系)坚持从局部到整体、模块到系统的原则,逐步形成整体概念模型。12/5/202324无论采用哪种设计方法,常常用E-R模型为工具来描述概念结构。E-R图由实体、实体的属性和实体之间的联系组成。教师评定职称分配住房姓名性别n11112/5/202325另一种E-R图符号实体AB一对一关系AB多对一关系AAB多对多关系12/5/2023262.数据抽象与局部视图设计通常用的自底向上概念结构设计,分为两步:第一步,选择局部应用。根据需求分析的结果,在多层的数据流图中选择一个适当层次的数据流图,让该层中每一部分对应一个局部应用。第二步,将每一个局部应用作为一个子系统,设计各子系统的分E-R图。
12/5/202327a.划分和确定实体类型b.划分和确定联系类型c.确定属性(两个准则)d.画出E—R图设计分E-R图的方法:从局部视图的数据字典中取出数据,参照数据流图,标定各子系统中的实体、实体的属性、标识实体的码,确定实体之间的联系和类型(1:1,1:n,m:n)设计步骤属性不能再具有需要描述的性质,即属性必须是不可分的数据项,不能够再有另外的属性组成。属性不能与其他实体具有联系。联系只能发生在实体之间。(见教材P214,215图所示)12/5/202328例如,学籍管理子系统的分E-R图:班主任管理班级上课教室组成学生归档档案材料指导住宿宿舍n1教工号姓名班级号专业……教室编号位置…宿舍号地点…1学号姓名…1学号年龄…性别1拥有1n1111nnnm1112/5/2023293.将各个局部E-R视图进行集成第一步,合并各分E-R图,生成初步E-R图。逐渐往高层合并,产生高一级的子系统。合并中会出现三类冲突:属性冲突、命名冲突和结构冲突。属性冲突:属性域冲突(即属性类型或取值范围不同)和属性的取值单位有冲突。命名冲突:同名异义,异名同义。结构冲突:同一对象在不同应用中具有不同的抽象。同一实体在不同应用包括的属性不完全相同,或属性出现的顺序不同。实体间的联系在不同应用中呈现不同的类型,如有的是一对一,而有的是一对多或多对多。如学号,有的局部应用用整形,有的用字符刑。身高,有的用米,有的用厘米。如局部应用A中把教室称为房间,而布局应用B中将学生宿舍称为房间。有的部门把教科书称为课本,而有的部门又把教科书称为教材。如课程在某一局部应用中是实体,而在另一应用中只是属性。解决方法是把属性变为实体或者把实体变为属性,使同一对象具有相同的抽象。这是很常见的一类冲突,原因是不同的局部应用关心的是该实体的不同侧面。解决方法是使该实体的属性取各分E-R图中的属性的并集,再适当设属性的顺序。例如,在局部应用A中“学生”实体由学号,姓名,性别,平均成绩构成;在局部应用B中“学生”实体由姓名,学号,出生日期,所在系,年级构成;而在局部应用C中“学生”实体由姓名和政治面貌组成。合并后的E-R图中“学生”实体由学号,姓名,性别,出生日期,政治面貌,所在系,年级和平均成绩构成。例如,实体E1与E2在局部应用A中是多对对联系,而在局部应用B中是一对多联系;又如在局部应用X中E1与E2发生联系,而在局部应用Y中E1与E2与E3发生联系。解决方法是根据应用的语义对实体联系的类型进行综合或调整。12/5/202330初步E-R图的生成:例如,销售管理子系统的初步E-R图,P219图7.25表示分E-R视图集成为总E-R图的方式,P221图7.27表示合并两个分E-R图时的综合。12/5/202331第二步,修改与重构,生成基本E-R图。
消除不必要的冗余数据和联系,可以采用分析的方法和规范化理论进行。初步E-R图不是基本的E-R图,因为里面有冗余数据和冗余联系。冗余数据——可以由其他数据导出来的数据。冗余联系——可以由其他联系导出来的联系。12/5/202332分析的方法消除数据冗余:以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系的说明来消除冗余。例如:教师工资单中包括该教师的基本工资,各种补贴,应扣除的房租水电费以及实发工资,而由于实发工资可以由前面各项推算出来,因此可以去掉,在需要查询实发工资时再根据基本工资,各种补贴,应扣除房租水电费数据临时生成。采用规范化理论来消除数据冗余:例如:学生的年龄可以通过出生日期算出,所以年龄属性可以去掉,此时,修改出生日期时不用再去计算修改年龄属性;学生实体中的平均成绩可以从选修联系中的成绩属性推算出来,所以可以去掉平均成绩属性。但是,如果平均成绩要经常被查询,为了提高查询效率,可以保留该冗余。12/5/202333概念设计阶段应达到的目标:(1)能客观反映现实世界,不能存在互相矛盾的表达,能够准确反映原来的每个视图,包括属性,实体和实体间的联系。(2)易于理解。(3)易于修改,扩充。P223图7.30:图1.14(b)为物资分E-R图,图7.24为销售分E-R图,图7.29劳动人事管理分E-R图,合并为基本E-R图7.3012/5/202334§7.4逻辑结构设计选择最适于描述与表达相应概念结构的数据模型;逻辑设计就是将概念设计的结果映射为具体的数据模型。选择最合适的DBMS。12/5/202335分三步进行:将概念结构转换为一般的关系、网状、层次模型;将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;对数据模型进行优化。
12/5/2023361.E-R图向关系数据模型的转换关系模型是一组关系模式的集合。E-R图由实体、实体的属性和实体之间的联系组成。将E-R图转换为关系模型就是将实体、实体的属性和实体之间的联系转化为关系模式。
12/5/202337E-R图向关系模型转化的原则和方法一个实体型转换为一个关系模式。一个m:n联系转换为一个关系模式。一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
例如,学生实体转换为学生关系模式,其中学号为学生关系的码:
学生(学号,姓名,出生日期,所在系,年级,平均成绩)
与该实体相联系的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。例如,“学生”实体与“课程”实体的“选课”联系为一个m:n的联系,这里转换为“选课关系”:选课(学号,课号,成绩)如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。例如,“学生”与“班级”之间为1:n的联系,可以把班级合并到“学生”实体中,使得“学生”实体具有“班级号”属性。也可以单独建立关系“班级组成”关系:(学号,班级号),其中学号为主码。
12/5/202338一个1:1联系可转换为一个独立的关系模式,也可与任一端对应的关系模式合并。三个或三个以上实体间的一个多元联系转换为一个关系模式。同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。具有相同主关键字的关系模式可合并。
12/5/202339自联系(递归联系):1:1的自联系:如人的互助关系,人-----资助者,规定一个人最多可以支助一个人,而每个人最多可以被一个人支助,此时,有如下表格:PersonJones-------Smith(被支助者)Smith-------ParksMyrtle------Pines可以把被支助者的关键字置于支助者中:PersonPersonSponsoredJonesSmithSmithParksParksnullMyrtlePinesPinesnull可以把支助者的关键字置于被支助者关系中:PersonPersonSponsoredByJonesnullSmithJonesParksSmithMyrtlenullPinesMyrtle12/5/2023402.数据模型的优化数据库逻辑设计的结果不是唯一的。为提高数据库应用系统的性能,通常以规范化理论为指导,适当地修改、调整数据模型的结构。这就是数据模型的优化。12/5/202341关系模型的优化确定数据依赖;对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。检查其中是否存在传递函数依赖、部分函数依赖和多值依赖,确定各关系模式所属的范式。对应需求分析,对所得的范式进行权衡,然后进行必要的合并和分解。12/5/2023423.设计用户外模式概念模型转化为逻辑模型后,生成了整个应用系统的模式,为了满足具体的应用,还必须设计用户的外模式。主要是指定义视图。12/5/202343定义数据库模式主要从系统的时间效率、空间效率和易维护等角度出发。而定义外模式主要考虑以下因素:使用更符合用户习惯的别名。针对不同级别的用户定义不同的外模式,以满足系统安全性的要求。尽量简化用户对系统的使用。12/5/202344使用视图必须遵循以下原则:避免创建多于两级或三级的视图。视图应该被模式拥有(基表所属的模式)。必须提供关于视图使用的文档。12/5/202345§7.5数据库物理设计数据库在物理设备上的存储结构与存取方法称为数据库的物理结构。数据库的物理设计:为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构。数据库的物理结构依赖于选用的DBMS,依赖于计算机硬件环境。12/5/202346数据库物理设计主要考虑因素:确定数据的存储结构主要考虑存取时间、存取空间利用率和维护代价三个方面的因素。设计数据的存取路径主要考虑如何建立索引的问题。确定数据的存放位置根据存取频率高低将数据分开存放。确定系统配置配置DBMS提供的存储用的参数,进行物理优化。12/5/202347聚簇功能 为了提高某个属性(组)的查询速度,把在这个属性或属性组上有相同值的元组集中存放在一个物理块中,如果存放不下,可以存放到预留的空白区或链接到多个物理块。提高按聚簇码进行查询的效率;按聚簇码存放元组可以节省存储空间;聚簇可以建立在一个或多个关系上。12/5/202348
建立与维护聚簇的开销都相当大。
对已有关系建立聚簇,将导致关系中元组的存储位置发生移动,并使得此关系上原有的索引无效,必须重建。当一个元组的聚簇码改变时,该元组的存储位置也要作相应的移动。12/5/202349建立聚簇的条件通过聚簇码进行访问或连接是该关系的主要应用,而与聚簇码无关的其他访问很少或是次要的。尤其是当sql语句中包含与聚簇码有关的orderby,groupby,union,distinct等子句或短语时;对应每个聚簇码的平均元组数既不能太少,也不能太多;聚簇码值相对稳定,以减少维护开销。12/5/202350评价数据库物理结构 对选定的多种方案从时间效率、空间效率和维护代价以及各种用户要求的角度来进行定量的估算,从而选择出一种较优的物理结构。12/5/202351设计数据库的物理结构必须充分了解所用DBMS的内部特征,特别是存储结构和存储方法;充分了解应用环境,特别是应用的处理频率和响应时间要求;充分了解外存设备的特性。12/5/202352§7.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 泰安市校本课程设计
- 烟气脱硫课课程设计
- 晚婚假申请书
- 春节放假的通知模板集合八篇
- 新婚庆典代表致辞精简版
- 批改作业评语
- 甘油发酵课程设计
- 2025年山东济宁泗水县事业单位招聘工作人员(教育类)104人历年管理单位笔试遴选500模拟题附带答案详解
- 2025年山东济宁市兖州区事业单位第六批优才拟聘用人员历年管理单位笔试遴选500模拟题附带答案详解
- 2025年山东济南市市中区人民医院招聘聘用工作人员13人历年管理单位笔试遴选500模拟题附带答案详解
- 天猫食品委托加工协议合同书x
- 露营基地项目投资计划书
- 烹饪教师年度工作总结
- 制冷压缩机安全操作规程范文
- 风电工程施工合同
- 初中历史考试试题答题卡模版
- 新技术申报书(宫颈提拉式缝合术在剖宫产术中宫颈出血中的应用)
- 《3-6岁儿童学习与发展指南》考试试题
- 核磁移机施工方案
- 伴瘤内分泌综合征
- 6SE70变频器使用手册
评论
0/150
提交评论