版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3章 数据库系统的设计方法 导入案例: 现要开发高校图书管理系统,经过初步的需求调查,该系统要完成下面的功能: (1)读者注册 (2)读者借书 (3)读者还书 (4)图书查询问题: 1、如何将高校图书管理活动中的事物及事物之间的联系在计算机中表示? 2、如何编写高校图书管理系统应用程序?客观世界人物抽象概念联系信息世界信息模型计算机世界数据库应用程序需求分析概念结构设计逻辑结构设计物理结构设计实施需求分析系统设计编码测试结构特性设计行为特性设计3.1 数据库系统设计概述 数据库系统设计是指对一个给定的应用环境,构造最优的、最有效的数据库模式,建立数据库及其应用系统,使之能够高效率地存取数据,
2、满足各种用户的应用需求。数据库系统设计包含两方面的内容:结构特性设计 结构特性设计通常是指数据库模式或数据库结构设计,它应该具有最小冗余的、能满足不同用户数据需求。行为特性设计 行为特性设计是指应用程序、事物处理的设计。 数据库的设计工作通常分阶段进行,不同的阶段完成不同的设计内容。新奥尔良(New Orleans)方法将数据库设计分为四个阶段:需求分析、概念结构设计、逻辑结构设计和物理结构设计。目前数据库规范设计方法通常分为6个阶段。需求分析。收集和分析用户对系统的信息需求和处理需求,得到设计系统所必须的需求信息。概念结构设计。概念结构设计是整个数据库设计的关键。它通过对用户的需求进行综合、
3、归纳与抽象,形成一个独立于具体DBMS的概念模型。 逻辑结构设计。在概念模型的基础上导出一种DBMS支持的逻辑数据库模型(如关系型、网状型或层次型),该模型应满足数据库存取、一致性及运行等各方面的用户需求。 物理结构设计。从一个满足用户需求的已确定的逻辑模型出发,在限定的软、硬件环境下,利用DBMS提供的各种手段设计数据库的内模式,即设计数据的存储结构和存取方法。 数据库实施。运用DBMS提供的数据语言及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。 数据库运行和维护。 不 满 意 用 户 需 求 收 集 和 分 析 设 计 概 念 结 构
4、设 计 逻 辑 结 构 数 据 模 型 优 化 设 计 物 理 结 构 评 价 设 计 , 性 能 预 测 物 理 实 现 实 验 性 运 行 使 用 、 维 护 数 据 库 需 求 分 析 阶 段 概 念 设 计 阶 段 逻 辑 设 计 阶 段 物 理 设 计 阶 段 数 据 库 实 施 阶 段 数 据 库 运 行 、 维 护 不 满 意 不 满 意 数 据 库 结 构 设 计 程 序 结 构 设 计 1) 需求分析的任务 根据需求分析的目标,需求分析这一阶段的任务主要有两项:3.2 需求分析 确定设计范围。通过详细调查现实世界要处理的对象(组织、部门和企业等),弄清现行系统(手工系统或计算
5、机系统)的功能划分、总体工作流程,明确用户的各种需求。 数据收集与分析。需求分析的重点是在调查研究的基础上,获得数据库设计所必须的数据信息。2) 需求分析的基本步骤3)数据流图 数据流图(Data Flow Diagram,简称DFD)是一种最常用的结构化分析工具,它用图形的方式来表达数据处理系统中信息的变换和传递过程。数据流图有4种基本符号。 4)数据字典数据项:数据项是不可再分的数据单位,它直接反映事物的某一特征。数据结构:反映了数据之间的组合关系。数据流:数据流是数据结构在系统内传输的路径。数据存储:数据存储是数据项停留或保存的地方,也是数据流的来源和去向之一。处理过程:对数据的加工处理
6、。 5)需求分析应用实例 现要开发高校图书管理系统。经过初步的需求调查,确定了系统的功能边界,该系统应能完成下面的功能: (1)读者注册。 (2)读者借书。 (3)读者还书。 (4)图书查询。 数据流图 通过对系统的信息及业务流程进行初步分析后,首先抽象出该系统最高层的数据流图,即把整个数据处理过程看成是一个加工的顶层数据流图,如图所示。 顶层数据流图反映了图书管理系统与外界的接口,但未表明数据的加工要求,需要进一步细化。根据前面图书管理系统功能边界的确定,再对图书管理系统顶层数据流图中的处理功能做进一步分解,可分解为读者注册、借书、还书和查询四个子功能,这样就得到了图书管理系统的第0层数据流
7、图,如图所示。 从图书管理系统第0层数据流图中可以看出,在图书管理的不同业务中,借书、还书、查询这几个处理较为复杂,使用到不同的数据较多,因此有必要对其进行更深层次的分析,即构建这些处理的第1层数据流图。下面的图分别给出了借书、还书、查询子功能的第1层数据流图。系统数据字典(1)数据项描述。数据项名称:借书证号别名:卡号含义说明:惟一标识一个借书证类型:字符型长度:20(2)数据结构描述名称:读者类别含义说明:定义了一个读者类别的有关信息组成结构:类别代码+类别名称+可借阅数量+借阅天数+超期罚款额名称:读者含义说明:定义了一个读者的有关信息组成结构:姓名+性别+所在部门+读者类别名称:图书含
8、义说明:定义了一本图书的有关信息组成结构:图书编号+图书名称+作者+出版社+价格(3)数据流(非数据项)说明。 数据流名称:借书单含义:读者借书时填写的单据来源:读者去向:审核借书数据流量:250份/天组成:借书证编号+借阅日期+图书编号数据流名称:还书单含义:读者还书时填写的单据来源:读者去向:审核还书数据流量:250份/天组成:借书证编号+还书日期+图书编号(4)数据存储说明。 数据存储名称:图书信息表含义说明:存放图书有关信息组成结构:图书+库存数量 说明:数量用来说明图书在仓库中的存放数数据存储名称:读者信息表含义说明:存放读者的注册信息组成结构:读者+卡号+卡状态+办卡日期说明:卡状
9、态是指借书证当前被锁定还是正常使用数据存储名称:借书记录含义说明:存放读者的借书、还书信息组成结构:卡号+书号+借书日期+还书日期说明:要求能立即查询并修改 (5)处理过程说明。 处理过程名称:审核借书证处理过程名称:审核借书证输入:借书证输入:借书证输出:认定合格的借书证输出:认定合格的借书证加工逻辑:根据读者信息表和读者借书证,加工逻辑:根据读者信息表和读者借书证,如果借书证在读者信息表中存在并且没有被锁如果借书证在读者信息表中存在并且没有被锁定,那么借书证是有效的借书证,否则是无效定,那么借书证是有效的借书证,否则是无效的借书证。的借书证。1)概念结构设计的方法和步骤3.3 数据库概念结
10、构的设计三种数据抽象方法三种数据抽象方法 (1)分类 分类是将具有某些共同特性和行为的实体划分成一组的过程,分类的结果得到实体集。 (2)聚集 聚集是定义某一类型的组成部分,它抽象了实体集属性的组成语义。若干属性的聚集组成了实体型。 (3)概括 概括定义了类型之间的一种子集联系,它抽象了类型之间的“所属”的语义。 确定实体集和属性确定实体集和属性 运用数据抽象的三种方法,结合数据流图和数据字典中的相关描述内容确定实体集及其属性。在某些情况下,一个数据项可以作为属性,而在另一些情况下它又可以作为实体集。一般能作为属性对待的尽量作为属性,在解决这个问题时应当遵循两条基本准则: (1)作为属性必须是
11、不可再分的数据项,也就是属性中不能再包含其他的属性。职工职工号姓名年龄职称职工职工号姓名年龄职称职称号名称工资标准住房标准聘任1m“职称”由属性上升为实体集 (2)属性不能与其他实体集之间具有联系。病人住院号姓名病房号病人住院号姓名病房医生住医疗1mn1确定实体集间的联系确定实体集间的联系 依据需求分析结果,考察任意两个实体集之间是否存在联系,若有,则确定其类型(一对一,一对多或多对多)。 在确定实体集之间联系的时候应该注意以下几个问题: 正确确定多元联系 多元联系是指与联系有关的实体集数超过二个的联系。例如,“供应商”、“项目”和“零件”之间的“供应”联系是多元的m:n联系。 凡能定义为一个
12、多元联系的问题,一般不应定义多个二元联系来代替。 避免连接陷阱 在定义联系时需要注意避免扇形陷阱、断层陷阱等联系结构。 扇形联系是指由一个实体值能引出多个同一类型的联系值的联系。如果由一个实体集引出两种不同类型的扇形联系,形成所谓双扇结构。双扇结构容易出现扇形陷阱。扇形陷阱 断层陷阱 因传递联系而掩盖了某些特定的直接联系的现象称为断层陷阱。 画出局部E-R图 确定了实体集及实体集间的联系后,可用E-R图描述出来。形成局部E-R图之后,还必须返回去征求用户意见,使之如实地反映现实世界,同时还要进一步规范化,以求改进和完善。每个局部视图必须满足:(1)对用户需求是完整的。(2)所有实体集、属性、联
13、系都有惟一的名字。(3)不允许有异名同义、同名异义的现象。(4)无冗余的联系。 各个局部视图建立好后,还需要对它们进行合并,集成为一个整体的概念结构,即总E-R图。属性冲突、命名冲突、结构冲突。2)概念结构设计实例标识图书管理系统中的实体集和属性 参照数据字典中对数据存储的描述,可初步确定三个实体集的属性为:读者:卡号,姓名,性别,部门, 办卡日期,卡状态读者类别:类别代码,类别名称,可借阅天数,可借阅数量,超期罚款额图书:书号,书名,作者,价格,出版社,库存数量借还记录:卡号,书号,借书日期,还书日期其中有下划线的属性为实体的码。确定实体间的联系返回本节返回本节1逻辑结构设计 逻辑结构设计的
14、主要目标是将概念结构转换为一个特定的DBMS可处理的数据模型和数据库模式。该模型必须满足数据库的存取、一致性及运行等各方面的用户需求。逻辑结构的设计过程如图所示。概念模型向逻辑模型的转换过程分为3步进行:把概念模型转换为一般的数据模型。将一般的数据模型转换成特定的DBMS所支持的数据模型。通过优化方法将其转化为优化的数据模型。1)实体集的转换规则 将E-R图中的每一个实体集转换为一个关系,实体集的属性就是关系的属性,实体集的码就是关系的码。2)实体间联系的转换规则 一个1:1联系可以转换为一个独立的关系,也可以与任意一端所对应的关系合并。 一个1 : n联系可以转换为一个独立的关系,也可以与n
15、端所对应的关系合并。 一个m : n联系转换为一个关系。转换的方法为:与该联系相连的各实体集的码以及联系本身的属性均转换为关系的属性,新关系的码为两个相连实体集码的组合。 三个或三个以上实体间的多元联系转换:概念模型向关系模型转换概念模型向关系模型转换 3)关系合并规则 为了减少系统中的关系个数,如果两个关系模式具有相同的主码,可以考虑将它们合并为一个关系模式。合并的方法是将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性,并适当调整属性的次序。q对于一对多的多元联系转换为关系模型的方法是新建一个独立的关系,该关系的属性为多元联系相连的各实体集的码以及联系本身的属性,码
16、为多方实体集码的组合。q对于多对多的多元联系,转换为关系模型的方法是新建一个独立的关系,该关系的属性为多元联系相连的各实体集的码以及联系本身的属性,码为各实体集码的组合。 案例:根据高校图书管理系统的E-R图,将其转换为关系模型。 将高校图书管理系统数据库概念结构转换成关系模型,可得高校图书管理系统数据库逻辑结构,结果如下: 读者类别(类别代码,类别名称,可借阅天数,可借阅数量,超期罚款额) 读者(卡号,姓名,性别,部门,办卡日期,卡状态,类别代码) 图书(书号,书名,作者,出版社,价格,库存数量) 借还(卡号,书号,借书日期,还书日期) 数据模型的优化确定各属性之间的数据依赖。对各个关系模式
17、之间的数据依赖进行极小化处理,消除冗余的联系。判断每个关系的范式,根据实际需要确定最合适的范式。根据需求分析阶段得到的处理要求,分析这些模式是否适用于用户的应用环境,从而确定是否要对某些模式进行分解或合并。对关系模式进行必要的分解,以提高数据的操作效率和存储空间的利用率。设计用户外模式在定义外模式时可以考虑以下因素:(1)使用更符合用户习惯的别名。(2)对不同级别的用户定义不同的外模式,以保证数据的安全。(3)简化用户对系统的使用。 应用外模式可以简化使用、方便查询。将复杂查询定义为视图,用户每次只对定义好的视图进行查询,避免了每次查询都要对其重复描述。数据库的物理设计 数据库物理结构设计是对
18、于给定的逻辑数据模型,选择一个适合的物理结构,主要涉及存取方法与存储结构,它依赖于计算机系统。一、数据库物理设计的内容一、数据库物理设计的内容 1确定数据库的物理结构 (1)存取方法设计。 索引方法、聚簇方法和HASH方法。 (2)存储结构的设计。 顺序存储、链式存储和散列存储等,存放位置的设计。在关系型DBMS中,存储结构的设计不需要考虑是采用顺序存储、链式存储还是散列存储的问题,设计者主要考虑关系的结构,数据文件和日志文件的存放位置。 2评价物理结构 评价物理数据库的方法完全依赖于所选用的DBMS,主要是从定量估算各种方案的存储空间、存取时间和维护代价入手,对估算结果进行权衡、比较,选择出
19、一个较优的合理的物理结构。如果该结构不符合用户需求,则需要修改设计。二、关系模式存取方法的选择二、关系模式存取方法的选择 1、索引存取方法的选择 选择索引存取方法实际上就是根据应用要求确定对关系的哪些属性列建立索引,哪些属性列建立组合索引,哪些索引建立唯一索引等。选择索引方法的基本原则是: 如果一个属性经常在查询条件中出现,则考虑在这个属性上建立索引:如果一组属性经常在查询条件中出现,则考虑在这组属性上建立组合索引。 如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引。 如果一个属性经常在连接操作的连接条件中出现,则考虑在这个属性上建立索引;同理,如果组属性经常在连
20、接操作的连接条件中出现,则考虑在这组属性上建立索引。 关系上定义的索引数要适当,并不是越多越好,因为系统维护索引要付出代价。 2、聚簇存取方法的选择 为了提高某个属性或属性组的查询速度,把这个属性或属性组上具有相同值的元组集中存放在连续的物理块上的处理称为聚簇,这个属性或属性组称为聚簇码。 一个数据库可以建立多个聚簇,但一个关系只能加入一个聚簇,选择聚簇存取方法就是确定需要建立多少个聚簇,确定每个聚簇中包括哪些关系。 聚簇设计的步骤: 根据规则确定候选聚簇。 设计候选聚簇的原则是: )对经常在一起进行连接操作的关系可以建立聚簇。 )如果一个关系的一组属性经常出现在相等、比较条件中,则该单个关系
21、可建立聚簇。 )如果一个关系的一个(或一组)属性上的值重复率很高,则此单个关系可建立聚簇。 )如果关系的主要应用是通过聚簇码进行访问或连接,而其他属性访问关系的操作很少时,可以使用聚簇。尤其当SQL语句中包含有与聚簇有关的ORDER BY,GROUP BY、UNION,DISTINCT等子句或短语时,使用聚簇特别有利,可以省去对结果集的排序操作。反之,当关系较少利用聚簇码操作时,最好不要使用聚簇。 从候选聚簇中去除不必要的关系。 检查候选聚簇,取消其中不必要关系的方法是: )从聚簇中删除经常进行全表扫描的关系。 )从聚簇中删除更新操作远多于连接操作的关系。 )不同的聚簇中可能包含相同的关系,一
22、个关系可以在某一个聚簇中,但不能同时加入多个聚簇。要从这多个聚簇方案(包括不建立聚簇)中选择一个较优的,其标准是在这个聚簇上运行各种事物的总代价最小。 建立聚簇应注意的问题 聚簇虽然提高了某些应用的性能,但是建立与维护聚簇的开销是相当大的; 对已有的关系建立聚簇,将导致关系中的元组移动其物理存储位置,这样会使关系上原有的索引无效,要想使用原索引就必须重建原有索引。 当一个元组的聚簇码值改变时,该元组的存储位置也要做相应移动,所以聚簇码值应当相对稳定,以减少修改聚簇码值所引起的维护开销。 三、确定数据库的存储结构三、确定数据库的存储结构 1、确定数据的存放位置 为了提高系统性能,应该根据应用情况
23、将数据的易变部分与稳定部分、经常存取部分和存取频率较低部分分开存放。对于有多个磁盘的计算机,可以采用下面几种存取位置的分配方案: 将表和索引放在不同的磁盘上,这样在查询时,由于两个磁盘驱动器并行工作,可以提高物理I/O读写的效率。 将比较大的表分别放在两个磁盘上,以加快存取速度,这在多用户环境下特别有效。 将日志文件、备份文件与数据库对象(表,索引等)放在不同的磁盘上,以改进系统的性能。 对于经常存取或存取时间要求高的对象(如表、索引)应放在高速存储器(如硬盘)上,对于存取频率小或存取时间要求低的对象(如数据库的数据备份和日志文件备份等只在故障恢复时才使用),如果数据量很大,可以存放在低速存储
24、设备上。 2、确定系统配置 根据应用环境优化DBMS的环境变量的取值,以提升DBMS的性能。 3、评价物理结构 物理设计过程中需要对时间效率、空间效率、维护代价和物理设计过程中需要对时间效率、空间效率、维护代价和各种用户要求进行权衡,其结果可能会产生多种设计方案。数各种用户要求进行权衡,其结果可能会产生多种设计方案。数据库设计人员必须对这些方案进行详细地评价,从中选择一个据库设计人员必须对这些方案进行详细地评价,从中选择一个较优的方案作为数据库的物理结构。较优的方案作为数据库的物理结构。 案例:根据高校图书管理系统的逻辑结构设计其物理结构。案例:根据高校图书管理系统的逻辑结构设计其物理结构。数据库实施定义数据库结构定义数据库结构 利用给定的利用给定的DBMS所提供的命令和用户界面,建立数据所提供的命令和用户界面,建立数据库的模式、外模式和内模式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 骨科患者心理护理的培训与教育
- 贵州省毕节地区大街乡大街中学2025-2026学年初三第二次联合考试数学试题试卷含解析
- 山东省济宁院附中2026年初三6月模拟考物理试题含解析
- 2026年山东省泰安市高新区初三4月期中考试物理试题含解析
- 车身护理与汽车保养的关系
- 江苏省宜兴市周铁区2025-2026学年初三学年3.7网络模拟考试物理试题含解析
- 潮安龙湖中学2026年初三二模考试数学试题含解析
- 福建省郊尾、枫亭五校教研小片区市级名校2026届初三下学期期中考试物理试题文试题含解析
- 江苏省溧水区2026届初三下学期精英对抗赛数学试题含解析
- 脑栓塞的康复职业治疗
- 2026四川成都市金牛国投人力资源服务有限公司招聘金牛区街区规划师8人考试参考试题及答案解析
- 精神科口服药发放流程
- 永磁直线同步电机低速负载性能(中英文对照)
- TDT 1083-2023 国土调查数据库更新数据规范
- 综合实践 奇妙的绳结
- 学校食品安全主要负责人、食品安全总监、食品安全员及食堂负责人职责
- 管理会计学 第10版 课件 第5章 经营决策
- 2024年海南省农垦投资控股集团招聘笔试参考题库含答案解析
- 日用品采购服务投标方案(技术标)
- GB/T 4798.3-2023环境条件分类环境参数组分类及其严酷程度分级第3部分:有气候防护场所固定使用
- GB/T 40058-2021全国固定资产投资项目代码编码规范
评论
0/150
提交评论