数据库需求调查与需求分析.docx_第1页
数据库需求调查与需求分析.docx_第2页
数据库需求调查与需求分析.docx_第3页
数据库需求调查与需求分析.docx_第4页
数据库需求调查与需求分析.docx_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

第二章 数据库需求调查与需求分析2.1 概述2.1.1 数据库需求分析的定义数据库需求分析是从现存系统开始的。现存系统就是现在使用的系统,可能是一个手工系统,也可能是一个计算机系统。通过对现存系统的调查和分析,开发符合用户需求的数据库系统(也称作目标系统)。作为数据库系统需求分析的一部分,数据库需求分析是数据库需求分析人员在调查现存系统基础上,分析和确认用户的数据需求。数据库需求分析是数据库开发的基础,其工作质量的好坏将直接影响到数据库设计乃至整个数据库系统开发工作的成败。2.1.2 数据库需求分析的内容数据库需求分析的主要内容是数据结构分析、数据定义分析、数据操纵分析、数据完整性分析、数据安全性分析、数据库性能分析。1. 数据结构分析数据结构分析是分析目标系统运行过程中需要的各种数据的结构特征。数据结构包括数据的名称、含义、数据类型、构成等。这些数据有些是业务数据、有些是系统运行管理与维护数据(如运行日志、维护日志)、有些是用户注册数据(如用户名称、用户编号)。数据字典是描述数据结构的常用工具。2. 数据定义分析在数据库系统中,绝大多数数据库基本表、视图、索引、角色等对象是在目标系统实现或初始化阶段创建的,但也有一些是在目标系统安装或正常运行期间动态创建的。数据定义分析是分析目标系统动态创建、修改和删除基本表、视图、索引、角色等数据对象的需求。3. 数据操纵分析数据操纵分析是分析数据库用户关于数据插入、修改、删除、查询、统计和排序等的数据操纵需求。4. 数据完整性分析数据完整性分析是分析数据之间的各种联系。数据联系常常在数据字典和E-R图中描述。5. 数据安全性分析数据安全性分析是分析数据库的各种安全需求。根据这些需求,设计人员才能设计数据库的用户、角色、权限、加密方法等数据库安全保密措施。数据安全性需求可以在数据字典中描述。6. 并发处理分析并发处理分析是数据库需求分析人员在现存系统调查的基础上,分析数据库的各种并发处理需求,为数据库并发控制设计提供依据。并发处理需求可以在数据字典中描述。7. 数据库性能分析数据库性能分析是数据库需求分析人员在现存系统调查的基础上,分析数据库容量、吞吐量、精度、响应时间、存储方式、可靠性、可扩展性、可维护性等数据库性能需求。2.1.3 数据库需求分析的原则1. 制订数据库需求分析计划数据库需求分析人员首先要制定好工作计划,如何时到何地做何工作,需要用户方何人协助,需要哪些开发人员协助等等。不断检查、调整、及时总结工作成果。2. 选择适当的数据库需求分析方法选择一种合适的数据库需求分析方法,如结构化分析方法、原型化分析方法、面向对象分析方法。3. 选择合适的数据库需求分析工具软件为了提高数据库需求分析的效率,数据库需求分析人员应尽量使用数据库需求分析工具,如美国Rational公司的Requisite PRO、美国Microsoft公司的Visio。4. 调查现存系统数据库需求分析人员应该认真收集、整理现存系统中的各种数据,避免遗漏和错误发生。5. 充分与用户沟通数据库需求分析人员要使用用户能够理解的语言进行沟通,避免使用纯计算机专业语言来提问、解释有关问题。充分尊重用户的意见,尽可能满足用户的需求。对一些不能实现的要求则要耐心解释为什么不能或不应该实现。6. 理解用户的数据管理内容及目标 数据库需求分析人员只有理解用户的数据管理内容及目标,才能有助于数据库设计人员设计出满足用户需要的目标系统。7. 分析并确认数据库需求数据需求并不是现存系统数据实际情况的复制,因为现存系统中的数据可能存在描述错误、冗余、不准确、不完整、不一致等现象。数据库需求分析人员应该消除以上不合理现象,必要时通过修改数据结构、合并数据、分解数据等手段,反复权衡,获得准确的数据库需求。8. 需求变更要立即联系虽然完全消除数据库需求变更非常困难,但过多的需求变更会给严重影响系统开发进度和质量。因此,减少乃至消除需求变更是数据库需求分析人员的重要任务之一,需求变更的多寡也反映了数据库需求分析工作的质量和水平。在系统开发过程中,需求变更出现得越晚,影响就越大。例如,总体结构已确定但发现要增加新的功能模块就将导致高代价的返工。用户如需变更需求应与开发方及早联系。9. 提出数据库实施建议和解决方案通常用户所说的“需求”已经是一种实际可行的实施方案,数据库需求分析人员应尽力从该实施方案中了解真正的数据需求,同时还应找出现存系统数据管理业务不合理之处,以确保目标系统不会无效或低效;在彻底弄清业务领域内的数据后,提出改进方法,增加一些用户没有发现的有价值的数据特性。10. 认真撰写数据库需求规格说明书数据库需求规格说明书是数据库系统需求分析的一部分,它完整、清晰、准确、易于理解地描述了数据库的各种需求。因此,数据库需求分析人员不仅要有良好的计算机专业知识,还要有良好的目标系统所处理的事务对应领域的专业知识,以及良好的文字表达能力。在文档中暂时加上“待定”标志是个方法。用该标志可指明哪些是需要进一步讨论、分析或增加信息的地方,有时也可能因为某个特殊需求难以解决或没有人愿意处理它而标注上“待定”。如果用户一时不能准确表达,通常要用原型开发技术。通过原型开发技术,用户可以同开发人员一起反复修改,不断完善需求定义。11. 使用软件复用技术充分利用现有的数据库需求分析文档,实现文档复用(即重复使用)。数据库需求分析人员如果发现有某个软件的数据库需求与用户描述的需求相近,则可以充分利用之,以缩短数据库需求分析的时间。12. 认真评审数据库需求规格说明书为了确认数据库需求规格说明书所描述的数据库需求的合理性、完整性、正确性,还必须进行数据库需求评审。数据库需求评审一般和数据库系统评审一起进行,评审的主要内容是:(1)数据库需求是否和用户的需求一致。(2)数据库需求是否满足数据库系统的要求,是否存在接口问题。(2)数据库需求规格说明书的内容是否齐全。(3)数据库需求规格说明书是否完整、清晰、准确、易于理解地反映了用户数据需求。(4)所有图表是否合理,解释是否充分。为了保证数据库需求的评审质量,评审人员应包括数据库需求分析人员、用户、数据库系统设计人员和测试人员、项目负责人。评审结束后,评审负责人应该签名、给出评审意见。此外,如果时间允许,开发人员可以先为目标系统开发一个原型(即目标系统的某种版本)。这样用户就能提供更有价值的反馈信息给开发人员,使他们更好地理解数据库需求;原型不一定是最终目标系统,但开发人员能将其转化、扩充成功能齐全的系统。 13. 修改、完善数据库需求规格说明书根据评审意见,认真修改数据库需求规格说明书直至用户方和开发方共同批准。共同批准的数据库需求规格说明书是数据库设计、数据库测试和验收的依据。数据库需求分析的最终目的是获得共同批准的数据库需求规格说明书。182.1.4 数据库系统需求分析的方法和工具1. 需求分析的工具数据库系统需求分析的工具很多,常用的工具有数据流程图、数据字典、判定表、判定树、结构化自然语言、伪代码、层次方框图、Warnier图、IPO(Input、Process、Output,输入、处理、输出)图、统一建模语言(Unified Modeling Language,UML)等。数据流程图(Data Flow Diagram,DFD)是数据库系统最重要的需求分析工具之一,它通过图形符号描述数据的输入(来源)、输出(去向)和移动变换过程。DFD的基本图形元素有4个:外部实体、数据流、处理、数据存储,如图2-2所示。202. 需求分析的方法数据库系统需求分析的方法很多,常用的方法有结构化分析方法、原型化分析方法、面向对象分析方法。结构化分析(Structured Analysis,SA)方法是最著名需求分析方法之一,它通过与DFD结合,遵循自顶向下、逐层分解和结构化、模块化的原则从DFD的顶层(即第0层)开始,逐层、逐幅画出数据库系统的全部DFD。如图2-3所示22 23 242.2 数据库需求调查数据库需求调查是数据库需求分析人员通过充分调查现存系统,了解现存系统数据的结构特征、使用者及与其他数据库系统的联系等各种数据需求。2.2.1 数据库需求调查的内容数据库需求调查的任务是调查现存系统的各种数据,其中一些数据可能是描述组织、部门等实体的,也有一些可能是描述票据、表格、帐本等常规业务数据的,还有一些可能是描述图形、图像、视频、语音等多媒体业务数据的。数据库需求调查的主要内容如下:(1)调查组织、部门等实体 包括了解该组织的部门组成情况、人员岗位职责等。(2)调查各部门的业务数据 包括了解各个部门和人员输入和使用什么数据、输出什么数据、输出到什么部门、输出结果的格式是什么。(3)明确目标系统的各种数据需求 在熟悉业务数据的基础上,协助用户明确目标系统的各种数据需求。2.2.2 数据库需求调查的原则(1)自顶向下全面展开 系统调查工作应先从整个管理机构的工作模式、组织结构、业务流程、信息流程开始调查,从整体到具体,由粗及细,逐步调查。(2)分析现存系统数据管理存在的问题,研究改进的可能性(3)采用工程化的工作方法工程化方法就是制定协同工作计划,注意多人协同工作时的时间衔接、任务衔接,注意需求分析中所用的术语、图例、表格等统一和规范化,以方便群体之间的相互沟通。(4)全面铺开与重点调查相结合2.2.3 数据库需求调查的方法(1)跟班作业法 跟班作业法是数据库需求分析人员亲临一线现场,通过从事或者观察组织的业务管理来调查系统的数据需求。该方法通常是在其他数据收集方法碰到困难或者系统的某一部分过于复杂以至于用户很难把他们工作中碰到的困难以及需求解释清楚的时候使用。(2)文档阅读法 数据库需求分析人员阅读、分析现存系统的开发、运行维护和问题报告等文档是了解现存系统一个快捷方法。(3)网站访问法 各个组织存在的问题有很多相似之处,尤其是相类似的组织。网站访问法是通过访问其他已解决相关问题组织的网站而调查数据库需求的一种方法。如果能够分享到相关信息将会节省大量的时间和精力。(4)专家介绍法 专家介绍法是请业务熟练的专家或用户介绍业务知识、业务活动和数据管理等情况而调查数据库需求的一种方法。该方法有利于数据库需求分析人员尽快、准确地了解现存系统及其存在的问题、改进措施,确认目标系统的数据需求。(5)问卷调查法 问卷调查法是通过特别设计的问卷来收集用户的想法、意见以及基本信息的而调查数据库需求的一种方法。问卷可以大量复印并散发给各个用户,用户可以在他们方便的时候作答。该方法可以对同一问题收集大量的信息。(6)单独询问法 单独询问法是一种常用的数据库需求调查方法。它通过面谈、电话、邮件等通信形式,实现以下目标:收集信息、确认信息、净化信息、确定需求、征求用户的想法和意见等。(7)原型演示法 原型演示法是通过通过建立一个小型的组织需求模型来发现和确认组织需求的一种方法。该方法尤其是在难以定义组织需求的时候很有用。该方法的本质是:当使用者看到它们(需求)时才会意识到它们(需求)的存在。(8)团体会议法 单独的面谈或者问卷调查经常有互相矛盾的事实和观点,以及花费大量的时间和精力。团体会议需要详尽的培训,以使调查工作有明确的目的性。但是该方法能节约大量的调查时间。2.3 数据字典2.3.1 数据字典的基本概念数据字典(Data Dictionary,DD)是数据收集和分析后所获得的成果,它定义了所有与系统相关的数据项、数据结构、外部实体、数据流、数据存储、处理逻辑等数据字典元素,并按字典顺序组织编写,以方便用户和开发人员理解系统的输入、输出、存储和处理逻辑。数据字典中的所有描述应该具有严密性、准确性和无二义性。数据字典和DFD共同构成了数据库系统的逻辑模型,是需求规格说明书的主要组成部分。数据字典用相应数据字典元素的词条描述,每个词条应包含以下信息:(1)名称 定义数据字典元素的名称。每个数据字典元素都有一个区别于其他数据字典元素的名称,不允许不同的数据字典元素使用同一名称。数据字典元素的名称一般和业务管理的单据、帐本等实际工作中所用的名称一致。(2)别名 定义数据字典元素的别名。有些数据字典元素可能有别名,如库存管理系统中的订货单的别名有订单。(3)代码 定义数据字典元素的代码,代码一般可由汉语拼音声母缩略而成、或者用英文单词或英文缩略词等。代码既可以用于数据库需求分析和设计,还可以在数据库实现时用于表示基本表、视图的属性名称。不允许不同的数据字典元素使用同一代码。(4)编号 定义数据字典元素的编号。良好的编号方法能够很好地反映数据字典元素之间的关系,方便数据库开发人员阅读、审核,也是避免数据分析遗漏的有效手段。(5)分类 定义数据字典元素的类别,是数据项、数据结构、外部实体、数据流、数据存储还是处理逻辑。(6)描述 定义数据字典元素的含义、构成等。数据字典编制过程中常常使用表2-1所示的符号。362.3.2 数据项数据项也称为数据元素,是在其所属系统范围内具有完整意义的、不可再分的数据。数据项的含义是相对的,它和所属系统有着密切的关系。即某些数据在一个系统中是数据项,而在另一个系统中未必是数据项。在数据库系统开发中,大部分数据项作为基本表和视图的属性(属性也称为字段、属性列、列)的设计依据,部分作为应用程序常量或变量的设计依据。数据项用数据项词条描述。数据项词条一般应包含如下内容:(1)数据项名称 给出数据项的名称。(2)别名 如果数据项有多个名称,则给出别名。(3)编号 给出数据项的编号。可采用自顶向下的方法编号。(4)含义说明 说明数据项的含义、用途等。(5)类型 说明数据项的数据类型,如字符型、数值型、日期型、逻辑型、备注型等。(6)长度 说明数据项长度,常用字节数、二进制位数等表示。(7)取值范围及含义 说明数据项的取值范围及含义。例如,性别数据项取值范围为1, 0,其中1表示男、0表示女。(8)相关元素 说明与该数据项有关的DFD、数据字典元素等。392.3.3 数据结构数据结构是由若干个相互关联的数据项依据某种逻辑联系组织起来的联合体。例如,在成绩管理系统中,学生信息就是一个数据结构,即用姓名、学号、所在系、专业等数据项联合起来描述学生,表示学生身份的完整信息。此外,数据结构可能是若干个数据项或其他数据结构构成的。也就是说,数据结构中可以含有数据结构。在数据库系统开发中,数据结构可以用基本表、视图等实现。数据结构用数据结构词条描述。数据结构词条一般应包含如下内容:(1)数据结构名称 给出数据结构的名称。(2)别名 如果数据结构有多个名称,则给出别名。(3)编号 给出数据结构的编号。可采用自顶向下的方法编号。(4)含义说明 说明数据结构的含义、用途等。(5)组成 说明数据结构是由哪些数据项或数据结构组成的。(6)相关元素 说明与该数据结构有关的DFD、数据字典元素等。其中,“组成”和“相关元素”可能构成数据完整性约束条件。422.3.4 外部实体外部实体是指不受系统控制、处于系统之外的事物、机构、人员等客观实体的统称。外部实体在DFD中一般作为数据流的源点(起点)或汇点(终点)。在数据库系统开发中,外部实体可作为基本表、应用程序常量或变量的设计依据。外部实体用外部实体词条描述。外部实体词条一般应包含如下内容:(1)外部实体名称 给出外部实体的名称。(2)别名 如果外部实体有多个名称,则给出别名。(3)编号 给出外部实体的编号。可采用自顶向下的方法编号。(4)简要描述 说明外部实体的性质、职能等。(5)输入的数据流 列出进入该外部实体的数据流。(6)输出的数据流 列出离开该外部实体的数据流。(7)数量:在整个DFD中,该外部实体出现的次数。452.3.5 数据流数据流是系统中有着起点和终点的数据结构;其中,起点和终点可以是外部实体、处理、数据存储之一,但是起点和终点中至少有一个是处理。数据流反映了数据从起点到终点的移动。例如,在学生成绩管理系统中,从成绩数据存储中读出某个学生的成绩用于形成成绩单,成绩就是数据流,其起点是成绩数据存储、终点是形成成绩单处理。在数据库系统开发中,数据流可以用视图等实现。数据流用数据流词条描述。数据流词条一般应包含如下内容:(1)数据流名称 给出数据流的名称。(2)别名 如果数据流有多个名称,则给出别名。(3)编号 给出数据流的编号。可采用自顶向下的方法编号。(4)说明 简要介绍数据流产生的原因和结果。(5)数据流来源 指出数据流来自何方。(6)数据流去向 指出数据流到何处去。(7)组成 说明数据流是由哪些数据结构组成的。(8)平均流量 给出数据流平均流量,即单位时间(如每天、每周、每月)内传输的次数。(9)高峰期流量 给出数据流高峰期的流量。平均流量、高峰期流量等为数据库的存储设计、服务器设计等提供依据。(10)相关元素 说明与该数据流有关的DFD、数据字典元素等。482.3.6 数据存储数据存储是数据及其结构停留或保存的地方,是数据流的来源和去向之一。数据存储可以是手工文档、手工凭单或计算机文档。例如,在学生成绩管理系统中,学生基本信息就是一个数据存储。在数据库系统开发中,数据存储一般用基本表实现。数据存储用数据存储词条描述。数据存储词条一般应包含如下内容:(1)数据存储名称 给出数据存储的名称。(2)别名 如果数据存储有多个名称,则给出别名。(3)编号 给出数据存储的编号。数据存储编号一般以字母F开头,然后按顺序编号。(4)说明 简要介绍存放的是什么数据。(5)输入的数据流 说明进入该数据存储的数据流。(6)输出的数据流 说明从该数据存储出去的数据流。(7)组成 说明数据存储是由哪些数据结构组成的。(8)数据量 说明每次存取多少数据。(9)存取频度 给出该数据存储单位时间(如每天、每周、每月)内的存取次数。(10)存取方式 说明是批处理还是联机处理、是检索还是更新、是顺序检索还是随机检索,指出关键字等。数据量、存取频度、存取方式等为数据库的存储设计、服务器设计等提供依据。(11)相关元素 说明与该数据存储有关的DFD、数据字典元素等。522.3.7 处理逻辑数据库系统要做的工作包括数据读取、数据变换、数据显示、数据写入、数据通信等,这些工作在DFD中用处理来表示。处理逻辑用于描述处理是如何工作的,有哪些输入和输出。描述处理逻辑的方法比较多,如判定表、判定树、结构化自然语言、伪代码(相关内容在软件工程、高级语言程序设计、算法设计等著作中有比较深入的介绍),但这些方法占用篇幅比较大。相反,数据字典中的处理逻辑词条用很小的篇幅给出处理逻辑的简明描述,便于快速地从宏观上了解数据库系统的功能,因而应用非常广泛。在数据库系统设计与实现阶段,处理逻辑往往与应用程序模块形成一一对应的关系。处理逻辑词条一般应包含如下内容:(1)处理名称 给出处理的名称。(2)编号 给出处理的编号,编号与DFD一致。(3)说明 简要介绍处理及其功能。(4)输入的数据流 列出进入该处理的数据流。(5)输出的数据流 列出离开该处理的数据流。(7)处理逻辑 简要介绍处理事项、逻辑顺序。注意,由于词条的空间不能太大,处理逻辑在数据字典中一般不需要详细描述,详细描述应在软件功能分析中进行。(8)平均执行频率 给出该处理单位时间(如每天、每周、每月)内的平均运行次数。(9)平均执行频率 给出该处理单位时间(如每天、每周、每月)内的高峰期运行次数。(9)相关元素 说明与该处理逻辑有关的DFD、数据字典元素等。552.3.8 数据字典编制的结构化方法SA方法可以用来编制和组织数据字典。具体做法是:首先是数据字典的词条按照“自顶向下、逐层分解”的顺序展开,这样做的好处是层次清晰、易于阅读。其次是数据字典的编号也可以利用层次化的思想进行设计,这样做的好处是容易找出数据字典元素之间的层次关系。例2-1 试用SA方法编制图2-12所示的银行储蓄管理系统的“银行存折”数据存储相关的数据存储、数据结构、数据项等词条。为了节省篇幅,我们仅给出数据字典元素的名称,组成(或含义)、类别和编号。57存折=户名+所号+帐号+开户日+性质+(印密)+1存取行50,数据存储,编号:F1。户名=2字母24,数据项,编号:1.1。所号=00019999,数据项,编号:1.2。帐号=0000000199999999,数据项,编号:1.3。开户日= 年+月+日,数据结构,编号:1.4。性质=1.6,数据项,编号:1.5。其中1表示普通帐户,2表示工资帐户等。印密=0 .1,数据项,编号:1.6。其中0表示有印密;1表示没有印密,即印密在存折上不显示。存取行=日期+(摘要)+支出+存入+余额+操作+复核,数据结构,编号:1.7。日期= 年+月+日,数据结构,编号:1.7.1。年=0001.9999,数据项,编号:1.7.1.1。月=01.12,数据项,编号:1.7.1.2。日=01.31,数据项,编号:1.7.1.3。印密=0 .1,数据项,编号:1.6。其中0表示有印密;1表示没有印密,即印密在存折上不显示。存取行=日期+(摘要)+支出+存入+余额+操作+复核,数据结构,编号:1.7。日期= 年+月+日,数据结构,编号:1.7.1。年=0001.9999,数据项,编号:1.7.1.1。月=01.12,数据项,编号:1.7.1.2。日=01.31,数据项,编号:1.7.1.3。摘要= 1字母4,数据项,编号:1.7.2。其中摘要的内容用缩略词表示业务种类,如“存”、“取”、“转”、“换”分别表示“存款”、“取款”、“转帐”、“更换新存折”。支出=金额,数据项,编号:1.7.3。存入=金额,数据项,编号:1.7.4。余额=金额,数据项,编号:1.7.5。金额=0.01.99999999.99,数据项,编号:1.7.3.1。操作=00001.99999,数据项,编号:1.7.6。复核=00001.99999,数据项,编号:1.7.7。2.4 信息分类与编码为了提高信息的存储、处理和使用效率,有必要对信息进行科学的分类与编码。2.4.1 信息分类1. 信息分类的原则信息分类是指将具有某种共同属性或特征的信息归并在一起,把不具有上述共性的信息区别开来的过程。信息分类要遵循以下原则:(1)科学性原则 科学性是信息分类的客观要求。通常选择事物或概念(即分类对象)最稳定的本质属性或特征作为分类的基础和依据。(2)系统性原则 将选定的事物或概念的属性或特征按一定排列顺序予以系统化,并形成一个合理的分类体系。(3)可扩展性原则 分类体系的建立应满足事物的不断发展和变化的需要。在设置分类的类目中,要保证在增加新的事务或概念时,不致打乱已建立的分类系统。(4)兼容性原则 分类应与有关标准协调一致。(5)综合实用性原则 信息分类应从系统工程的角度出发,放在具体的应用环境中进行考虑。在类目的设置上,既要体现分类体系的相对稳定性、可扩展性,又要方便用户快速查询。2. 信息分类的方法信息分类的基本方法有两种:线分类法与面分类法。(1)线分类法 线分类法也称等级分类法。线分类法按选定的若干属性(或特征)将分类对象逐次地分为若干层级,每个层级又分为若干类目。同一分支的同层级类目之间构成并列关系,不同层级类目之间构成隶属关系。同层级类目互不重复,互不交叉。例如,我国行政区划编码,是采用线分类法,6位数字码。第一、二位表示省(自治区、直辖市),第3、4位表示地区(市、州、盟),第5、6位表示县(市、旗、镇、区)的名称。湖北省部分行政区的分类及其编码如表3-1所示。64线分类法的优点是:层次性好,能较好地反映类目之间的逻辑关系。它属于传统的习惯分类方式,既符合手工处理信息的传统习惯,又便于计算机对信息进行处理。线分类法的缺点是:结构弹性差。分类结构一经确定,不易改动,因此,使用线分类法必须考虑到有足够的后备容量。此外,当线分类层次较多时,将影响数据处理的速度。(2)面分类法 面分类法将分类对象按选定的若干个属性或特征,分成彼此之间互不相关的若干方面(简称面),每个面又可分为许多彼此独立的若干类目。不同“面”内的类目互不重复,互不交叉。使用时,可根据需要将这些面中的类目组合在一起,形成一个复合类目。例如,服装的分类可以按照服装所用的材料、男女服装以及服装款式等分成几个面,每个面内又分成若干类目,如表3-2所示。67面分类法的主要优点是分类结构具有较大的柔性。分类体系中任何一个“面”内类目的改变,不会影响其他的“面”,易于添加和修改类目。除此以外,面分类适用性比较强,可实现按任意“面”的信息进行检索,这对计算机信息处理有良好的适应性。面分类的主要缺点在于不能充分利用容量。这是因为在实践中许多可组配的类目无实用价值。例如,像纯毛男式连衣裙这样的组合类目就无实用意义。线分类法和面分类法各有优缺点。在实际应用中,为了满足信息分类要求,有时还将两种分类方法结合使用。2.4.2 信息编码编码是指事物或概念的名称、属性、状态等的符号或记号。计算机的数据处理工作是通过编码来识别事物与概念的,同时计算机为了高效地对信息进行收集、存贮、加工与检索等作业,信息的编码工作是必不可少的。例如,一个企业设计了职工编号、物资编号、设备编号、合同编号、会计科目编号等。这些编码设计的目的在于识别事物,以及高效率地处理业务。设计编码的基础是信息分类,有了合理的分类方案才能设计出科学的、使用方便的、高效率的编码。1. 信息编码的功能(1)鉴别。编码是鉴别信息分类对象的唯一标识。(2)分类。当分类对象按一定属性分类时,对每一类别设计一个编码,这时编码可以作为区分对象类别的标识。这种标识要求结构清晰,毫不含糊。(3)排序。由于编码所有的符号都具有一定的顺序,因而可以方便地按此顺序进行排序。(4)专用含义。由于某种需要,当采用一些专用符号代表特定事物或概念时,编码就提供一定的专用含义,如某些分类对象的技术参数,性能指标等。2. 信息编码的原则(1)唯一性原则 编码是人、事、物以及概念的一种唯一性的、不合糊的认定。这是信息编码最重要的原则,也是编码最基本的功能。一个编码只能唯一地标识一个信息分类对象,而一个信息分类对象在一个信息分类编码标准中也只能有一个唯一的编码。(2)正确性原则表示信息编码应当科学、合理,既遵循信息编码的基本原理,又符合组织的实际情况。既能满足组织自身的需要,又能满足组织合作伙伴的特殊要求。既要符合国家的标准或规定,又应该尽可能地遵守国际标准或惯例。(3)可扩展性原则 随着管理信息的不断变化,信息编码不能仅仅考虑当前的信息状况,而且应该考虑未来的发展状况和需要。信息编码应该有足够的编码资源,以便满足不断增长的对信息编码的要求,以适应不断扩充的信息处理的需要。(4)规范性原则 编码应尽量符合标准化的要求。有国际的、国家的、部门的、行业的标准。编码时必须符合这些标准的要求。在一个组织(单位、部门)内部,同一种信息分类对象的编码应该统一。(5)稳定性原则 编码工作是建立信息管理系统的一项基础工作。编码的影响面很大,因而设计编码应该慎重,一旦批准通过后,必须严格执行,轻易不作修改。3. 信息编码的方法(1)顺序编码 顺序编码又称系列码。这种编码方法是将要编码的对象按一定的规则(如发生的顺序、大小的顺序等)分配给连续的顺序号码。通常从1开始。例如,一个企业有1000个职工,其职工号可以编成0001、0002、0003、1000。顺序码的特点是简单明了,位数少,易于追加,易于管理。但这种码没有逻辑基础,它本身不能说明任何信息的特征,因而不能用于分类处理等场合。同时追加的部分只能列在最后,删除则造成空码。通常,顺序码适合于比较固定的永久性编码(如大城市编码等),或者和其他编码方式配合使用。(2)区间编码 区间编码是对编码对象分区间进行编码。例如,会计科目编码用区间码表示会计科目的性质:101-199表示资产类科目、201-299表示负债类科目、301-399表示所有者权益类科目、401-499表示成本类科、501-599表示损益类科目。这样,以三个数字按区间编码来代表某一科目,因而编码占用的位数不多,而且能表示较多信息,易追加,易插入,但其缺点是处理比较麻烦。(3)字母编码 字母编码是用具有特定意义的字母代表某一类项目。例如,用“L”代表来源类科目,“Z”代表占用类科目。商品编码中用“TV”表示电视机。各种度量单位编码中用“KG”表示公斤,“m”表示米,“cm”表示厘米等等。这种编码的特点是可以通过汉语拼音或英语联想帮助记忆,但其位数较多,处理不便,容易产生重复。例如,中国互联网的行政区域名编码SX代表山西省,SN代表陕西省,HB代表湖北省,HE代表河北省等。(4)组合编码 组合编码是以上述三种编码结合使用的编码方法。常用的有:1)按位编码和顺序编码的组合编码法。例如,职工编码共5位,前两位是部门编码,后3位是个人编码,而部门编码及个人编码均按顺序编码。邮政编码、身份证号码、学生学号等编码方法相似。2)字母、数字组合的编码法。是某几位用字母,某几位用数据的编码方法。例如,汽车牌照的编码、电报电传的编码。(5)校验位 为了保证正确的输入,可以在原有编码的右端设计一个校验位,使它事实上变成编码的一个组成部分。校验位通过事先规定的数学方法计算出来。当编码录入时,由计算机按同样的数学方法对输入的编码(原编码部分)数字计算出校验位,并将它与输入的校验位进行比较,以校验输入的编码是否有错。由校验位可以发现以下各种错误:数字看错,例如,1看成7;易位错误,例如,1234输入时误为1324;双易位错,例如,26913输入时误为21963;随机错误,包括以上两种或三种综合性错误或其他错误。校验位的计算方法如下:1)对每位编码加权。即各位编码乘以权因子,求出各位之积,再将各位积相加求和。一般权因子的取法有如下几种: 取一个几何级数,如20、21、22、。 取一个算术级数,如7、6、5、。 都取1。 取1、2、1、2、。 取一串质数17、13、7、5、3、。2)各位乘积之和取模M的余数R,R即可作为校验位的值。模一般为11、也可以是10、13等。下面举例说明校验位的计算与用法。例3-1 设原编码为1 2 3 4 5,用算术级数法确定权因子,试计算其校验位。各位分别乘以权:6、5、4、3、2;得出乘积之和为:(16)+(25)+(34)+(43)+(52)=50。对模11求余:5011余6,则6为校验位。因此,原编码加上一位校验位成为1 2 3 4 5 6。如果将该编码录入时,输入的错误编码为1 2 3 5 5 6,计算机按原来的权重新计算校验位(16)+(25)+(34)+(53)+(52)11,余9。由于计算出的验位值与输入的校验位值不一致,即96,因此该类错误可以很容易地捕获。2.5 数据定义分析数据定义分析的任务是确定系统安装和正常运行期间数据库、基本表、视图、索引等对象的创建、修改与删除等需求。数据定义分析为数据库并发处理设计提供依据。数据定义分析很有必要。首先,虽然数据库系统的上述对象是开发人员在数据库实现时创建的,但是一些通用性较强的数据库系统相当一部分对象是在系统安装或者正常运行时创建的。例如,为了提高数据库的运行速度,证券交易管理系统按月份存储数据,即每个月份的数据存储在该月份对应的数据库中;于是每个月1号之前需要建立一个对应该月的数据库。其次,数据库运行期间可能存在修改某个对象的需求。例如,学生成绩管理系统在运行期间由于系统升级,学生基本信息需要增加一个数据项。最后,在数据库运行期间可能存在删除某个对象的需求。例如,一些临时建立的对象在不使用时需要删除。可以从以下几个方面进行数据定义分析:(1)对象命名时是否考虑了时间因素?如是,则可能有创建需求。(2)数据库系统在运行过程中,为了提高数据处理的速度,可能需要创建临时表,用于存储数据处理的中间结果。(3)由于应用系统的复杂要求,需要在应用程序中动态地创建视图,以简化系统对数据操作的语句。2.6 数据操纵分析数据操纵分析主要是数据插入、修改、删除、查询、统计和排序等方面的分析。2.6.1 数据更新分析数据更新是指对数据库中的数据进行各种更新操作,包括对数据进行插入、修改、删除等操作,从而使数据库中的数据发生变化。1. 数据插入数据插入是在原有数据的基础上增加新的数据。插入的数据可以是一个表中的一条或者多条记录。在关系数据库中数据插入语句有两种使用形式:一种是使用常量,一次插入一个记录。另一种是利用查询的结果集,一次插入多个记录。2. 数据删除数据删除是将对原有的不需要的数据执行删除操作,从而达到减少数据使数据得到更新的目的。在对数据执行删除操作时,若需要删除的数据和其他表中的数据有关联,则为了保证数据的完整性和一致性,通常也需要将相关数据进行删除更新操作。3. 数据修改数据修改是指对原有数据中的部分数据或者全部数据进行修改操作,从而使数据满足新要求而实现数据更新的目的。在关系数据库中,数据经常需要执行修改操作,以符合新的要求。例如,在学生基本信息表中,当某个学生的专业发生变化时,就需要修改原来所登记的专业信息以达到更新的目的。2.6.2 数据查询分析数据查询分析的任务是确定系统正常运行期间,根据数据字典、应用系统需求及用户的需求,确定哪些属性作为数据查询的选择条件构造依据,并根据系统对数据查询响应时间要求的快慢,合理地完成索引等对象的创建、修改与删除等操作。一般可以从以下几个方面进行数据查询分析:(1)根据系统需求分析的结果及各类用户对数据查询的需求,分析应用系统需要哪些实体集的属性作为系统查询的条件,如某工厂管理系统要求依据职工的岗位、职位等属性进行数据的查询。(2)根据分析比较,确定数据查询速度的快慢,合理地针对某些属性设计索引,以加快查询响应时间。2.6.3 数据统计和排序分析所谓排序是指将一组杂乱无章的数据按一定的规律顺次排列起来。比如,按人名的笔画数、工资额、销售业绩由高到低排列等等。为了使数据更具有层次感,需要对基本表中的数据进行分类汇总,将数据库中的记录按某个字段分类后进行汇总统计,统计方式包括求和、求平均值、计数、求最大(小)值等。 分组(类)统计的例子有:(1)按照销售代表、生产线、销售区域或季度分组进行销售情况统计。(2)按照公司部门(分公司)、生产线或季度分组进行财务情况统计。(3)按照部件、供应商和生产厂家分组进行投资情况统计。2.7 数据完整性分析完整性分析是基本表设计的重要基础,它是找出保证数据库中数据满足一致性、正确性和有效性的需求,其目的是防止错误的数据进入数据库。(1)一致性 一致性是指表示同一事实的两个数据应当一致。例如,学生成绩管理系统中各个学院保存的学生成绩应该和学校教务处保存的学生成绩一致。(2)正确性 正确性是指数据必须正确无误的。例如,数值型数据中只能含有数字而不能含有字母。(3)有效性 有效性是指数据必须在其定义域之内。例如,性别的定义域为集合男,女,性别必须在此定义域中取值。数据完整性分析的主要任务是确定数据项取值范围、关键字、数据关联。2.7.1 数据项取值范围数据项取值是有取值范围限制的,这种限制可以在某种程度上减轻应用程序逻辑查错的负担。例如,在职工基本信息中,根据习惯职工年龄一般为正整数,在输入年龄时,如果不小心输入为负数或者是小数时,数据库系统就会自动提示出错,不充许数据输入。数据项取值范围一般在数据字典的数据项词条中说明。2.7.2 关键字关键字是能够唯一标识一个实体的一个或一个以上的无冗余数据项(或数据结构)。关键字在数据库设计中也称为主码,没有两个实体具有相同关键字。如果关键字是由一组数据项(或数据结构)组成,则其中不能含有多余的数据项(或数据结构)。例如,在学生基本信息中,学号就是关键字,学号确定后,学生的其他数据项的值也就确定了。而且,虽然姓名+学号也能唯一确定一个学生,但其中的姓名是多余的。关键字一般通过分析描述实体的各数据项,从这些数据项中挑选一个或多个作为关键字。因此,关键字可能不止一个。例如,也可以用公民身份证号码作为学生基本信息的关键字。有时,为了方便,不在实体的各数据项中找出关键字,而是人工制造一个关键字。例如,在珍稀野生动物管理中,通常采用编号而不是DNA指纹来识别这些动物,虽然两者均是关键字。关键字主要用于提高数据处理、检索和更新速度,保证数据不能被重复输入到数据库中。关键字一般在数据字典的数据存储词条中说明。2.7.3 数据关联数据关联是指两个或多个对象之间的联系。这里,对象是指数据项、数据结构、基本表、视图。数据关联分为算术关联、集合关联、逻辑关联三类。 1. 算术关联算术关联是通过算术运算符把两个或多个对象联系起来。常用的算术运算有4种,它们是加、减、乘、除。例如,金额=单价数量。2. 集合关联集合关联是通过集合运算符把两个或多个对象联系起来。常用的集合运算有并、交、包含、属于等。3. 逻辑关联逻辑关联是通过逻辑运算符把两个或多个对象联系起来。常用的逻辑运算有与、或、非、大于、等于、小于等。2.8 数据安全性分析数据库的安全性和计算机系统的安全性,包括计算机硬件、操作系统、网络系统等的安全性、是紧密联系、相互支持的,因此在讨论数据库的安全性之前首先讨论计算机系统安全性的一般问题。数据库安全性分析主要关心数据库用户及其权限、数据加密需求、病毒防护需求、防非法访问需求。2.8.1 数据安全的概念数据库的安全性是指保护数据库,以防止不合法的使用造成的数据泄密、更改或破坏。不合法的使用是指不具有数据操纵权限的用户进行了越权的数据操纵。DBMS通过种种防范措施防止用户越权使用数据库,其安全保护措施是否有效是数据库系统的主要性能指标之一。2.8.2 数据访问权限DBMS对需要访问数据库的用户提供了多项安全控制措施以保证数据的安全,只允许用户执行合法的操作。这些保护措施包括:用户标识和鉴别、存取控制、自主存取控制、强制存取控制、视图机制、审计等。1. 用户标识和鉴别用户标识和鉴别是系统提供的最外层安全保护措施。每次用户要求访问数据时都要求输入用户标识,进行核对后,对于合法的用户才提供数据访问权限。常用的方法有:用输入用户名来标明用户身份。通过回答口令来标识用户身份。通过回答随机数的运算结果标明用户身份。2. 存取控制DBMS的存取控制是数据库安全的一个重要保证,它确保具有数据库使用权的用户访问数据库,同时令未被授权的人员无法访问数据。存取控制机制主要包括两个部分:定义用户权限,并将用户权限登记到数据库中。当用户提出操作请求时,系统进行权限检查。存取机制的类型有:自主存取控制。在自主存取控制方法中,用户对于不同的对象有不同的存取权限,不同的用户对同一对象的存取权限也各不相同,用户可以将自己拥有的存取权限转授给其他用户。很明显,自主存取控制比较灵活。强制存取控制。在强制存取控制方法中:每个数据对象被标以一定的密级。每个用户也被授予某一个级别的许可证。对于任意一个对象,只有具有合法许可证的用户才可以存取。与自主存取控制比较起来,强制存取控制比较严格。3. 自主存取控制方法在关系数据库系统中,系统对自主存取控制提供了支持,其数据控制语言主要是授权和收权语句。(1)关系中的用户权限 用户权限主要包括数据对象和操作类型两个要素,定义用户的存取权限称为授权,通过授权规定用户可以对哪些数据进行什么样的操作。在关系系统中,DBA可以把建立基本表和修改基本表的权限授予用户,用户一旦获得此权限后就可以建立和修改基本表,同时还可以创建所建表的索引和视图,关系系统中存取控制的数据对象不仅包括数据(如表、属性列等),还包括数据库的模式(逻辑模式、外模式和内模式)。(2)关系数据库中的数据控制功能 关系数据库中的数据控制功能主要是授权和收权语句的使用,包括:数据对象的创建者自动获得对于该数据对象的所有操作权限;获得数据操纵权限的用户可以通过授权语句把权限转授给其他用户;当用户将某些权限授给其他用户后,有时还需要把权限收回。(3)授权机制的性能1) 用户权限定义中数据对象范围越小,授权系统就越灵活。授权粒度越细,授权子系统就越灵活,但系统定义与检查权限的开销也会相应地增大。2)用户权限定义中能够使用谓词的授权系统比较灵活。3)用户权限定义中能够使用谓词、且存取谓词中能够引用系统变量的授权系统更加灵活。由于系统变量能够表达诸如日期、时间、设备及用户名等信息,通过它可以控制用户只能在某段时间内、某台终端上存取有关数据。4) 自主存取控制的不足之处自主存取控制能够通过授权机制有效地控制用户对敏感数据的存取,但也存在着一定的缺陷,其主要问题是系统对权限的授予状况无法进行有效的控制,因而可能造成数据的无意泄露。例如,甲将自己权限范围内的某些数据存取权限授权给乙,甲的意图是只允许乙本人操作这些数据。但甲的这种安全性要求并不能得到保证,因为乙一旦获得了对数据的权限,就可以将数据备份,获得自身权限内的副本,并在不征得甲同意的前提下传播副本。造成这一问题的根本原因就在于,这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全标记。4. 强制存取控制方法强制存取控制方法是系统所采取的强制存取检查手段,它不是用户能直接感知或进行控制的

温馨提示

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

评论

0/150

提交评论