1.09k likes | 1.21k Views
数据库原理及应用. 第五章 数据库设计 仲恺农业工程学院 计算机科学与工程学院. Principles and Applications of the Database. 第五章 数据库设计. 本章导读 数据库设计是针对具体应用来构建适合的数据库模式,建立数据库及其应用系统,使之能有效地收集、存储、操作和管理数据,满足企业中各类用户的应用需求。 本章按照软件工程生命周期法,以图书管理系统为例,全面介绍了数据库系统设计的主要阶段的任务、内容、设计方法。主要阶段包括需求分析、概念结构设计、逻辑结构设计、物理结构设计和运行与维护。. 第五章 数据库设计.
E N D
数据库原理及应用 第五章 数据库设计 仲恺农业工程学院 计算机科学与工程学院 Principles and Applications of the Database An Introduction to Database System
第五章 数据库设计 • 本章导读 • 数据库设计是针对具体应用来构建适合的数据库模式,建立数据库及其应用系统,使之能有效地收集、存储、操作和管理数据,满足企业中各类用户的应用需求。 • 本章按照软件工程生命周期法,以图书管理系统为例,全面介绍了数据库系统设计的主要阶段的任务、内容、设计方法。主要阶段包括需求分析、概念结构设计、逻辑结构设计、物理结构设计和运行与维护。 计算机科学与工程学院
第五章 数据库设计 • 重点: • 1.需求分析阶段 • 2.概念设计阶段 • 3.逻辑结构设计阶段 • 难点: • 1.数据流图 • 2.E-R模型向关系模型的转换 计算机科学与工程学院
第五章 数据库设计 • 本章要点 • 需求分析阶段数据流图、数据字典的建立 • 概念结构设计阶段E-R模型的设计 • 逻辑设计阶段E-R模型向关系模型转换的方法 • 物理结构设计阶段数据库存取方式的选择和存储结构的确定 • 数据库的运行和维护 计算机科学与工程学院
第五章 数据库设计 5.1 数据库设计概述 5.2 需求分析 5.3 概念结构设计 5.4 逻辑结构设计 5.5 物理结构设计 5.6 数据库实施、运行和维护 本章小结 计算机科学与工程学院
5.1 数据库设计概述 • 数据库设计是数据库应用领域中的重要研究课题。数据库设计的主要任务是对于一个给定的硬件环境、操作系统环境和数据库管理系统等软件环境下,构造一个性能良好的、能满足不同用户使用要求的、又能被选定的DBMS所接受的数据模式。 计算机科学与工程学院
5.1 数据库设计概述 • 5.1.1 数据库设计的内容 • 5.1.2 数据库设计的目标 • 5.1.3 数据库设计的基本步骤 计算机科学与工程学院
5.1.1 数据库设计的内容 • 数据库设计应该与应用系统设计相结合,也就是说,整个设计过程中要把结构设计和行为设计密切结合起来。所以,数据库设计包含两个方面的内容: 结构特性的设计:设计数据库框架和数据结构,是静态的。 行为特性的设计:指确定数据库用户的行为和动作,即设计应用程序、事务处理等,它是动态的。 计算机科学与工程学院
现实世界 数据分析 数据分析 功能说明 概念模型分析 功能模型 逻辑数据库设计 事务设计 物理数据库设计 程序说明 子模式设计 应用程序设计 数据库运行 程序编码调试 图5-1 结构和行为分离和并行的设计 5.1.1 数据库设计的内容 计算机科学与工程学院
5.1 数据库设计概述 • 5.1.1 数据库设计的内容 • 5.1.2 数据库设计的目标 • 5.1.3 数据库设计的基本步骤 计算机科学与工程学院
5.1.2 数据库设计的目标 数据库设计的核心问题是如何建立一个好的模型。一般而言,这个好的模型应该满足若干准则,这些准则可以分为两类:结构准则和性能准则。前者讨论如何保持数据的特性。后者则主要是考虑资源合理使用、系统使用方便和效率高的数据库。 具体而言,数据库设计应该达到以下的目标: 计算机科学与工程学院
5.1.2 数据库设计的目标 1.满足用户的信息需求和处理需求。 2.准确模拟现实世界 3.具有DBMS的支持 4.具有良好的性能 计算机科学与工程学院
5.1 数据库设计概述 • 5.1.1 数据库设计的内容 • 5.1.2 数据库设计的目标 • 5.1.3 数据库设计的基本步骤 计算机科学与工程学院
5.1.3 数据库设计的基本步骤 • 数据库系统的开发是一项工程,可以采用类似软件工程中生命周期的概念,把数据库系统从分析、设计、实现、投入运行后的维护到最后被新系统取代而停止使用的整个期间称为数据库系统的生存期。 • 对数据库生存期的划分至今没有统一的标准。一般分为六个阶段,即需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和运行维护。 计算机科学与工程学院
1.需求分析 • 需求分析是系统分析员对具体应用环境的业务流程和用户提出的各种要求加以调查研究和分析,并和用户共同对各种原始数据加以综合、整理,是形成最终设计目标的首要阶段,为以后各阶段任务打下坚实的基础。 计算机科学与工程学院
1.需求分析 需求分析重点包括信息需求和处理需求。具体工作包括: (1)系统总体调查。 (2)分析各个部门的工作流程。 (3)画出数据流图。 计算机科学与工程学院
2.概念结构设计 概念结构设计是在需求分析的基础上,对用户信息需求所进行的进一步抽象和归纳,构造每个数据库用户的局部视图,然后合并局部视图,经优化后形成一个全局的数据库公共视图。这个公共视图就是数据库概念结构,通常用E-R模型来表示。 计算机科学与工程学院
3.逻辑结构设计 逻辑结构设计就是将概念模式转化为选用的某个DBMS所支持的数据模型相符合的逻辑结构。在逻辑结构设计阶段选择什么样的数据模型和哪一个具体DBMS尤为重要,它是能否满足用户各种要求的关键。 计算机科学与工程学院
4.物理结构设计 数据库物理设计是将逻辑结构设计阶段所产生的逻辑数据模型,转换为某一计算机系统所支持的数据库物理结构的实现过程。 物理结构主要指数据库在物理设备上的存储结构和存取方法,它是完全依赖于给定的硬件环境、具体的DBMS和操作系统,数据库的物理结构主要指数据库的存储记录格式、存储记录安排和存储方法。 计算机科学与工程学院
5.实现 实现包括两部分,即数据库实施和应用程序的实现。数据库实施阶段,即数据库调试、试运行阶段。 计算机科学与工程学院
6.运行和维护 数据库实施阶段结束,标志着数据库系统投入正常运行工作的开始。严格地说,数据库运行和维护不属于数据库设计的范畴,早期的新奥尔良法明确规定数据库设计的四个阶段,不包括运行和维护两个阶段。随着人们对数据库设计的深刻了解和设计水平的不断提高,已经充分认识到数据库运行和维护工作与数据库设计的紧密联系。 计算机科学与工程学院
第五章 数据库设计 5.1 数据库设计概述 5.2 需求分析 5.3 概念结构设计 5.4 逻辑结构设计 5.5 物理结构设计 5.6 数据库实施、运行和维护 本章小结 计算机科学与工程学院
5.2 需求分析 • 5.2.1 需求分析的任务 • 5.2.2 需求分析的方法与步骤 • 5.2.3 数据流图 • 5.2.4 数据字典 计算机科学与工程学院
5.2.1 需求分析的任务 需求分析的任务不是确定系统怎样完成它的工作,而是确定系统必须完成哪些工作,也就是通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确用户的各种需求,然后在此基础上对目标系统提出完整、准确、具体的功能要求。 即: ---- 准确地回答“系统必须做什么?”。 计算机科学与工程学院
5.2.1 需求分析的任务 • 在分析软件需求和书写软件需求规格说明书的过程中,分析员和用户都起着关键的、必不可少的作用。 计算机科学与工程学院
5.2 需求分析 • 5.2.1 需求分析的任务 • 5.2.2 需求分析的方法与步骤 • 5.2.3 数据流图 • 5.2.4 数据字典 计算机科学与工程学院
5.2.2 需求分析的方法与步骤 需求分析采用的主要方法是系统调查,目的是了解企业的业务情况、信息流程、经营方式、处理要求以及组织机构等,为当前系统建立模型。 调查的内容可以包括以下几个方面: (1)组织机构的调查。 (2)业务流程调查。 (3)系统的信息要求和处理要求。 (4)企业的限制和目标。 计算机科学与工程学院
5.2.2 需求分析的方法与步骤 需求分析阶段的活动主要由以下的四个步骤组成。 (1)分析用户活动,产生用户活动图。 (2)确定系统范围,产生系统范围图。 (3)分析用户活动所涉及的数据,产生数据流图。 (4)分析系统数据,产生数据字典。 计算机科学与工程学院
5.2 需求分析 • 5.2.1 需求分析的任务 • 5.2.2 需求分析的方法与步骤 • 5.2.3 数据流图 • 5.2.4 数据字典 计算机科学与工程学院
5.2.3 数据流图 数据流图(Data Flow Diagram,DFD)是描述系统的重要工具,它力图从数据传递和处理的角度以图形的方式表示数据处理系统的工作状况,较好地抓住问题的本质,具有直观、容易理解的优点,便于一组人同时进行审查。 计算机科学与工程学院
处理标识 处理名称 数据流名称 绘制数据流程图的符号 5.2.3 数据流图 数据源点或终点:指本系统之外的人或单位,他们与本系统有信息传递关系。 数据处理:数据处理对进入的数据流进行特定的加工的过程,处理后将产生新的数据流 数据流:表示流动着的数据,它可以是一项数据,也可以是一组数据。 数据存储文件:指通过数据文件、文件夹或账本等存储数据。 计算机科学与工程学院
5.2.3 数据流图 为了很好地表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。 顶层图:将整个系统作为一个数据加工项,着重描述系统与外部实体的联系。明确系统的边界。 第0层图:对顶层图中的数据加工进行分解,形成系统较详细的数据流程图 第一层图:对顶层图中的数据加工进一步分解,形成系统更详细的数据流程图。 计算机科学与工程学院
5.2.3 数据流图 以下依然以图书管理系统为例来实现数据库设计的全过程。图书管理系统的工作流程如下: • 图书管理员要为每个学生建立学生借阅账户,并给学生发放不同类别的借阅卡,账户内存储学生的个人基本信息和借阅记录信息。持有借阅卡的学生可以通过管理员(作为学生的代理人与系统交互)借阅、归还图书,不同类别的学生可借阅图书的范围、数量和期限不同。学生可通过互联网或图书馆内查询终端查询图书信息和个人借阅情况,以及进行续借图书(系统审核符合续借条件)。 计算机科学与工程学院
5.2.3 数据流图 • 借阅图书时,先输入学生的借阅卡号,系统验证借阅卡的有效性和学生是否可继续借阅图书,无效则提示其原因,有效则显示学生的基本信息(包括照片),供管理员人工核对。然后输入要借阅的书号,系统查阅图书信息数据库,显示图书的基本信息,供管理员人工核对。最后提交借阅请求,若被系统接受则存储借阅纪录,并修改可借阅图书的数量。 计算机科学与工程学院
5.2.3 数据流图 • 归还图书时,输入学生借阅卡号和图书号,系统验证是否有此借阅纪录以及是否超期借阅,无则提示,有则显示学生和图书的基本信息供管理员人工审核。如果有超期借阅或丢失情况,先转入过期罚款或图书丢失处理。然后提交还书请求,系统接受后删除借阅纪录,修改可借阅图书的数量。 • 图书管理员定期或不定期对图书信息进行入库、修改、删除等图书信息管理以及注销(不外借),包括图书类别和出版社管理。 计算机科学与工程学院
顶层数据流图 • 根据之前的描述,建立了图书管理系统的顶层数据流程图。 计算机科学与工程学院
第0层数据流图 然而,顶层数据流图毕竟太抽象了,从这张图上对图书管理系统所能了解到的信息非常有限。下面再对它一步一步地分解,把基本模型细化,描述系统的主要功能。分解时要注意下层数据流必须与上层数据流图保持一致。下一层的数据流图必须有上图的所有输入/输出数据流和外部实体。 把顶层数据流图分解后得到如图5-5所示的图书管理系统第0层图。 计算机科学与工程学院
图书查询条件 图书信息 P 1 E 2 学生 图书信息 图书管理 图书信息 图书情况 图书信息 D 2 图书信息表 D 3 借阅信息表 息 信 息 况 阅 信 学生 情 E 1 借 书 借 阅 阅 书 图 借阅信息 借 学 图书管理员 情 图 生 生 况 学 信 学 息 生 信 P 2 P 3 息 E 1 借还书信息 学 学生管理 借阅管理 生 情 图书管理员 况 学 学 生 生 学生基本信息 信 信 息 息 D 1 学生信息表 第0层数据流图 计算机科学与工程学院
第1层数据流图 接下来应该对功能级数据流图中描绘的系统主要功能进一步细化。 (1)图书管理 计算机科学与工程学院
第1层数据流图 (2)学生管理 。 计算机科学与工程学院
第1层数据流图 (3)借阅管理 计算机科学与工程学院
5.2 需求分析 • 5.2.1 需求分析的任务 • 5.2.2 需求分析的方法与步骤 • 5.2.3 数据流图 • 5.2.4 数据字典 计算机科学与工程学院
5.2.4 数据字典 所谓数据字典就是对数据流程图中的各个数据元素做更进一步的详细说明。数据流程图配以数据字典,就可以从图形和文字两个方面对系统的逻辑模型作进一步完整地描述。 数据字典的内容如下: 。 • 数据项 • 数据流 • 数据存储 • 处理过程 计算机科学与工程学院
5.2.4 数据字典 (1)数据项。数据项是不可再分的数据单位。对数据项的描述通常包括以下内容: • 数据项名称:借书证号 • 别 名:借书证编号 • 数据项含义:唯一地标识学生借阅身份的号码 • 定 义:借书证号=6{数字字符}6 • 位 置:学生信息、借阅信息 计算机科学与工程学院
5.2.4 数据字典 (2)数据流。数据流可以是数据项,也可以是数据结构,表示某一加工处理过程的输入或输出数据。对数据流的描述应该包括以下内容: • 数据流名称:借书信息 • 别 名:BORROW • 说 明:学生到图书管理员那里完成借阅图书 • 数据流来源:图书管理员 • 数据流去向:图书管理系统 • 平均流量 :200次/天 • 高峰流量 :280次/天 • 数据组成 :借书证号+ISBN+借书时间+应还时间 计算机科学与工程学院
5.2.4 数据字典 (3)数据存储。数据存储是数据保留或保存的地方,也是数据流的来源和去向之一。它可以是手工文档或手工凭单,也可以是计算机文档。对数据存储的描述通常包括以下内容: • 数据存储名:图书信息表 • 别 名:BOOK • 说 明:数据库存放,记录图书的详细信息 • 编 号:D2 • 数据组成 :ISBN+书名+作者+价格+复本数+库存量 • 数 据 量:350本/天 • 存取频率 :450本/天 计算机科学与工程学院
5.2.4 数据字典 (4)处理过程。处理过程说明某个具体的加工处理工作。 • 处理过程名:图书管理 • 别 名:Bookmanage • 说 明:图书管理员将图书基本信息录入系统, • 学生给定查询条件完成图书查找。 • 编 号:P1 • 触发条件 :图书管理员送来图书信息,学生给出查 • 询条件。 • 输 入:图书情况、图书查询条件 • 输 出:图书信息 • 加工逻辑 :图书管理的处理算法,此书不赘述。 计算机科学与工程学院
第五章 数据库设计 5.1 数据库设计概述 5.2 需求分析 5.3 概念结构设计 5.4 逻辑结构设计 5.5 物理结构设计 5.6 数据库实施、运行和维护 本章小结 计算机科学与工程学院
5.3 概念结构设计 概念结构设计是将需求分析得到的用户需求抽象为信息结构即概念模型的过程。概念结构设计的结果是数据库的概念模型。数据库设计中应十分重视概念结构设计,它是整个数据库设计阶段的关键。 计算机科学与工程学院