交通信息系统 - 第六章 数据库系统的设计方法_第1页
交通信息系统 - 第六章 数据库系统的设计方法_第2页
交通信息系统 - 第六章 数据库系统的设计方法_第3页
交通信息系统 - 第六章 数据库系统的设计方法_第4页
交通信息系统 - 第六章 数据库系统的设计方法_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

1、1数据库系统的设计方法1.1.数据库系统设计概述数据库系统设计概述 数据库系统设计的内容数据库系统设计的内容数据库系统设计应注意的问题数据库系统设计应注意的问题 数据库设计的基本方法数据库设计的基本方法 数据库系统设计的基本步骤数据库系统设计的基本步骤 2 2 系统需求分析系统需求分析 2.1 需求分析的任务和方法需求分析的任务和方法 2.2 数据字典及其表示数据字典及其表示 3 3 数据库逻辑结构的设计数据库逻辑结构的设计 3.1 概念结构的特点及设计方法概念结构的特点及设计方法 3.2 数据抽象与局部视图设计数据抽象与局部视图设计 3.3 视图的集成视图的集成 4 4 数据库逻辑结构的设计

2、数据库逻辑结构的设计 4.1 概念模型向网状模型转换概念模型向网状模型转换 4.2 概念模型向关系模型的转换概念模型向关系模型的转换23.1 数据库系统设计概述3.1.1 3.1.1 数据库系统设计的内容数据库系统设计的内容目标:目标:对于给定的应用环境,建立一个性能良好的、能满足不同对于给定的应用环境,建立一个性能良好的、能满足不同用户使用要求的、又能被选定的用户使用要求的、又能被选定的DBMS所接受的数据库系统模式。所接受的数据库系统模式。按照该模式建立的数据库系统,应当能够完整地反映现实世界中按照该模式建立的数据库系统,应当能够完整地反映现实世界中信息及信息之间的联系;能够有效地进行数据

3、存储;能够方便地信息及信息之间的联系;能够有效地进行数据存储;能够方便地执行各种数据检索和处理操作;并且有利于进行数据维护和数据执行各种数据检索和处理操作;并且有利于进行数据维护和数据控制管理的工作。控制管理的工作。内容:内容:数据库的结构特性设计,数据库的行为特性设计,数据库数据库的结构特性设计,数据库的行为特性设计,数据库的物理模式设计。将结构特性设计和行为特性设计结合起来,相的物理模式设计。将结构特性设计和行为特性设计结合起来,相互参照,同步进行,才能较好地达到设计目标。互参照,同步进行,才能较好地达到设计目标。数据库设计是设计数据库结构特性,为特定应用环境构造出最优的数据模数据库设计是

4、设计数据库结构特性,为特定应用环境构造出最优的数据模型;数据库应用系统设计是设计数据库的行为结构特性,建立能满足各种型;数据库应用系统设计是设计数据库的行为结构特性,建立能满足各种用户对数据库应用需求的功能模型。用户对数据库应用需求的功能模型。3 1. 1. 数据库的结构特性设计数据库的结构特性设计 先将现实世界中的事物、事物间的联系用先将现实世界中的事物、事物间的联系用E-R图表示,图表示,再将各个分再将各个分E-R图汇总,得出数据库的概念结构模型,最后图汇总,得出数据库的概念结构模型,最后将概念结构模型转化为数据库的逻辑结构模型表示。将概念结构模型转化为数据库的逻辑结构模型表示。2. 2.

5、 数据库的行为特性设计数据库的行为特性设计 首先要将现实世界中的数据及应用情况用数据流程图首先要将现实世界中的数据及应用情况用数据流程图和数据字典表示,并详细描述其中的数据操作要求(即操和数据字典表示,并详细描述其中的数据操作要求(即操作对象、方法、频度和实时性要求),进而得出系统的功作对象、方法、频度和实时性要求),进而得出系统的功能模块结构和数据库的子模式。能模块结构和数据库的子模式。3. 3. 数据库的物理模式设计数据库的物理模式设计 根据库结构的动态特性(即数据库应用处理要求),根据库结构的动态特性(即数据库应用处理要求),在选定的在选定的DBMS环境下,把数据库的逻辑结构模型加以物环

6、境下,把数据库的逻辑结构模型加以物理实现,从而得出数据库的存储模式和存取方法。理实现,从而得出数据库的存储模式和存取方法。4加载试验数据加载试验数据程序说明程序说明调试和运行调试和运行企业企业数据分析数据分析用户业务活动分析用户业务活动分析概念模型设计概念模型设计逻辑模式设计逻辑模式设计物理模式设计物理模式设计用户子模式设计用户子模式设计功能模型功能模型事务设计事务设计应用程序设计应用程序设计性能考核性能考核满意满意投入运行维护投入运行维护加载数据库加载数据库不不是是51.1. 考虑到计算机硬件、软件和干件的实际情况考虑到计算机硬件、软件和干件的实际情况三分技术,七分管理,十二分基础数据三分技

7、术,七分管理,十二分基础数据 (1) 数据库系统的硬件条件数据库系统的硬件条件 根据其数据存储设备、网络和通信设备、计算机性能等硬件条件根据其数据存储设备、网络和通信设备、计算机性能等硬件条件设计数据库的规模、数据存储方式、分布结构以及数据通讯方式。设计数据库的规模、数据存储方式、分布结构以及数据通讯方式。(2) DBMS和主语言系统的特点和主语言系统的特点 在数据库设计前,应当选择合适的在数据库设计前,应当选择合适的DBMS和主语言系统,使之适和主语言系统,使之适合数据库系统的要求。合数据库系统的要求。(3) 数据库用户的技术水平和管理水平数据库用户的技术水平和管理水平 应当让应当让DBA充

8、分参与设计数据库的工作,使之对数据库设计过程充分参与设计数据库的工作,使之对数据库设计过程的每个细节都了解的比较清楚。的每个细节都了解的比较清楚。2. 2. 使结构特性设计和行为特性设计紧密结合使结构特性设计和行为特性设计紧密结合 数据库设计过程是一种自上而下的、逐步逼近设计目标的过程,数据库设计过程是一种自上而下的、逐步逼近设计目标的过程,是结构设计和行为设计分离设计、相互参照、反复探寻的过程。是结构设计和行为设计分离设计、相互参照、反复探寻的过程。 3.1.23.1.2 数据库系统设计应注意的问题数据库系统设计应注意的问题6数据库设计的目标 数据库设计的核心问题是如何建立一个好的模型。一般

9、数据库设计的核心问题是如何建立一个好的模型。一般而言,这个好的模型应该满足若干准则,这些准则可以分而言,这个好的模型应该满足若干准则,这些准则可以分为两类:结构准则和性能准则。前者讨论如何保持数据的为两类:结构准则和性能准则。前者讨论如何保持数据的特性。后者则主要是考虑资源合理使用、系统使用方便和特性。后者则主要是考虑资源合理使用、系统使用方便和效率高的数据库。效率高的数据库。 具体而言,数据库设计应该达到以下的目标:具体而言,数据库设计应该达到以下的目标:1满足用户的满足用户的信息需求信息需求和和处理需求处理需求。2准确模拟现实世界准确模拟现实世界3具有具有DBMS的支持的支持4具有良好的性

10、能具有良好的性能7 数据库系统设计应分数据库系统设计应分6个阶段进行,个阶段进行,这这6个阶段是需求分析、概念结构设计、个阶段是需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据逻辑结构设计、物理结构设计、数据库实施和数据库运行和维护。库实施和数据库运行和维护。 3.1.3 3.1.3 数据库系统设计方法数据库系统设计方法8需求分需求分析阶段析阶段概念设计阶概念设计阶段段逻 辑 设 计 阶逻 辑 设 计 阶段段物 理 设 计 阶物 理 设 计 阶段段数据库数据库实施阶段实施阶段数据库数据库运行、维护阶段运行、维护阶段不满意不满意需求收集和分析需求收集和分析设计概念结构设计概念结构设计逻辑

11、结构设计逻辑结构数据模型优化数据模型优化设计物理结构设计物理结构评价设计,性能预测评价设计,性能预测物理实现物理实现试验性运行试验性运行使用、维护数据库使用、维护数据库不满意不满意应用需求应用需求(数据、处理)(数据、处理) 转换规则、转换规则、DBMS要求和优化要求和优化方法方法 应用要求,应用要求,DBMS详细特征详细特征和限制和限制91.1.需求分析阶段需求分析阶段: :准确了解并分析用户对系统的需要和要求,弄清系统要达到的目标和实现的功能。2. 2. 概念结构设计阶段概念结构设计阶段: :对用户需求进行综合、归纳和抽象,形成一个独立于具体计算机和DBMS的概念模型。3. 3. 逻辑结构

12、设计阶段:逻辑结构设计阶段:将概念结构转换为DBMS所支持的数据模型,并将其性能进行优化。4. 4. 数据库物理设计阶段:数据库物理设计阶段:为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据存储结构和存取方法。5. 5. 数据库实施阶段:数据库实施阶段:运用DBMS提供的数据操作语言和宿主语言,根据数据库的逻辑设计和物理设计的结果建立数据库、编制与调试应用程序、组织数据入库并进行系统试运行。6. 6. 数据库运行和维护阶段:数据库运行和维护阶段:不断地对其结构性能进行评价、调整和修改。 10IPO表输入:输出:处理:CreatLoadMain()ifthenend分区1分区2概念结概念

13、结构设计构设计逻辑逻辑结构结构设计设计物理物理设计设计设计设计阶阶 段段 设设 计计 描描 述述数数 据据处处 理理需 求需 求分分 析析 数据字典、全系统中数据项、数据字典、全系统中数据项、 数据流、数据存储的描述数据流、数据存储的描述数据流图和判定表(判定树)、数数据流图和判定表(判定树)、数据字典中处理过程的描述据字典中处理过程的描述 概念模型(概念模型(E-R图)图) 数据字典数据字典 系统说明书包括:系统说明书包括: 新系统要求、新系统要求、 方案和概图方案和概图 反映新系统信息反映新系统信息 流的数据流图流的数据流图 某种数据模型某种数据模型 关系关系 非关系非关系 系统结构图系统

14、结构图 (模块结构)(模块结构) 存储安排存储安排 方法选择方法选择 存取路径建立存取路径建立 模块设计模块设计 IPO表表实施实施阶段阶段 编写模式编写模式 装入数据装入数据 数据库试运行数据库试运行 程序编码、程序编码、 编译联结、编译联结、 测试测试运行、运行、维护维护 性能监测、转储性能监测、转储/恢复恢复 数据库重组和重构数据库重组和重构 新旧系统转换、运行、维护(修正性、新旧系统转换、运行、维护(修正性、适应性、改善性维护)适应性、改善性维护)11图3.3 数据库的各级模式应用1应用3应用2概念模式概念要求概念要求概念要求应用1应用3应用2逻辑模式内模式外模式3外模式2外模式1综合

15、转换映像映像123.2.1 3.2.1 需求分析的任务和方法需求分析的任务和方法任务:任务:调查现实世界要处理的对象;了解原系统的概况和发展;明确用户调查现实世界要处理的对象;了解原系统的概况和发展;明确用户需求;收集基础数据及其处理方法;确定新系统的功能和边界。需求;收集基础数据及其处理方法;确定新系统的功能和边界。 需求分析的任务需求分析的任务不是确定系统怎样完成它的工作不是确定系统怎样完成它的工作,而是,而是确定确定系统必须完成哪些工作系统必须完成哪些工作,也就是通过详细调查现实世界要处,也就是通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确用户的各种需求,理的对象,充分了

16、解原系统工作概况,明确用户的各种需求,然后在此基础上对目标系统提出完整、准确、具体的功能要然后在此基础上对目标系统提出完整、准确、具体的功能要求。求。 即:即: - - 准确地回答准确地回答“系统必须做什么系统必须做什么? ?”。 分析用户的要求,将分析结果用分析用户的要求,将分析结果用数据流程图数据流程图和和数据字典数据字典表示表示。13需求分析的任务在分析软件需求和书写软件需求规格说明书的过程中,分析员和用户都起着关键的、必不可少的作用。 14 (1) 数据库中的信息内容数据库中的信息内容数据库中需存储哪些数据,包括用户将从数据数据库中需存储哪些数据,包括用户将从数据库中直接获得或间接导出

17、的信息内容和性质。库中直接获得或间接导出的信息内容和性质。(2) 数据处理内容数据处理内容用户要完成什么数据处理功能;用户对数据处用户要完成什么数据处理功能;用户对数据处理响应时间的要求;数据处理的工作方式。理响应时间的要求;数据处理的工作方式。(3) 数据安全性和完整性要求数据安全性和完整性要求数据的保密措施和存取控制要求;数据自身的数据的保密措施和存取控制要求;数据自身的或数据间的约束限制。或数据间的约束限制。15(1) 了解现实世界的组织机构情况了解现实世界的组织机构情况 弄清所设计的数据库系统与哪些部门相关,这些部门以及下属各个弄清所设计的数据库系统与哪些部门相关,这些部门以及下属各个

18、单位的联系和职责是什么。单位的联系和职责是什么。(2) 了解相关部门的业务活动情况了解相关部门的业务活动情况各部门需要输入和使用什么数据;在部门中是如何加工处理这些数据各部门需要输入和使用什么数据;在部门中是如何加工处理这些数据的;各部门需要输出什么信息;输出到什么部门;输出数据的格式是的;各部门需要输出什么信息;输出到什么部门;输出数据的格式是什么。什么。(3) 确定新系统的边界确定新系统的边界哪些功能现在就由计算机完成;哪些功能将来准备让计算机完成;哪哪些功能现在就由计算机完成;哪些功能将来准备让计算机完成;哪些功能或活动由人工完成。由计算机完成的功能就是新系统应该实现些功能或活动由人工完

19、成。由计算机完成的功能就是新系统应该实现的功能。的功能。 16 (1) 跟班作业跟班作业:数据库设计人员亲身参加业务工作。数据库设计人员亲身参加业务工作。(2) 开调查会开调查会:通过与用户座谈的方式来了解业务活动情况通过与用户座谈的方式来了解业务活动情况及用户需求。及用户需求。(3) 请专人介绍请专人介绍:请业务熟练的专家或用户介绍业务专业知请业务熟练的专家或用户介绍业务专业知识和业务活动情况,设计人员从中了解并询问相关问题。识和业务活动情况,设计人员从中了解并询问相关问题。(4) 询问询问:对某些调查中的问题,可以找专人询问。对某些调查中的问题,可以找专人询问。 (5) 设计调查表请用户填

20、写设计调查表请用户填写:数据库设计人员可以提前设数据库设计人员可以提前设计一个合理的、详细的业务活动及数据要求调查表,并将计一个合理的、详细的业务活动及数据要求调查表,并将此表发给相关的用户。此表发给相关的用户。 (6) 查阅现实世界的数据记录查阅现实世界的数据记录:查阅与原系统有关的数据查阅与原系统有关的数据记录,包括帐本、档案或文献等。记录,包括帐本、档案或文献等。3. 3. 系统需求调查的方法系统需求调查的方法17分析和表达用户的需求分析和表达用户的需求的常用方法的常用方法 自顶向下的结构化分析方法(自顶向下的结构化分析方法(Structured Analysis,简称,简称SA方法方法

21、)SA方法从最上层的系统组织机构入手,采用逐方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并用层分解的方式分析系统,并用数据流图数据流图和和数据数据字典字典描述系统。描述系统。18 数据流图 数据流图(数据流图(Data Flow Diagram,DFD)是描述系统的重要工具,它力图从数据传是描述系统的重要工具,它力图从数据传递和处理的角度以图形的方式表示数据处递和处理的角度以图形的方式表示数据处理系统的工作状况,较好地抓住问题的本理系统的工作状况,较好地抓住问题的本质,具有直观、容易理解的优点,便于一质,具有直观、容易理解的优点,便于一组人同时进行审查。组人同时进行审查。 19

22、 绘制数据流程图的符号数据源点或终点:数据源点或终点:指本系统之外的人或单位,指本系统之外的人或单位,他们与本系统有信息传递关系。他们与本系统有信息传递关系。数据存储文件:数据存储文件:指通过数据文件、文件夹或指通过数据文件、文件夹或账本等存储数据。账本等存储数据。数据处理:数据处理:数据处理对进入的数据流进行特定数据处理对进入的数据流进行特定的加工的过程,处理后将产生新的数据流的加工的过程,处理后将产生新的数据流处理标识处理标识处理名称处理名称数据流:数据流:表示流动着的数据,它可以是一项表示流动着的数据,它可以是一项数据,也可以是一组数据。数据,也可以是一组数据。数据流名称数据流名称数据流

23、图20数据流图 为了很好地表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。 顶层图:顶层图:将整个系统作为一个数将整个系统作为一个数据加工项,着重描述系统与外部据加工项,着重描述系统与外部实体的联系。明确系统的边界。实体的联系。明确系统的边界。第第0层图:层图:对顶层图中的数据加工对顶层图中的数据加工进行分解,形成系统较详细的数进行分解,形成系统较详细的数据流程图据流程图第一层图第一层图:对顶层图中的数据:对顶层图中的数据加工进一步分解,形成系统更加工进一步分解,形成系统更详细的数据流程图。详细的数据流程图。21 数据流图 以下依然以图书管理系统为例来实现数据库设计的以下依然以图书

24、管理系统为例来实现数据库设计的全过程。图书管理系统的工作流程如下:全过程。图书管理系统的工作流程如下: 图书管理员要为每个学生建立学生借阅账户,并给图书管理员要为每个学生建立学生借阅账户,并给学生发放不同类别的借阅卡,账户内存储学生的个人学生发放不同类别的借阅卡,账户内存储学生的个人基本信息和借阅记录信息。持有借阅卡的学生可以通基本信息和借阅记录信息。持有借阅卡的学生可以通过管理员(作为学生的代理人与系统交互)借阅、归过管理员(作为学生的代理人与系统交互)借阅、归还图书,不同类别的学生可借阅图书的范围、数量和还图书,不同类别的学生可借阅图书的范围、数量和期限不同。学生可通过互联网或图书馆内查询

25、终端查期限不同。学生可通过互联网或图书馆内查询终端查询图书信息和个人借阅情况,以及进行续借图书(系询图书信息和个人借阅情况,以及进行续借图书(系统审核符合续借条件)。统审核符合续借条件)。22数据流图 借阅图书时,先输入学生的借阅卡号,系统借阅图书时,先输入学生的借阅卡号,系统验证借阅卡的有效性和学生是否可继续借阅图验证借阅卡的有效性和学生是否可继续借阅图书,无效则提示其原因,有效则显示学生的基书,无效则提示其原因,有效则显示学生的基本信息(包括照片),供管理员人工核对。然本信息(包括照片),供管理员人工核对。然后输入要借阅的书号,系统查阅图书信息数据后输入要借阅的书号,系统查阅图书信息数据库

26、,显示图书的基本信息,供管理员人工核对。库,显示图书的基本信息,供管理员人工核对。最后提交借阅请求,若被系统接受则存储借阅最后提交借阅请求,若被系统接受则存储借阅纪录,并修改可借阅图书的数量。纪录,并修改可借阅图书的数量。23数据流图 归还图书时,输入学生借阅卡号和图书号,归还图书时,输入学生借阅卡号和图书号,系统验证是否有此借阅纪录以及是否超期借系统验证是否有此借阅纪录以及是否超期借阅,无则提示,有则显示学生和图书的基本阅,无则提示,有则显示学生和图书的基本信息供管理员人工审核。如果有超期借阅或信息供管理员人工审核。如果有超期借阅或丢失情况,先转入过期罚款或图书丢失处理。丢失情况,先转入过期

27、罚款或图书丢失处理。然后提交还书请求,系统接受后删除借阅纪然后提交还书请求,系统接受后删除借阅纪录,修改可借阅图书的数量。录,修改可借阅图书的数量。 图书管理员定期或不定期对图书信息进行图书管理员定期或不定期对图书信息进行入库、修改、删除等图书信息管理以及注销入库、修改、删除等图书信息管理以及注销(不外借),包括图书类别和出版社管理。(不外借),包括图书类别和出版社管理。24顶层数据流图根据之前的描述,建立了图书管理系统的根据之前的描述,建立了图书管理系统的顶层数据流程图。顶层数据流程图。图书管理系统E1图书管理员学生信息学生情况图书情况借/还书信息E2学生图书查询条件借阅查询条件图书信息学生

28、借阅情况图书信息登陆信息图5-4图书管理系统顶层数据流图25第0层数据流图 然而,顶层数据流图毕竟太抽象了,从这张图上对图书管理系统所能了解到的信息非常有限。下面再对它一步一步地分解,把基本模型细化,描述系统的主要功能。分解时要注意下层数据流必须与上层数据流图保持一致。下一层的数据流图必须有上图的所有输入/输出数据流和外部实体。 把顶层数据流图分解后得到如图所示的图书管理系统第0层图。 26第0层数据流图27第1层数据流图 接下来应该对功能级数据流图中描绘的系统主要功能进一步细化。(1 1)图书管理)图书管理28第1层数据流图。(2 2)学生管理)学生管理29第1层数据流图(3 3)借阅管理)

29、借阅管理30D1在校学生D3学生学籍表学生科删除记录aP1P2退学通知学生学生退学处理毕业处理c派遣证c学生科各系D2成绩记录D4学分记录ab一个数据流程图的实例 31 数据字典是各类数据描述的集合数据字典是各类数据描述的集合1. 1. 数据项:数据项是不可再分的数据单位。数据项:数据项是不可再分的数据单位。2. 2. 数据结构:数据结构反映了数据之间的组合关系。数据结构:数据结构反映了数据之间的组合关系。3. 3. 数据流:据流是数据结构在系统内传输的路径。数据流:据流是数据结构在系统内传输的路径。4. 4. 数据存储:数据存储是数据及其结构停留或保存数据存储:数据存储是数据及其结构停留或保

30、存 的地的地方,也是数据流的来源和去向之一。数据存储可以是手方,也是数据流的来源和去向之一。数据存储可以是手工文档、手工凭单或计算机文档。工文档、手工凭单或计算机文档。5. 5. 处理过程:用判定表或判定树来描述。处理过程:用判定表或判定树来描述。32数据字典(1)数据项。数据项是不可再分的数据单位。对数据项的描述通常包括以下内容: 数据项名称:借书证号数据项名称:借书证号 别别 名:借书证编号名:借书证编号 数据项含义:唯一地标识学生借阅身份的号码数据项含义:唯一地标识学生借阅身份的号码 定定 义:借书证号义:借书证号66数字字符数字字符66 位位 置:学生信息、借阅信息置:学生信息、借阅信

31、息33数据字典 (2) 数据结构数据结构 以以“图书图书”为例为例 “图书图书”是该系统中的一个核心数据结构:是该系统中的一个核心数据结构: 数据结构:图书数据结构:图书 含义说明:是图书管理子系统的主体数据结含义说明:是图书管理子系统的主体数据结 构,定义了一本图书的有关信息构,定义了一本图书的有关信息 组成:书号,书名,作者,出版社,类组成:书号,书名,作者,出版社,类 别,单价,状态,其他别,单价,状态,其他34数据字典(3)数据流。数据流可以是数据项,也可以是数据结构,表示某一加工处理过程的输入或输出数据。对数据流的描述应该包括以下内容: 数据流名称:借书信息数据流名称:借书信息 别别

32、 名:名:BORROWBORROW 说说 明:学生到图书管理员那里完成借阅图书明:学生到图书管理员那里完成借阅图书 数据流来源:图书管理员数据流来源:图书管理员 数据流去向:图书管理系统数据流去向:图书管理系统 平均流量平均流量 :200200次次/ /天天 高峰流量高峰流量 :280280次次/ /天天 数据组成数据组成 :借书证号:借书证号ISBNISBN借书时间借书时间+ +应还时间应还时间35数据字典 (4)数据存储。数据存储是数据保留或保存的地方,也是数据流的来源和去向之一。它可以是手工文档或手工凭单,也可以是计算机文档。对数据存储的描述通常包括以下内容: 数据存储名:图书信息表数据

33、存储名:图书信息表 别别 名:名:BOOKBOOK 说说 明:数据库存放,记录图书的详细信息明:数据库存放,记录图书的详细信息 编编 号:号:D2D2 数据组成数据组成 :ISBNISBN+ +书名书名+ +作者作者+ +价格价格+ +复本数复本数+ +库存量库存量 数数 据据 量:量:350350本本/ /天天 存取频率存取频率 :450450本本/ /天天36数据字典 (5)处理过程。处理过程说明某个具体的加工处理工作。 处理过程名:图书管理处理过程名:图书管理 别别 名:名:Bookmanage 说说 明:图书管理员将图书基本信息录入系统,明:图书管理员将图书基本信息录入系统, 学生给定

34、查询条件完成图书查找。学生给定查询条件完成图书查找。 编编 号:号:P1 触发条件触发条件 :图书管理员送来图书信息,学生给出查:图书管理员送来图书信息,学生给出查 询条件。询条件。 输输 入:图书情况、图书查询条件入:图书情况、图书查询条件 输输 出:图书信息出:图书信息 加工逻辑加工逻辑 :图书管理的处理算法,此书不赘述。:图书管理的处理算法,此书不赘述。37概念结构是对现实世界的一种抽象,即概念结构是对现实世界的一种抽象,即对实际的人、物、事和概念进行人为处对实际的人、物、事和概念进行人为处理,抽取人们关心的共同特性,忽略非理,抽取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种

35、概念本质的细节,并把这些特性用各种概念精确地加以描述。它用精确地加以描述。它用E-RE-R图图进行描述。进行描述。38概念结构的特点和设计方法 1 1概念结构的特点概念结构的特点(1 1)概念结构独立于数据库逻辑结构,也独立于支持)概念结构独立于数据库逻辑结构,也独立于支持数据库的数据库的DBMSDBMS。其主要特点如下:。其主要特点如下:(2 2)概念模型能够充分反映现实世界:能够满足用户)概念模型能够充分反映现实世界:能够满足用户对数据的处理要求。对数据的处理要求。(3 3)概念模型易于向关系、网状、层次等各种数据模)概念模型易于向关系、网状、层次等各种数据模型转换。型转换。(4 4)概念

36、模型易于理解,便于和不熟悉计算机的用户)概念模型易于理解,便于和不熟悉计算机的用户交换意见,使用户易于参与。交换意见,使用户易于参与。(5 5)概念模型易于更改,当现实世界需求改变时,概)概念模型易于更改,当现实世界需求改变时,概念结构又可以很容易地作相应调整。念结构又可以很容易地作相应调整。39概念结构的特点和设计方法 2 2概念结构设计方法概念结构设计方法 概念模型是数据模型的前身,它比数据概念模型是数据模型的前身,它比数据模型更独立于机器、更抽象,也更加稳定。模型更独立于机器、更抽象,也更加稳定。概念模型设计有概念模型设计有4 4种方法。种方法。 (1)自顶向下策略()自顶向下策略(to

37、p-down strategy)(2)自底向上策略()自底向上策略(bottom-up strategy)(3)由内向外策略()由内向外策略(inside-out strategy)(4)混合策略()混合策略(mixed strategy)40概念结构的特点和设计方法 3概念结构的设计步骤 在对数据库的具体设计过程中,通常先采用自顶向下法进行需求分析,得到每一具体的应用需求,然后反过来根据每个子需求,采用自底向上方法分步设计产生每一局部的E-R模型,综合各局部E-R模型,逐层向上回到顶部,最终产生全局E-R模型。 41概念结构的特点和设计方法需需求求需求需求1需求需求2需求需求1.1概念模式概

38、念模式概念模式概念模式概念模式概念模式概念模式概念模式概念模式概念模式1概念模式概念模式n全局概念模式全局概念模式需求需求1.2需求需求n.1需求需求n.2 (应用(应用1)(应用(应用n)图图3-6 自顶向下分析需求和自底向上设计概念结构自顶向下分析需求和自底向上设计概念结构423.3.2 数据抽象与局部视图设计1. 三种数据抽象方法三种数据抽象方法(1) 分类分类: 定义类概念作为现实世界中对象的类型,这些对象具定义类概念作为现实世界中对象的类型,这些对象具有某些共同的特性和行为。在有某些共同的特性和行为。在E-R模型中,实体集是该抽象。模型中,实体集是该抽象。(2) 聚集:定义某一类型的

39、组成部分,它抽象了对象内部的类型聚集:定义某一类型的组成部分,它抽象了对象内部的类型和和 “组成部分组成部分”的语义。的语义。(3) 概括:定义类型之间的一种子集联系,它抽象了类型之间的概括:定义类型之间的一种子集联系,它抽象了类型之间的“所属所属”的语义。的语义。2. 设计分设计分E-R图图概念结构设计是利用抽象机制对需求分析阶段收集到的数据分概念结构设计是利用抽象机制对需求分析阶段收集到的数据分类、组织(聚集),形成实体集、属性和码,确定实体集之间类、组织(聚集),形成实体集、属性和码,确定实体集之间的联系类型,进而设计分的联系类型,进而设计分E-R图。图。43数据抽象和局部视图设计 3.

40、应用举例应用举例 下面,继续以下面,继续以“学生图书管理系统学生图书管理系统”为例,为例,利用这些需求分析的结果进行自底向上的概利用这些需求分析的结果进行自底向上的概念结构设计。念结构设计。 在这个的例子中,图书管理系统的局部应在这个的例子中,图书管理系统的局部应用中主要涉及的实体包括学生、图书、出版用中主要涉及的实体包括学生、图书、出版社、罚款、登陆用户。社、罚款、登陆用户。那么,这些实体之间的联系又是怎样的呢?那么,这些实体之间的联系又是怎样的呢?44数据抽象和局部视图设计 由于一个学生可以由于一个学生可以借阅多本图书,一本借阅多本图书,一本图书可以被多个学生图书可以被多个学生借阅;一个图

41、书由一借阅;一个图书由一个出版社出版,一个个出版社出版,一个出版社可以出版很多出版社可以出版很多本图书;一本图书属本图书;一本图书属于一种类别,一种类于一种类别,一种类别可以有多本图书;别可以有多本图书;因此各实体之间的关因此各实体之间的关系见右图系见右图 。图书属于出版社n1学生图书管理系统的分E-R图学生借阅图书mn图书属于图书类别n1学生登陆登陆用户图书过 期 / 丢失罚款111145数据抽象和局部视图设计461. 合并分合并分E-R图,生成初步图,生成初步E-R图图无论采用哪个方法集成视图,在每次集成时都要无论采用哪个方法集成视图,在每次集成时都要分三步进行:分三步进行: (1)解决模

42、式之间的冲突,合并分)解决模式之间的冲突,合并分E-R图图 由于各个局部应用所面向的问题是不同的,由于各个局部应用所面向的问题是不同的,而且通常是由不同的设计人员进行不同局部的视而且通常是由不同的设计人员进行不同局部的视图设计,所以就会导致各个分图设计,所以就会导致各个分E-R图之间必定会图之间必定会存在许多不一致的地方,即产生冲突问题。存在许多不一致的地方,即产生冲突问题。47全局视图设计模式间可能会发生如下的模式间可能会发生如下的3 3类类冲突:冲突:属性域冲突属性域冲突:即属性值的类型、取值范围或取:即属性值的类型、取值范围或取值集合不同。值集合不同。属性取值单位冲突属性取值单位冲突例如

43、:例如:“职员职员”的性别属性,有些部门定义的类型是布的性别属性,有些部门定义的类型是布尔型,取值尔型,取值0 0和和1 1;例如:例如:“职员职员”的身高,不同部门可能分别用米或厘米的身高,不同部门可能分别用米或厘米 来表示,这就会给数据统计造成错误。来表示,这就会给数据统计造成错误。48全局视图设计同名异义同名异义: : 不同意义的对象在不同的局部应用不同意义的对象在不同的局部应用中具有相同的名字。中具有相同的名字。异名同义(一义多名)异名同义(一义多名): :意义相同的对象在不意义相同的对象在不同的局部应用中具有不同的名字。同的局部应用中具有不同的名字。49全局视图设计 结构冲突 同一对

44、象在不同应用中具有不同的抽象。同一对象在不同应用中具有不同的抽象。实体之间的联系在不同局部视图中呈现不同的类实体之间的联系在不同局部视图中呈现不同的类型。型。50全局视图设计(2)修改和重构初步)修改和重构初步E-R图,使得相互一致图,使得相互一致 对一些模式进行修改,以便于其它模式相符合。对一些模式进行修改,以便于其它模式相符合。重构是一个可选步骤,可能会对全局模式进行分析和重构是一个可选步骤,可能会对全局模式进行分析和重构,以删除任何冗余和不必要的内容。重构,以删除任何冗余和不必要的内容。 这一步可以解决上一步发现的冲突。这一步可以解决上一步发现的冲突。51(3)合并视图)合并视图 全局视

45、图设计全局视图设计 通过创建单个子视图来创建全局视图。相应的概通过创建单个子视图来创建全局视图。相应的概念在全局模式中只出现一次,并且要确定子视图和全念在全局模式中只出现一次,并且要确定子视图和全局视图之间的映射关系。局视图之间的映射关系。52全局视图设计 下面将继续以下面将继续以“学生图书管理系统学生图书管理系统”为例,为例,介绍分介绍分E-R图进行合并的主要过程:图进行合并的主要过程:第一步:确定各模式之间的对应和冲突:第一步:确定各模式之间的对应和冲突: 各模式之间主要存在命名冲突:各模式之间主要存在命名冲突: “登陆用户登陆用户”实体的登陆实体的登陆ID对应对应“学生学生”实体的借书证

46、号,实体的借书证号, “罚款罚款”实体的实体的借阅者借阅者对应对应“学生实体学生实体”的的借书证号借书证号。535.3.3 全局视图设计第二步:消除存在的冗余数据和冗余联系:第二步:消除存在的冗余数据和冗余联系: “ “学生学生”实体中的年龄属性可以由出生年份推算实体中的年龄属性可以由出生年份推算出来,属于冗余数据,应该去掉。这样不仅可以节省出来,属于冗余数据,应该去掉。这样不仅可以节省存储空间,而且当某个学生的出生日期有误,进行修存储空间,而且当某个学生的出生日期有误,进行修改后,无须修改年龄,减少了产生数据不一致的机会。改后,无须修改年龄,减少了产生数据不一致的机会。54全局视图设计 第三

47、步:视图集成:集成后的学生图书管理系第三步:视图集成:集成后的学生图书管理系统的统的E-R如图所示:如图所示:出版社出版社1属于属于n图图 图书管理系统的集成图书管理系统的集成E-R图图图书图书m借还借还n借书时间借书时间应还时间应还时间属于属于n1 图书类别图书类别过期过期/丢失丢失 罚款罚款11学生学生登陆登陆登陆用户登陆用户11553.4.1 概念模型向网状模型转换概念模型向网状模型转换1.不同型实体集及其联系的转换规则不同型实体集及其联系的转换规则1) 每个实体集转换成一个记录。每个实体集转换成一个记录。2) 每个每个1:n的二元联系转换成一个系,系的方向由的二元联系转换成一个系,系的

48、方向由1方实方实体记录指向体记录指向n方实体记录。方实体记录。3) 每个每个m:n的二元联系,在转换时要引入一个连结记录,的二元联系,在转换时要引入一个连结记录,并形成两个系,系的方向由实体记录方指向连结记录方。并形成两个系,系的方向由实体记录方指向连结记录方。 4) K(=3)个实体型之间的多元联系,在转换时也引入个实体型之间的多元联系,在转换时也引入一个连结记录,并将联系转换成一个连结记录,并将联系转换成K个实体记录型和连结记个实体记录型和连结记录型之间的录型之间的K个系,系的方向均为实体型指向连结记录。个系,系的方向均为实体型指向连结记录。 56 部门部门-职工职工1n部门职工部门-职工

49、系学生选课课程mn学生课程选课学生-选课课程-选课(a) 1:n联系的转换实例联系的转换实例 (b) m:n联系的转换实例联系的转换实例 57部件部件工程工程部件部件-工程工程-供应供应供应供应mnp部件部件工程工程供应供应部件部件-工程工程-供应供应Set1Set2Set3581. 实体集的转换规则实体集的转换规则一个实体集转换为关系模型中的一个关系,实体的属性一个实体集转换为关系模型中的一个关系,实体的属性就是关系的属性,实体的码就是关系的码,关系的结构就是关系的属性,实体的码就是关系的码,关系的结构是关系模式。是关系模式。2. 实体集间联系的转换规则实体集间联系的转换规则(1) 1:1联

50、系的转换方法联系的转换方法1) 将将1:1联系转换为一个独立的关系:与该联系相连的联系转换为一个独立的关系:与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码以及联系本身的属性均转换为关系的属性,且每个实体的码均是该关系的候选码。且每个实体的码均是该关系的候选码。2) 将将1:1联系与某一端实体集所对应的关系合并,则需联系与某一端实体集所对应的关系合并,则需要在被合并关系中增加属性,其新增的属性为联系本身要在被合并关系中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个实体集的码。的属性和与联系相关的另一个实体集的码。59【例3-1】将图中E-R图转换为关系模型。方案方案1:联系形成的关系独立存在:联系形成的关系独立存在: 职工(职工号,姓名,年龄);职工(职工号,姓名,年龄); 产品(产品号,产品名,价格);产品(产品号,产品名,价格); 负责(职工号,产品号)负责(职工号,产品号).方案

温馨提示

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

评论

0/150

提交评论