第14讲数据库设计_第1页
第14讲数据库设计_第2页
第14讲数据库设计_第3页
第14讲数据库设计_第4页
第14讲数据库设计_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、第第14讲讲 数据库设计数据库设计v理解数据库设计基本概念理解数据库设计基本概念v掌握数据库设计步骤掌握数据库设计步骤v理解并掌握数据库设计具体内容理解并掌握数据库设计具体内容v熟练掌握数据库需求分析中的数据字典,熟练掌握数据库需求分析中的数据字典,DFD(重点)(重点)6.1 数据库设计概述数据库设计概述v广义地讲,广义地讲,数据库设计是数据库及其应用系统的设计,即设计整个的数据库应用系统。v狭义地讲,狭义地讲,就是设计数据库,即设计数据库的各级模式并建立数据库,这是数据库应用系统设计的一部份。v本书的重点是讲解狭义的数据库设计。当然设计一个好的数据库与设计一个好的数据库应用系统是密不可分的

2、。数据库结构是应用系统的基础。特别在实际的系统开发项目中两者更是密切相关、并行进行的。6.1 数据库设计概述数据库设计概述v数据库设计数据库设计是指对于给定的应用环境对于给定的应用环境构造最优的数据库模式构造最优的数据库模式建立数据库及其应用系统建立数据库及其应用系统使之能有效地存储数据使之能有效地存储数据满足用户的信息要求和处理要求满足用户的信息要求和处理要求v即把现实世界中的数据,根据应用处理的要求,合理组织,满足各种用户的应用需求,包括信息管理要求和数据操作要求。v利用已有的RDBMS来建立能够实现系统目标的数据库。v在数据库领域内,一般把使用数据库的各类系统统称为数据库应用系统。6.1

3、.1 数据库设计的特点数据库设计的特点v数据库建设的基本规律数据库建设的基本规律“三分技术三分技术七分管理七分管理十二分基础数据十二分基础数据”v在数据库建设中不仅涉及技术,还涉及管理。要建设一个数据库应用系统,开发技术固然重要,但是相比之下则管理更加重要。v这里的管理不仅仅包括数据库设计作为一个大型的工程项目本身的项目管理,而且还包括该企业的业务管理。6.1.2 数据库设计方法简述数据库设计方法简述v1.新奥尔良(新奥尔良(New Orleans)方法)方法v它是目前公认的比较完整和权威的一种规范设计法,它将数据库设计分为四个阶段:需求分析(分析用户需求)需求分析(分析用户需求)概念设计(信

4、息分析和定义)概念设计(信息分析和定义)逻辑设计(设计实现)逻辑设计(设计实现)物理设计(物理数据库设计)物理设计(物理数据库设计)v目前大多数设计方法都起源于新奥尔良法,并在设计的每个阶段采用一些辅助方法来具体实现,新奥尔良方法属于规范设计法。v规范设计法从本质上看仍然是手工设计方法,其基本思想是过程迭代和逐步求精。6.1.2 数据库设计方法简述数据库设计方法简述v2.基于基于E-R模型的数据库设计方法模型的数据库设计方法vE-R方法的基本步骤是:确定实体类型;确定实体类型;确定实体联系;确定实体联系;画出画出E-R图;图;确定属性;确定属性;将将E-R图转换成某个图转换成某个DBMS可接受

5、的逻辑数据模型;可接受的逻辑数据模型;设计记录格式。设计记录格式。6.1.2 数据库设计方法简述数据库设计方法简述v3.基于基于3NF的数据库设计方法的数据库设计方法v基本思想:在需求分析的基础上确定数据库模式中的全部属性与属性在需求分析的基础上确定数据库模式中的全部属性与属性之间的依赖关系之间的依赖关系将它们组织到一个单一的关系模式中,然后再将其投影分将它们组织到一个单一的关系模式中,然后再将其投影分解,消除其中不符合解,消除其中不符合3NF的约束条件,把其规范成若干个的约束条件,把其规范成若干个3NF关系模式的集合关系模式的集合6.1.2 数据库设计方法简述数据库设计方法简述v4.计算机辅

6、助数据库设计方法计算机辅助数据库设计方法主要分为需求分析、逻辑结构设计、物理结构设计几个步骤。设计中,哪些可在计算机辅助下进行?能否实现全自动化设计呢?这是计算机辅助数据库设计需要研究的课题。6.1.2 数据库设计方法简述数据库设计方法简述v5.ODL(Object Definition Language)方法)方法vODL是面向对象的数据库设计方法该方法用面向对象的概念和术语来说明数据库结构ODL可以描述面向对象数据库结构设计,可以直接转换为面向对象的数据库。6.1.3 数据库设计的步骤数据库设计的步骤v按照规范化的设计方法,以及数据库应用系统开发过程,数据库的设计过程可分为以下六个设计阶段

7、:系统需求系统需求 分析阶段分析阶段概念结构概念结构 设计阶段设计阶段逻辑结构逻辑结构 设计设计阶段阶段物理结构物理结构 设计阶段设计阶段数据库的数据库的实施阶段实施阶段数据库数据库运行和维护阶段运行和维护阶段6.2 需求分析需求分析v需求分析简单的说是分析用户的要求分析用户的要求设计数据库的起点设计数据库的起点v需求分析的结果需求分析的结果是否准确地反映了用户的实际需求,将直接影响到后面的各个阶段的设计,并影响到设计结果是否合理与实用。v也就是说如果这一步走得不对,获取的信息或分析结果就有误,那么后面的设计即使再优也只能前功尽弃。v因此,必须高度重视数据库系统的需求分析。因此,必须高度重视数

8、据库系统的需求分析。6.2 需求分析需求分析v需求分析的任务需求分析的任务通过详细调查现实世界中要处理的对象(组织、部门、通过详细调查现实世界中要处理的对象(组织、部门、学校、企业等)学校、企业等)通过对原对象的工作概况的充分了解,明确用户的各种通过对原对象的工作概况的充分了解,明确用户的各种需求需求然后在此基础上确定新系统的功能然后在此基础上确定新系统的功能并且新系统还必须考虑数据库运行与维护阶段的扩充和并且新系统还必须考虑数据库运行与维护阶段的扩充和变更,不能仅仅考虑当前需求来设计数据库变更,不能仅仅考虑当前需求来设计数据库6.2 需求分析需求分析v在调查过程中,可以根据不同的问题和条件,

9、使用不同的调查方法。常用的调查方法有:(1)跟班作业跟班作业。通过亲身参加业务工作来了解业务活动的情况。(2)开调查会开调查会。通过与用户座谈来了解业务活动情况及用户需求。(3)请专人介绍请专人介绍。(4)询问询问。对某些调查中的问题,可以找专人询问。(5)设计调查表请用户真写设计调查表请用户真写。如果调查表设计得合理,这种方法是很有效的。(6)查阅记录查阅记录。查阅与原系统有关的数据记录。6.2 需求分析需求分析v需求分析调查的重点是“数据”和“处理”,通过调查、收集与分析,获得用户对数据库如下要求:(1)信息要求信息要求。指用户需要从数据库中获得信息的内容与性质,由信息要求可以导出各种数据

10、要求,即需要分析在数据库中存放哪些数据。(2)处理要求处理要求。指用户有什么处理要求,最终要实现什么处理功能。6.2 需求分析需求分析v具体而言,需求分析阶段的任务包括以下方面:v1.分析用户需求,确定系统边界,为建立系统概念模型分析用户需求,确定系统边界,为建立系统概念模型做准备做准备v具体的做法是:(1)调查组织机构情况。包括了解该组织的部门组成情况、各部门的职责及权限等。(2)调查各部门的业务活动情况,包括了解各部门输入和使用什么数据,如何加工处理这些数据?输出什么信息?输出到什么部门?谁可以处理这些信息?输出结果的格式是什么?这是调查的重点,否则会出现不可预计的严重问题。6.2 需求分

11、析需求分析v(3)在熟悉业务的基础上,明确用户对新系统的各种要求,如信息要求,处理要求,完全性和完整性要求,这些内容的明确与否直接决定了数据库系统的功能与要求是否满足用户最终需求。v(4)确定系统边界。即确定哪些活动由计算机来完成,哪些只能由人工来完成。由计算机完成的功能是新系统应该实现的功能。这里还要注意,一定要确定哪些是数据库应用系统应该实现的,哪些不是这个系统应该实现的,否则会使数据库设计人员陷入无限的维护与功能扩充的被动局面。6.2 需求分析需求分析v2.编写系统需求分析说明书编写系统需求分析说明书v系统需求分析说明书也称系统需求规范说明书,是系统分析阶段的最后工作,是对需求分析阶段的

12、一个总结,编写系统需求分析说明书是一个不断反复、逐步完善的过程。系统需求分析说明书一般应包括如下内容:(1)数据库系统概况,包括系统的背景、目标、范围、历史和现状及参考资料用户群体等。(2)数据库系统的原理和技术。(3)数据库系统总体结构和子系统结构说明、接口定义。(4)数据库系统总体功能和子系统功能说明。(5)数据库系统数据处理概述、工程项目体制和设计阶段划分。(6)数据库系统方案及技术、经济、实施方案可行性等。(7)系统验收标准。6.2 需求分析需求分析v3.数据字典数据字典v数据字典数据字典是系统中各类数据描述的集合,是各类数据结构和属性的清单。v它与数据流图互为解释,数据字典贯穿于数据

13、库需求分析直到数据库运行的全过程,在不同的阶段其内容形式和用途各有区别,在需求分析阶段,它通常包含以下五个部分内容。(1)数据项)数据项(2)数据结构)数据结构(3)数据流)数据流(4)数据存储)数据存储(5)处理过程)处理过程6.2 需求分析需求分析数据项名:学号 描述:唯一标识学生的编号别名:无类型: 字符串长度:6位字符其他说明:学号不能重复v以下列出“学生成绩管理系统”的部分数据字典条目: 数据项是不可再分的数据单位。数据项是不可再分的数据单位。6.2 需求分析需求分析数据结构:学生 描述:包括学生的主要信息别名:无定义:学号 + 姓名 + 性别 + 出生日期 + 入学年月数据量:10

14、000左右峰值:随时,但经常在新生入学时期其他说明:在系统功能扩充时可能增加定义项v数据结构反映了数据之间的组合关系数据结构反映了数据之间的组合关系。6.2 需求分析需求分析数据流名:学生成绩查询 描述:系统处理的一个命令别名:无频率: 10000次左右峰值:随时,但经常在学期开学其他说明:在系统功能扩充时可能增加种类数据流是数据结构在系统内部传输的路径数据流是数据结构在系统内部传输的路径6.2 需求分析需求分析数据存储名:学生信息表 说明:存储学生基本信息流入的数据流:录入学生信息流出的数据流: 查询学生信息数据量:随时,但经常在学期开学存取多存取方式:在系统功能扩充时可能增加种类数据存储是

15、数据结构停留或保存的地方,也是数据流的来源和去向之一。数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。6.2 需求分析需求分析处理过程名:查询成绩说明:学生查询成绩输入(数据流):提交查询输出(数据流): 查询结果处理:处理频度要求处理简要说明:响应时间要求处理过程的具体处理逻辑一般用判定表或判定树描述。处理过程的具体处理逻辑一般用判定表或判定树描述。6.2 需求分析需求分析v4.数据流图数据流图v数据流图中的基本元素有:(1)圆圈圆圈表示处理,输入数据在此进行变换产生输出数据。其中注明处理的名称。(2)矩形矩形描述一个输入源点或输出汇点。其中注明源点或汇点的名称。(3)命名的

16、箭头命名的箭头描述一个数据流。被加工的数据及其流向,流线上注明数据名称,箭头代表数据流动方向。v最终形成的数据流图和数据字典为“系统需求分析说明书”的主要内容,这是下一步进行概念设计的基础。6.2 需求分析需求分析v DFD特性特性 抽象性:在DFD中具体的组织机构、工作场所、物质流等都已经去掉,只剩下信息和数据存储、流动、使用以及加工的情况。故描述的是抽象出来的数据。概括性:它把系统对各种业务的处理过程联系起来考虑,形成一个总体,可反映出数据流之间的概括情况。6.2 需求分析需求分析vDFD用途用途自顶而下分析系统的信息流程。 在图上确定需要计算机处理的部分。 向数据库设计过渡。 根据数据流

17、向确定存取方式。 能够对应一个处理过程。 6.2 需求分析需求分析vDFD优缺点优缺点总体概念强:每层明确“ 干什么”、“ 需要什么”、“给出什么”。 可反映出数据流向的处理过程。 容易及早发现系统各部分逻辑错误。 易与计算机处理对照。 不直观。 人工绘制太麻烦,工作量较大。 6.2 需求分析需求分析v数据流图的步骤数据流图的步骤对于不同的问题,数据流图可以有不同的画法。一般情况下,应该遵守“由外向里”的原则。即先确定系统的边界或范围,再考虑系统的内部,先画加工的输入和输出,再画加工内部。具体实行时可按下述步骤进行: 6.2 需求分析需求分析(1)识别系统的输入和输出,画出顶层图即确定系统的边

18、界。在系统分析初期,系统的功能需求等还不很明确,为了防止遗漏,不妨先将范围定得大一些。系统边界确定后,那么越过边界的数据流就是系统的输入或输出,将输入与输出用加工符号连接起来,并加上输入数据来源和输出数据去向就形成了顶层图 6.2 需求分析需求分析v(2)画系统内部的数据流、加工与文件,画出一级细化图从系统输入端到输出端(也可反之),逐步用数据流和加工连接起来,当数据流的组成或值发生变化时,就在该处画一个“加工”符号。画数据流图时还应同时画上文件,以反映各种数据的存贮处,并表明数据流是流入还是流出文件。最后,再回过头来检查系统的边界,补上遗漏但有用的输入输出数据流,删去那些没被系统使用的数据流

19、。 6.2 需求分析需求分析v(3)加工的进一步分解,画出二级细化图同样运用“由外向里”方式对每个加工进行分析,如果在该加工内部还有数据流,则可将该加工分成若干个子加工,并用一些数据流把子加工联接起来,即可画出二级细化图。二级细化图可在一级细化图的基础上画出,也可单独画出该加工的二级细化图,二级细化图也称为该加工的子图。6.2 需求分析需求分析v(4)其它注意事项一般应先给数据流命名,再根据输入/输出数据流名的含义为加工命名。名字含义要确切,要能反映相应的整体。若碰到难以命名的情况,则很可能是分解不恰当造成的。应考虑重新分解。 6.2 需求分析需求分析v从左至右画数据流图。通常左侧、右侧分别是

20、数据源和终点,中间是一系列加工和文件。正式的数据流图应尽量避免线条交叉,必要时可用重复的数据源、终点和文件符号。此外,数据流图中各种符号布置要合理,分布应均匀。v画数据流图是一项艰巨的工作,要做好重画的思想准备,重画是为了消除隐患,有必要不断改进。 数据流图举例v绘制第0层DFD的时候,将整个系统看成一个加工,然后找出作用于该加工的外部实体,以及相应的数据输入和输出。v对于“学生成绩管理系统”而言,整个系统就是一个加工“学生成绩管理”。从用户的需求描述可知,“教务人员”是数据的源点,“学生”是数据的终点。另外,教务人员需要录入学生信息、课程信息和成绩,说明“学生信息”、“课程信息”和“成绩”是数据流;同样,“查询请求”和“查询结果”也是数据流。v根据上述分析,得到如图所示的第0层DFD 数据流图举例v第0层DFD图教务人员维护学生信息和课程信息,并登录学生的选课成绩;学生查询自己的成绩单。数据流图举例v绘制下一层数据流图时,细化第0层的加工“学生成绩管理”,

温馨提示

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

评论

0/150

提交评论