数据库原理与应用第2版 蔡延光第2章 数据库需求分析-2版 预览_第1页
数据库原理与应用第2版 蔡延光第2章 数据库需求分析-2版 预览_第2页
数据库原理与应用第2版 蔡延光第2章 数据库需求分析-2版 预览_第3页
数据库原理与应用第2版 蔡延光第2章 数据库需求分析-2版 预览_第4页
数据库原理与应用第2版 蔡延光第2章 数据库需求分析-2版 预览_第5页
已阅读5页,还剩143页未读 继续免费阅读

下载本文档

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

文档简介

普通高等教育“十三五”规划教材数据库原理与应用(第2版)主编 蔡延光参编 黄永慧 邢延 张钢第2章数据库需求分析机械工业出版社内容提要·数据库需求分析是数据库系统开发工作的重要基础。本章首先介绍数据库需求分析的概念、原则、步骤以及数据库系统需求分析的方法和工具,然后介绍数据库需求调查、数据字典、信息分类与编码的基本概念和方法,接着介绍数据定义分析、数据操纵分析、数据完整性分析、数据安全性分析、并发处理分析、数据库性能分析的基本概念和方法,最后介绍数据库需求分析的重要工具E-R图的基本概念及其设计方法。2.1概述2.1.1数据库需求分析的定义数据库需求分析是从现存系统开始的。现存系统就是现在使用的系统,可能是一个手工系统,也可能是一个计算机系统。通过对现存系统的调查和分析,开发符合用户需求的数据库系统(也称作目标系统)。作为数据库系统需求分析的一部分,数据库需求分析是数据库需求分析人员在调查现存系统基础上,分析和确认用户的数据需求。数据库需求分析是数据库开发的基础,其工作质量的好坏将直接影响到数据库设计乃至整个数据库系统开发工作的成败2.1.2数据库需求分析的内容·2.1.2数据库需求分析的内容·数据库需求分析的主要内容是数据结构分析、数据定义分析、数据操纵分析、数据完整性分析、数据安全性分析、数据库性能分析、E-R

图设计。其中数据结构分析、数据完整性分析、E-R图设计是数据库模式设计的重要基础。2.1.2数据库需求分析的内容·1.数据结构分析·数据结构分析是分析目标系统运行过程中需要的各种数据的结构特征。数据结构包括数据的名称、含义、数据类型、构成等。这些数据有些是业务数据、有些是系统运行管理与维护数据(如运行日志、维护日志)、有些是用户注册数据(如用户名称、用户编号)。数据字典是描述数据结构的常用工具。2.1.2数据库需求分析的内容·2.数据定义分析·在数据库系统中,绝大多数数据库基本表、视图、索引、角色等对象是在目标系统实现或初始化阶段创建的,但也有一些是在目标系统安装或正常运行期间动态创建的。数据定义分析是分析目标系统动态创建、修改和删除基本表、视图、索引、角色等数据对象的需求。·3.数据操纵分析·数据操纵分析是分析数据库用户关于数据插入、修改、删除、查询、统计和排序等的数据操纵需求。2.1.2数据库需求分析的内容·4.数据完整性分析·数据完整性分析是分析数据之间的各种联系。数据联系常常在数据字典和E-R图中描述。·5.数据安全性分析·数据安全性分析是分析数据库的各种安全需求。根据这些需求,设计人员才能设计数据库的用户、角色、权限、加密方法等数据库安全保密措施。数据安全性需求可以在数据字典中描述。2.1.2数据库需求分析的内容·6.并发处理分析·并发处理分析是数据库需求分析人员在现存系统调查的基础上,分析数据库的各种并发处理需求,为数据库并发控制设计提供依据。并发处理需求可以在数据字典中描述。·7.数据库性能分析·数据库性能分析是数据库需求分析人员在现存系统调查的基础上,分析数据库容量、吞吐量、精度、响应时间、存储方式、可靠性、可扩展性、可维护性等数据库性能需求。2.1.2数据库需求分析的内容·8.E-R图设计·应用数据结构分析和数据完整性分析等的结果,构造实体集、联系集,用E-R图反映数据间的联系。利用E-R图,设计人员能够很容易地设计基本表。2.1.3数据库需求分析的原则·2.1.3数据库需求分析的原则·1.制订数据库需求分析计划·数据库需求分析人员首先要制定好工作计划,如何时到何地做何工作,需要用户方何人协助,需要哪些开发人员协助等等。不断检查、调整、及时总结工作成果。·2.选择适当的数据库需求分析方法·选择一种合适的数据库需求分析方法,如结构化分析方法、原型化分析方法、面向对象分析方法。2.1.3数据库需求分析的原则·3.选择合适的数据库需求分析工具软件·为了提高数据库需求分析的效率,数据库需求分析人员应尽量使用数据库需求分析工具,如美国IBM公司的Rational

DOORS、美国Microsoft公司的Visio。·4.调查现存系统·数据库需求分析人员应该认真收集、整理现存系统中的各种数据,避免遗漏和错误发生。2.1.3数据库需求分析的原则·5.充分与用户沟通·数据库需求分析人员要使用用户能够理解的语言进行沟通,避免使用纯计算机专业语言来提问、解释有关问题。充分尊重用户的意见,尽可能满足用户的需求。对一些不能实现的要求则要耐心解释为什么不能或不应该实现。·6.理解用户的数据管理内容及目标·数据库需求分析人员只有理解用户的数据管理内容及目标,才能有助于数据库设计人员设计出满足用户需要的目标系统。2.1.3数据库需求分析的原则7.分析并确认数据库需求数据需求并不是现存系统数据实际情况的复制,因为现存系统中的数据可能存在描述错误、冗余、不准确、不完整、不一致等现象。数据库需求分析人员应该消除以上不合理现象,必要时通过修改数据结构、合并数据、分解数据等手段,反复权衡,获得准确的数据库需求。8.需求变更要立即联系虽然完全消除数据库需求变更非常困难,但过多的需求变更会给严重影响系统开发进度和质量。因此,减少乃至消除需求变更是数据库需求分析人员的重要任务之一,需求变更的多寡也反映了数据库需求分析工作的质量和水平。2.1.3数据库需求分析的原则在系统开发过程中,需求变更出现得越晚,影响就越大。例如,总体结构已确定但发现要增加新的功能模块就将导致高代价的返工。用户如需变更需求应与开发方及早联系。9.提出数据库实施建议和解决方案通常用户所说的“需求”已经是一种实际可行的实施方案,数据库需求分析人员应尽力从该实施方案中了解真正的数据需求,同时还应找出现存系统数据管理业务不合理之处,以确保目标系统不会无效或低效;在彻底弄清业务领域内的数据后,提出改进方法,增加一些用户没有发现的有价值的数据特性。2.1.3数据库需求分析的原则10.认真撰写数据库需求规格说明书数据库需求规格说明书是数据库系统需求分析的一部分,它完整、清晰、准确、易于理解地描述了数据库的各种需求。因此,数据库需求分析人员不仅要有良好的计算机专业知识,还要有良好的目标系统所处理的事务对应领域的专业知识,以及良好的文字表达能力。在文档中暂时加上“待定”标志是个方法。用该标志可指明哪些是需要进一步讨论、分析或增加信息的地方,有时也可能因为某个特殊需求难以解决或没有人愿意处理它而标注上“待定”。如果用户一时不能准确表达,通常要用原型开发技术。通过原型开发技术,用户可以同开发人员一起反复修改,不断完善需求定义。2.1.3数据库需求分析的原则·11.使用软件复用技术·充分利用现有的数据库需求分析文档,实现文档复用(即重复使用)。数据库需求分析人员如果发现有某个软件的数据库需求与用户描述的需求相近,则可以充分利用之,以缩短数据库需求分析的时间。2.1.3数据库需求分析的原则12.认真评审数据库需求规格说明书

为了确认数据库需求规格说明书所描述的数据库需求的合理性、完整性、正确性,还必须进行数据库需求评审。

数据库需求评审一般和数据库系统评审一起进行,评审的主要内容是:(1)数据库需求是否和用户的需求一致。

(2)数据库需求是否满足数据库系统的要求,是否存在接口问题。(2)数据库需求规格说明书的内容是否齐全。

(3)数据库需求规格说明书是否完整、清晰、准确、易于理解地反映了用户数据需求。(4)所有图表是否合理,解释是否充分。

为了保证数据库需求的评审质量,评审人员应包括数据库需求分析人员、用户、数据库系统设计人员和测试人员、项目负责人。评审结束后,评审负责人应该签名、给出评审意见。2.1.3数据库需求分析的原则此外,如果时间允许,开发人员可以先为目标系统开发一个原型(即目标系统的某种版本)。这样用户就能提供更有价值的反馈信息给开发人员,使他们更好地理解数据库需求;原型不一定是最终目标系统,但开发人员能将其转化、扩充成功能齐全的系统。13.修改、完善数据库需求规格说明书根据评审意见,认真修改数据库需求规格说明书直至用户方和开发方共同批准。共同批准的数据库需求规格说明书是数据库设计、数据库测试和验收的依据。数据库需求分析的最终目的是获得共同批准的数据库需求规格说明书。2.1.4数据库需求分析的步骤制订数据库需求分析工作计划确定数据库需求分析方法确定数据库需求分析工具调查现存系统分析数据库需求确认数据库需求撰写、完善数据库需求规格说明书评审数据库需求规格说明书评审通过否?否是用户方和开发方共同批准图2-1数据库需求分析的步骤2.1.5数据库系统需求分析的方法和工具2.1.5数据库系统需求分析的方法和工具1.需求分析的工具数据库系统需求分析的工具很多,常用的工具有数据流程图、数据字典、判定表、判定树、结构化自然语言、伪代码、层次方框图、Warnier图、IPO(Input、Process、Output,输入、处理、输出)图、统一建模语言(Unified

Modeling

Language,UML)等。数据流程图(Data

Flow

Diagram,DFD)是数据库系统最重要的需求分析工具之一,它通过图形符号描述数据的输入(来源)、输出(去向)和移动变换过程。

DFD的基本图形元素有4个:外部实体、处理、数据流、数据存储,如图2-2所示。DFD的基本图形符号外部实体(在矩形框内标明外部实体的名称)处理(在上面矩形框内标明处理的编号、在下面矩形框内标明处理的名称)数据流(一般在直线的上方标明数据流的名称)数据存储(在左边矩形框内标明数据存储的编号、在右边开口矩形内标明数据存储的名称)图2-2

DFD的基本图形符号需求分析的方法·2.需求分析的方法·数据库系统需求分析的方法很多,常用的方法有结构化分析方法、原型化分析方法、面向对象分析方法。·结构化分析(Structured

Analysis,SA)方法是最著名需求分析方法之一,它通过与DFD结合,遵循自顶向下、逐层分解和结构化、模块化的

原则从DFD的顶层(即第0层)开始,逐层、逐幅画出数据库系统的全部DFD。如图2-3所示。自顶向下,逐层、逐幅画出DFD图2-3自顶向下,逐层、逐幅画出DFD某超市营销管理系统DFD超市营销管理系统供应商顾客订货单发货单订货单发货单图2-4超市营销管理系统第0层DFD某超市营销管理系统DFD收款通知供应商顾客发货单销售订货单

1采购2结算3到货通知发票应付款通知库存卡F1发货单订货单图2-5超市营销管理系统第1层DFD2.2数据库需求调查·数据库需求调查是数据库需求分析人员通过充分调查现存系统,了解现存系统数据的结构特征、使用者及与其他数据库系统的联系等各种数据需求。·2.2.1数据库需求调查的内容·数据库需求调查的任务是调查现存系统的各种数据,其中一些数据可能是描述组织、部门等实体的,也有一些可能是描述票据、表格、帐本等常规业务数据的,还有一些可能是描述图形、图像、视频、语音等多媒体业务数据的。数据库需求调查的内容·数据库需求调查的主要内容如下:·(1)调查组织、部门等实体包括了解该组织的部门组成情况、人员岗位职责等。·(2)调查各部门的业务数据包括了解各个部门和人员输入和使用什么数据、输出什么数据、输出到什么部门、输出结果的格式是什么。·(3)明确目标系统的各种数据需求在熟悉业务数据的基础上,协助用户明确目标系统的各种数据需求。2.2.2数据库需求调查的原则2.2.2数据库需求调查的原则(1)自顶向下全面展开系统调查工作应先从整个管理机构的工作模式、组织结构、业务流程、信息流程开始调查,从整体到具体,由粗及细,逐步调查。(2)分析现存系统数据管理存在的问题,研究改进的可能性(3)采用工程化的工作方法

工程化方法就是制定协同工作计划,注意多人协同工作时的时间衔接、任务衔接,注意需求分析中所用的术语、图例、表格等统一和规范化,以方便群体之间的相互沟通。(4)全面铺开与重点调查相结合2.2.3数据库需求调查的方法·2.2.3数据库需求调查的方法·(1)跟班作业法跟班作业法是数据库需求分析人员亲临一线现场,通过从事或者观察组织的业务管理来调查系统的数据需求。该方法通常是在其他数据收集方法碰到困难或者系统的某一部分过于复杂以至于用户很难把他们工作中碰到的困难以及需求解释清楚的时候使用。·(2)文档阅读法数据库需求分析人员阅读、分析现存系统的开发、运行维护和问题报告等文档是了解现存系统一个快捷方法。2.2.3数据库需求调查的方法·(3)网站访问法各个组织存在的问题有很多相似之处,尤其是相类似的组织。网站访问法是通过访问其他已解决相关问题组织的网站而调查数据库需求的一种方法。如果能够分享到相关信息将会节省大量的时间和精力。·(4)专家介绍法专家介绍法是请业务熟练的专家或用户介绍业务知识、业务活动和数据管理等情况而调查数据库需求的一种方法。该方法有利于数据库需求分析人员尽快、准确地了解现存系统及其存在的问题、改进措施,确认目标系统的数据需求。2.2.3数据库需求调查的方法·(5)问卷调查法问卷调查法是通过特别设计的问卷来收集用户的想法、意见以及基本信息的而调查数据库需求的一种方法。问卷可以大量复印并散发给各个用户,用户可以在他们方便的时候作答。该方法可以对同一问题收集大量的信息。·(6)单独询问法单独询问法是一种常用的数据库需求调查方法。它通过面谈、电话、邮件等通信形式,实现以下目标:收集信息、确认信息、净化信息、确定需求、征求用户的想法和意见等。2.2.3数据库需求调查的方法·(7)原型演示法原型演示法是通过通过建立一个小型的组织需求模型来发现和确认组织需求的一种方法。该方法尤其是在难以定义组织需求的时候很有用。该方法的本质是:当使用者看到它们(需求)时才会意识到它们(需求)的存在。·(8)团体会议法单独的面谈或者问卷调查经常有互相矛盾的事实和观点,以及花费大量的时间和精力。团体会议需要详尽的培训,以使调查工作有明确的目的性。但是该方法能节约大量的调查时间。2.3数据字典·2.3.1数据字典的基本概念·数据字典(Data

Dictionary,DD)是数据收集和分析后所获得的成果,它定义了所有与系统相关的数据项、数据结构、外部实体、数据流、数据存储、处理逻辑等数据字典元素,并按字典顺序组织编写,以方便用户和开发人员理解系统的输入、输出、存储和处理逻辑。·数据字典中的所有描述应该具有严密性、准确性和无二义性。·数据字典和DFD共同构成了数据库系统的逻辑模型,是需求规格说明书的主要组成部分。2.3.1数据字典的基本概念·数据字典用相应数据字典元素的词条描述,每个词条应包含以下信息:·(1)名称定义数据字典元素的名称。每个数据字典元素都有一个区别于其他数据字典元素的名称,不允许不同的数据字典元素使用同一名称。数据字典元素的名称一般和业务管理的单据、帐本等实际工作中所用的名称一致。·(2)别名定义数据字典元素的别名。有些数据字典元素可能有别名,如库存管理系统中的订货单的别名有订单。2.3.1数据字典的基本概念·(3)代码定义数据字典元素的代码,代码一般可由汉语拼音声母缩略而成、或者用英文单词或英文缩略词等。代码既可以用于数据库需求分析和设计,还可以在数据库实现时用于表示基本表、视图的属性名称。不允许不同的数据字典元素使用同一代码。·(4)编号定义数据字典元素的编号。良好的编号方法能够很好地反映数据字典元素之间的关系,方便数据库开发人员阅读、审核,也是避免数据分析遗漏的有效手段。2.3.1数据字典的基本概念·(5)分类定义数据字典元素的类别,是数据项、数据结构、外部实体、数据流、数据存储还是处理逻辑。·(6)描述定义数据字典元素的含义、构成等。·数据字典编制过程中常常使用表2-1所示的符号。2.3.1数据字典的基本概念符号含义说明=定义为,等于,由…构成等式左边“定义为”、“等于”右边,或者“由”右边“构成”+与例如,x=a+b,表示x由a和b组成[...|...]或例如,x=[a|b],表示x由a或b组成{...}重复表示大括号中的内容重复出现。例如,x={a},表示x由0个或多个a组成m{...}n有重复次数限制的重复表示大括号中的内容重复出现,其中m、n分别表示容重复次数的下限和上限。例如,x=3{a}5表示x由3个a、或4个a、或5个a组成(...)可选例如,x=(a),表示a可在x中出现,也可不出现‘...’字符或字符串单引号中的内容是字符或字符串。例如,x=‘a’,表示x取值字符a..连接符例如,x=1..9,表示x取1到9中任意一个值表2-1数据字典常用符号2.3.2数据项·2.3.2数据项·数据项也称为数据元素,是在其所属系统范围内具有完整意义的、不可再分的数据。·数据项的含义是相对的,它和所属系统有着密切的关系。即某些数据在一个系统中是数据项,而在另一个系统中未必是数据项。·在数据库系统开发中,大部分数据项作为基本表和视图的属性(属性也称为字段、属性列、列)的设计依据,部分作为应用程序常量或变量的设计依据。2.3.2数据项数据项用数据项词条描述。数据项词条一般应包含如下内容:(1)数据项名称给出数据项的名称。(2)别名如果数据项有多个名称,则给出别名。(3)编号给出数据项的编号。可采用自顶向下的方法编号。(4)含义说明说明数据项的含义、用途等。

(5)类型说明数据项的数据类型,如字符型、数值型、日期型、逻辑型、备注型等。(6)长度说明数据项长度,常用字节数、二进制位数等表示。

(7)取值范围及含义说明数据项的取值范围及含义。例如,

性别数据项取值范围为{1,0},其中1表示’男’、0表示’女’(8)相关元素说明与该数据项有关的DFD、数据字典元素等。数2据.项3名.2称销数售据单编项号别名销售单号编号1.1.2含义说明每个销售单必须是唯一编号,以便查询和审核类型字符型长度20B取值范围及含义销售员号+顺序号。其中,销售员号的取值范围及含义见销售员词条,顺序号=’000000’..’999999’相关元素销售员图2-6数据项词条作为示例,图2-6描述了库存管理系统中的销售单编号数据项词条。2.3.3数据结构·2.3.3数据结构·数据结构是由若干个相互关联的数据项依据某种逻辑联系组织起来的联合体。例如,在成绩管理系统中,学生信息就是一个数据结构,即用姓名、学号、所在系、专业等数据项联合起来描述学生,表示学生身份的完整信息。·此外,数据结构可能是若干个数据项或其他数据结构构成的。也就是说,数据结构中可以含有数据结构。·在数据库系统开发中,数据结构可以用基本表、视图等实现。2.3.3数据结构数据结构用数据结构词条描述。数据结构词条一般应包含如下内容:(1)数据结构名称给出数据结构的名称。(2)别名如果数据结构有多个名称,则给出别名。(3)编号给出数据结构的编号。可采用自顶向下的方法编号。(4)含义说明说明数据结构的含义、用途等。(5)组成说明数据结构是由哪些数据项或数据结构组成的。(6)相关元素说明与该数据结构有关的DFD、数据字典元素等。其中,“组成”和“相关元素”可能构成数据完整性约束条件。数2据.结3构.3名称学数生据结构别名编号1.1.3含义说明为了方便访问学生信息,将姓名、学号、所在系、专业作为一个整体进行存取组成姓名+学号+所在系名称+专业名称相关元素姓名,学号,所在系名称,专业名称图2-7数据结构词条作为示例,图2-7描述了学生成绩管理系统中的学生数据结构词条。2.3.4外部实体·2.3.4外部实体·外部实体是指不受系统控制、处于系统之外的事物、机构、人员等客观实体的统称。·外部实体在DFD中一般作为数据流的源点(起点)或汇点(终点)。在数据库系统开发中,外部实体可作为基本表、应用程序常量或变量的设计依据。2.3.4外部实体外部实体用外部实体词条描述。外部实体词条一般应包含如下内容:(1)外部实体名称给出外部实体的名称。(2)别名如果外部实体有多个名称,则给出别名。(3)编号给出外部实体的编号。可采用自顶向下的方法编号。(4)简要描述说明外部实体的性质、职能等。(5)输入的数据流列出进入该外部实体的数据流。(6)输出的数据流列出离开该外部实体的数据流。(7)数量:在整个DFD中,该外部实体出现的次数。外2部.实3体.4名称教外务部科实体别名编号1.5简要描述负责日常教学管理工作,如排课表、教学调度、学生成绩管理输入的数据流教学进度表、课程成绩单、调课申请表、免修申请表输出的数据流教学任务书、课程表、成绩单数量6图2-8外部实体词条作为示例,图2-8描述了学生成绩管理系统中的教务科外部实体词条。2.3.5数据流·2.3.5数据流·数据流是系统中有着起点和终点的数据结构;其中,起点和终点可以是外部实体、处理、数据存储之一,但是起点和终点中至少有一个是处理。数据流反映了数据从起点到终点的移动。例如,在学生成绩管理系统中,从成绩数据存储中读出某个学生的成绩用于形成成绩单,成

绩就是数据流,其起点是成绩数据存储、终点是形成成绩单处理。·在数据库系统开发中,数据流可以用视图等实现。2.3.5数据流数据流用数据流词条描述。数据流词条一般应包含如下内容:(1)数据流名称给出数据流的名称。(2)别名如果数据流有多个名称,则给出别名。(3)编号给出数据流的编号。可采用自顶向下的方法编号。(4)说明简要介绍数据流产生的原因和结果。(5)数据流来源指出数据流来自何方。(6)数据流去向指出数据流到何处去。(7)组成说明数据流是由哪些数据结构组成的。

(8)平均流量给出数据流平均流量,即单位时间(如每天、每周、每月)内传输的次数。(9)高峰期流量给出数据流高峰期的流量。

平均流量、高峰期流量等为数据库的存储设计、服务器设计等提供依据。

(10)相关元素说明与该数据流有关的DFD、数据字典元素等。数2据.流3名.5称成数绩据流别名编号1.1.3说明因学生或管理人员查询成绩而产生数据流来源处理1.2.1:读取学生成绩数据流去向处理1.2.3:显示学生成绩组成姓名+学号+课程代码+课程名称+成绩平均流量600次/天高峰期流量期末,50000次/天相关元素处理1.2.1、处理1.2.3,数据项1.2.1、数据项图1.22.2-、9数据数项1.2.3、数据项1.2.4、数据项1.2.5据流词条作为示例,图2-9描述了学生成绩管理系统中的成绩数据流词条。2.3.6数据存储·2.3.6数据存储·数据存储是数据及其结构停留或保存的地方,是数据流的来源和去向之一。数据存储可以是手工文档、手工凭单或计算机文档。·例如,在学生成绩管理系统中,学生基本信息就是一个数据存储。·在数据库系统开发中,数据存储一般用基本表实现。2.3.6数据存储数据存储用数据存储词条描述。数据存储词条一般应包含如下内容:(1)数据存储名称给出数据存储的名称。(2)别名如果数据存储有多个名称,则给出别名。(3)编号给出数据存储的编号。数据存储编号一般以字母F开头,然后按顺序编号。(4)说明简要介绍存放的是什么数据。(5)输入的数据流说明进入该数据存储的数据流。(6)输出的数据流说明从该数据存储出去的数据流。(7)组成说明数据存储是由哪些数据结构组成的。2.3.6数据存储·(8)数据量说明每次存取多少数据。·(9)存取频度给出该数据存储单位时间(如每天、每周、每月)内的存取次数。·(10)存取方式说明是批处理还是联机处理、是检索还是更新、是顺序检索还是随机检索,指出关键字等。·数据量、存取频度、存取方式等为数据库的存储设计、服务器设计等提供依据。·(11)相关元素说明与该数据存储有关的DFD、数据字典元素等。2.3.6数据存储数据存储名称学生基本信息别名编号F1说明存储学生的基本信息输入的数据流学生基本信息输出的数据流学生基本信息、学生简要信息组成姓名+学号+曾用名+性别+籍贯+民族+家庭出身+个人成份+

政治面貌+出生日期+入学前文化程度+毕业学校+参加工作日期+入学前单位+家长姓名+邮政编码+家庭地址+联系电话+所在系+专业+班级+入学日期+学制数据量平均每次访问5个学生的基本信息,每次最多访问2000个学生的基本信息存取频度平均频度:600次/天,期末高峰期频度:50000次/天存取方式联机处理,检索+更新,随机检索,关键字为学号相关元素处理1.2.1、处理1.2.3,数据项1.2.1、数据项1.2.2……图2-10数据存储词条作为示例,图2-10描述了学生成绩管理系统中的学生基本信息数据存储词条。2.3.7处理逻辑·2.3.7处理逻辑数据库系统要做的工作包括数据读取、数据变换、数据显示、数据写入、数据通信等,这些工作在DFD中用处理来表示。处理逻辑用于描述处理是如何工作的,有哪些输入和输出。描述处理逻辑的方法比较多,如判定表、判定树、结构化自然语言、伪代码(相关内容在软件工程、高级语言程序设计、算法设计等著作中有比较深入的介绍),但这些方法占用篇幅比较大。相反,数据字典中的处理逻辑词条用很小的篇幅给出处理逻辑的简明描述,便于快速地从宏观上了解数据库系统的功能,因而应用非常广泛。在数据库系统设计与实现阶段,处理逻辑往往与应用程序模块形成一一对应的关系。2.3.7处理逻辑处理逻辑词条一般应包含如下内容:(1)处理名称给出处理的名称。(2)编号给出处理的编号,编号与DFD一致。(3)说明简要介绍处理及其功能。(4)输入的数据流列出进入该处理的数据流。(5)输出的数据流列出离开该处理的数据流。

(7)处理逻辑简要介绍处理事项、逻辑顺序。注意,由于词条的空间不能太大,处理逻辑在数据字典中一般不需要详细描述,详细描述应在软件功能分析中进行。

(8)平均执行频率给出该处理单位时间(如每天、每周、每月)内的平均运行次数。

(9)平均执行频率给出该处理单位时间(如每天、每周、每月)内的高峰期运行次数。

(9)相关元素说明与该处理逻辑有关的DFD、数据字典元素等。2.3.7处理逻辑处理名称生成成绩总表别名编号1.1.3.2说明成绩总表是学生在校期间全部成绩的汇总。本处理生成成绩总表后,提交给打印成绩总表处理打印输入的数据流学号、成绩、学生、课程输出的数据流成绩总表处理逻辑该模块通过学生学号从成绩数据存储中读取该学号学生的所

有课程成绩,再从学生基本信息数据存储中读取学生姓名、专业和所在系等数据,然后从课程名录数据存储中读取课程名称和学分等信息,最后按格式生成成绩总表平均执行频率200次/天高峰期执行频率

图毕2业-1前1夕,处300理0次逻/天辑词条相关元素处理1.1.3.1、处理1.1.3.3、数据存储F1、数据存储F2……作为示例,图2-11描述了学生成绩管理系统中的生成成绩总表处理逻辑词条。2.3.8数据字典编制的结构化方法2.3.8数据字典编制的结构化方法SA方法可以用来编制和组织数据字典。具体做法是:首先是数据字典的词条按照“自顶向下、逐层分解”的顺序展开,这样做的好处是层次清晰、易于阅读。其次是数据字典的编号也可以利用层次化的思想进行设计,这样做的好处是容易找出数据字典元素之间的层次关系。例2-1试用SA方法编制图2-12所示的银行储蓄管理系统的“银行存折”数据存储相关的数据存储、数据结构、数据项等词条。为了节省篇幅,我们仅给出数据字典元素的名称,组成(或含义)、类别和编号。2.3.8数据字典编制的结构化方法图2-12银行存折样式2.3.8数据字典编制的结构化方法·存折=户名+所号+帐号+开户日+性质+(印密)+1{存取行}50,数据存储,编号:F1。·户名=2{字母}24,数据项,编号:1.1。·所号=‘0001’…‘9999’,数据项,编号:1.2。·帐号=‘00000001’…‘99999999’,数据项,编号:1.3。·开户日=年+月+日,数据结构,编号:1.4。·性质=‘1’..‘6’,数据项,编号:1.5。其中‘1’表示普通帐户,‘2’表示工资帐户等。2.3.8数据字典编制的结构化方法·印密=‘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。2.3.8数据字典编制的结构化方法摘要=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位表示县(市、旗、镇、区)的名称。湖北省部分行政区的分类及其编码如表2-2所示。编码名称42湖北省42

01武汉市42

02黄石市……42

12咸宁市42

1221咸安区42

1222嘉鱼县同层级类目同层级类目表2-2湖北省部分行政区分类及其编码线分类法线分类法·线分类法的优点是:层次性好,能较好地反映类目之间的逻辑关系。它属于传统的习惯分类方式,既符合手工处理信息的传统习惯,又便于计算机对信息进行处理。·线分类法的缺点是:结构弹性差。分类结构一经确定,不易改动,因此,使用线分类法必须考虑到有足够的后备容量。此外,当线分类层次较多时,将影响数据处理的速度。面分类法·(2)面分类法面分类法将分类对象按选定的若干个属性或特征,分成彼此之间互不相关的若干方面(简称面),每个面又可分为许多彼此独立的若干类目。不同“面”内的类目互不重复,互不交叉。使用时,可根据需要将这些面中的类目组合在一起,形成一个复合类目。·例如,服装的分类可以按照服装所用的材料、男女服装以及服装款式等分成几个面,每个面内又分成若干类目,如表2-3所示。面分类法服装用材男女服装服装款式纯棉男中山装纯毛女西装中长纤维猎装…连衣裙…表2-3面分类法面分类法面分类法的主要优点是分类结构具有较大的柔性。分类体系中任何一个“面”内类目的改变,不会影响其他的“面”,易于添加和修改类目。除此以外,面分类适用性比较强,可实现按任意“面”的信息进行检索,这对计算机信息处理有良好的适应性。面分类的主要缺点在于不能充分利用容量。这是因为在实践中许多可组配的类目无实用价值。例如,像纯毛男式连衣裙这样的组合类目就无实用意义。线分类法和面分类法各有优缺点。在实际应用中,为了满足信息分类要求,有时还将两种分类方法结合使用。2.4.2信息编码·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等。·下面举例说明校验位的计算与用法。信息编码的方法例2-2设原编码为1

2

3

4

5,用算术级数法确定权因子,试计算其校验位。各位分别乘以权:6、5、4、3、2;得出乘积之和为:(1×6)+(2×5)+(3×4)+(4×3)+(5×2)=50。对模11求余:50÷11余6,则6为校验位。因此,原编码加上一位校验位成为1

2

3

4

5

6。如果将该编码录入时,输入的错误编码为1

2

3

5

5

6,计算机按原来的权重新计算校验位[(1×6)+(2×5)+(3×4)+(5×3)+(5×2)]÷11,余9。由于计算出的验位值与输入的校验位值不一致,即9≠6,因此该类错误可以很容易地捕获。2.5数据定义分析

数据定义分析的任务是确定系统安装和正常运行期间数据库、基本表、视图、索引等对象的创建、修改与删除等需求。数据定义分析为数据库并发处理设计提供依据。

数据定义分析很有必要。首先,虽然数据库系统的上述对象是开发人员在数据库实现时创建的,但是一些通用性较强的数据库系统相当一部分对象是在系统安装或者正常运行时创建的。例如,为了提高数据库的运行速度,证券交易管理系统按月份存储数据,即每个月份的数据存储在该月份对应的数据库中;于是每个月1号之前需要建立一个对应该月的数据库。其次,数据库运行期间可能存在修改某个对象的需求。例如,学生成绩管理系统在运行期间由于系统升级,学生基本信息需要增加一个数据项。最后,在数据库运行期间可能存在删除某个对象的需求。例如,一些临时建立的对象在不使用时需要删除。2.5数据定义分析·可以从以下几个方面进行数据定义分析:·(1)对象命名时是否考虑了时间因素?如是,则可能有创建需求。·(2)数据库系统在运行过程中,为了提高数据处理的速度,可能需要创建临时表,用于存储数据处理的中间结果。·(3)由于应用系统的复杂要求,需要在应用程序中动态地创建视图,以简化系统对数据操作的语句。2.6数据操纵分析数据操纵分析主要是数据插入、修改、删除、查询、统计和排序等方面的分析。2.6.1数据更新分析数据更新是指对数据库中的数据进行各种更新操作,包括对数据进行插入、修改、删除等操作,从而使数据库中的数据发生变化。1.数据插入数据插入是在原有数据的基础上增加新的数据。插入的数据可以是一个表中的一条或者多条记录。在关系数据库中数据插入语句有两种使用形式:一种是使用常量,一次插入一个记录。另一种是利用查询的结果集,一次插入多个记录。数据更新分析2.数据删除数据删除是将对原有的不需要的数据执行删除操作,从而达到减少数据使数据得到更新的目的。在对数据执行删除操作时,若需要删除的数据和其他表中的数据有关联,则为了保证数据的完整性和一致性,通常也需要将相关数据进行删除更新操作。3.数据修改数据修改是指对原有数据中的部分数据或者全部数据进行修改操作,从而使数据满足新要求而实现数据更新的目的。在关系数据库中,数据经常需要执行修改操作,以符合新的要求。例如,在学生基本信息表中,当某个学生的专业发生变化时,就需要修改原来所登记的专业信息以达到更新的目的。2.6.2数据查询分析2.6.2数据查询分析数据查询分析的任务是确定系统正常运行期间,根据数据字典、应用系统需求及用户的需求,确定哪些属性作为数据查询的选择条件构造依据,并根据系统对数据查询响应时间要求的快慢,合理地完成索引等对象的创建、修改与删除等操作。一般可以从以下几个方面进行数据查询分析:(1)根据系统需求分析的结果及各类用户对数据查询的需求,分析应用系统需要哪些实体集的属性作为系统查询的条件,如某工厂管理系统要求依据职工的岗位、职位等属性进行数据的查询。(2)根据分析比较,确定数据查询速度的快慢,合理地针对某些属性设计索引,以加快查询响应时间。2.6.3数据统计和排序分析2.6.3数据统计和排序分析

所谓排序是指将一组杂乱无章的数据按一定的规律顺次排列起来。比如,按人名的笔画数、工资额、销售业绩由高到低排列等等。

为了使数据更具有层次感,需要对基本表中的数据进行分类汇总,将数据库中的记录按某个字段分类后进行汇总统计,统计方式包括求和、求平均值、计数、求最大(小)值等。分组(类)统计的例子有:

(1)按照销售代表、生产线、销售区域或季度分组进行销售情况统计。

(2)按照公司部门(分公司)、生产线或季度分组进行财务情况统计。(3)按照部件、供应商和生产厂家分组进行投资情况统计。2.7数据完整性分析完整性分析是基本表设计的重要基础,它是找出保证数据库中数据满足一致性、正确性和有效性的需求,其目的是防止错误的数据进入数据库。(1)一致性一致性是指表示同一事实的两个数据应当一致。例如,学生成绩管理系统中各个学院保存的学生成绩应该和学校教务处保存的学生成绩一致。(2)正确性正确性是指数据必须正确无误的。例如,数值型数据中只能含有数字而不能含有字母。(3)有效性有效性是指数据必须在其定义域之内。例如,性别的定义域为集合{男,女},性别必须在此定义域中取值。数据完整性分析的主要任务是确定数据项取值范围、关键字、数据关联。2.7.1数据项取值范围·2.7.1数据项取值范围·数据项取值是有取值范围限制的,这种限制可以在某种程度上减轻应用程序逻辑查错的负担。例如,在职工基本信息中,根据习惯职工年龄一般为正整数,在输入年龄时,如果不小心输入为负数或者是小数时,数据库系统就会自动提示出错,不充许数据输入。·数据项取值范围一般在数据字典的数据项词条中说明。2.7.2关键字·2.7.2关键字关键字是能够唯一标识一个实体的一个或一个以上的无冗余数据项(或数据结构)。关键字在数据库设计中也称为主码,没有两个实体具有相同关键字。如果关键字是由一组数据项(或数据结构)组成,则其中不能含有多余的数据项(或数据结构)。例如,在学生基本信息中,学号就是关键字,学号确定后,学生的其他数据项的值也就确定了。而且,虽然姓名+学号也能唯一确定一个学生,但其中的姓名是多余的。关键字一般通过分析描述实体的各数据项,从这些数据项中挑选一个或多个作为关键字。因此,关键字可能不止一个。例如,也可以用公民身份证号码作为学生基本信息的关键字。2.7.2关键字·有时,为了方便,不在实体的各数据项中找出关键字,而是人工制造一个关键字。例如,在珍稀野生动物管理中,通常采用编号而不是DNA指纹来识别这些动物,虽然两者均是关键字。·关键字主要用于提高数据处理、检索和更新速度,保证数据不能被重复输入到数据库中。关键字一般在数据字典的数据存储词条中说明。2.7.3数据关联·2.7.3数据关联·数据关联是指两个或多个对象之间的联系。这里,对象是指数据项、数据结构、基本表、视图。数据关联分为算术关联、集合关联、逻辑关联三类。·1.算术关联·算术关联是通过算术运算符把两个或多个对象联系起来。常用的算术运算有4种,它们是加、减、乘、除。例如,金额=单价×数量。2.7.3数据关联·2.集合关联·集合关联是通过集合运算符把两个或多个对象联系起来。常用的集合运算有并、交、包含、属于等。·3.逻辑关联·逻辑关联是通过逻辑运算符把两个或多个对象联系起来。常用的逻辑运算有与、或、非、大于、等于、小于等。2.8数据安全性分析·数据库的安全性和计算机系统的安全性,包括计算机硬件、操作系统、网络系统等的安全性、是紧密联系、相互支持的,因此在讨论数据库的安全性之前首先讨论计算机系统安全性的一般问题。·数据库安全性分析主要关心数据库用户及其权限、数据加密需求、病毒防护需求、防非法访问需求。2.8.1数据安全的概念·2.8.1数据安全的概念·数据库的安全性是指保护数据库,以防止不合法的使用造成的数据泄密、更改或破坏。不合法的使用是指不具有数据操纵权限的用户进行了越权的数据操纵。DBMS通过种种防范措施防止用户越权使用数据库,其安全保护措施是否有效是数据库系统的主要性能指标之一。2.8.2数据访问权限·2.8.2数据访问权限·数据访问权限指数据定义、数据操纵、数据控制、数据组织与存取、数据库建立与维护、运行管理等的权限。在数据库系统开发中,可以通过视图、SQL命令、数据库应用系统模块功

能等来控制用户数据访问权限。数据访问权限分析一般要结合数据库应用系统功能分析进行,并在数据字典中适当体现出来。·数据库系统的用户、用户组和角色及其数据访问权限的合理设置是保障数据安全的重要手段。数据库系统的用户与角色1.数据库系统的用户与角色(1)用户数据库系统的用户分为两类:DBMS用户、数据库应用系统用户。DBMS用户是通过直接登录DBMS、并在DBMS中完成数据定义、数据操纵、数据控制、数据库建立与维护等各种DBMS操作的用户,如SQL

Server中的dbo。数据库应用系统用户是通过登录数据库应用系统、使用数据库应用系统中的功能模块来完成数据访问的用户。在数据库系统开发中,数据库应用系统用户可用外部实体来描述。数据库系统的用户与角色·(2)用户组用户组也称为权限组,就是把若干权限

相同的用户编为一组。在数据库应用系统中,系统管

理员需要为每个用户分配权限。如果采取为每个用户

逐一分配权限的方式,则权限分配是一件繁琐、耗时

的工作。利用用户组的概念,系统管理员可以把权限

相同的用户设为一组,并为该组赋予所需的各种权限;当为某用户分配权限时,如果该用户属于一个存在的

用户组,系统管理员就可以采用把该用户设为这个存

在用户组等方式把该组权限赋给该用户。数据库系统的用户与角色(3)角色角色就是用户的身份。例如,在学生成绩

管理系统中,通过分析,可以获得个人成绩查询角色、教师评价角色、成绩填写角色、成绩修改角色、学籍

管理审批角色等。角色本质上是一个权限组,因此有时把角色和用户组当作一个概念。在数据库系统开发中,角色可用外部实体来描述。可以在系统开发阶段由系统开发人员定义用户组、角色并设置它们的权限,也可以在系统运行阶段由系统管理员定义用户组、角色并设置它们的权限。用户的定义与权限设置一般在系统运行阶段由系统管理员完成。DBMS的角色与用户2.DBMS的角色与用户下面以SQL

Server

2012为例,分析DBMS的角色与用户权限。(1)SQL

Server

2012的角色SQL

Server

2012的角色分为两类:服务器级角色、数据库级角色。1)服务器级角色。SQL

Server服务器级角色管理SQLServer服务器上的权限,其权限作用域为服务器范围。服务器级角色又分为固定服务器角色、用户定义的服务器角色两类。固定服务器角色由SQL

Server自动提供,拥有完成常见任务的基本权限,但其权限无法更改。用户定义的服务器角色由用户自行创建和分配权限。SQL

Server提供了9种固定服务器角色,如表2-4所示。DBMS的角色与用户·表2-4固定服务器角色角色名称说明sysadmin角色的成员可以在服务器中执行任何活动serveradmin角色的成员可以更改服务器范围内的配置选项并关闭服务器securityadmin角色的成员管理登录名及其属性;可以授权、拒绝和撤销服务器级权限;可以授权、拒绝和撤销数据库级权限processadmin角色的成员可以终止在SQL

Server实例中运行的进程setupadmin角色的成员可以添加和删除链接服务器。注意,使用ManagementStudio需要sysadmin成员资格bulkadmin角色的成员可以运行BULK

INSERT语句diskadmin角色的成员管理磁盘文件dbcreator角色的成员可以创建、更改、删除和还原任何数据库public每个SQL

Server登录名均拥有public角色DBMS的角色与用户·2)数据库级角色。数据库级角色管理数据库中的权限,其作用域为数据库范围。数据库级角色又分为固定数据库角色、用户定义的数据库角色两类。固定数据库角色等由SQL

Server自动提供,拥有完成常见任务的基本权限,但其权限无法修改。用户定义的数据库角色由用户自行创建和分配权限。·固定数据库角色是在数据库级别定义的,并且存在于每个数据库中。SQL

Server提供了9种固定数据库角色,如表2-5所示。DBMS的角色与用户表2-5固定数据库角色角色名称说明db_owner角色的成员可以执行数据库的所有配置和维护活动db_securityadmin角色的成员可以修改角色成员身份和管理权限。向此角色中添加主体可能会导致意外的权限升级db_accessadmin角色的成员可以为Windows登录名、Windows组和SQL

Server登录名添加或删除数据库访问权限db_backupoperator角色的成员可以备份数据库db_ddladmin角色的成员可以在数据库中运行任何数据定义语言命令db_datawriter角色的成员可以在所有用户表中添加、删除或修改数据db_datareader角色的成员可以从所有用户表中读取数据db_denydatawriter角色的成员不能添加、修改或删除数据库中任何用户表的数据db_denydatareader角色的成员不能读取数据库中任何用户表的数据DBMS的角色与用户·(2)SQL

Server

2012的登录名SQL

Server2012的登录名是连接SQL

Server实例的个人或进程的标识,其作用域是整个数据库引擎。要使用SQL

Server,必须先用登录名登录SQLServer服务器。可以基于Windows主体(所谓Windows主体是指Windows用户及其角色,如

域用户、本地用户、Windows域组)创建登录名,或者也可创建一个并非基于Windows主体的登录名(如SQL

Server登录名)。DBMS的角色与用户·(3)SQL

Server

2012的数据库用户SQLServer

2012的数据库用户是连接到数据库的登录名标识,其作用域是数据库。数据库用户允许使用与登录名相同的名称。由于数据库中的权限是向数据库用户而不是登录名授予和拒绝授予的,登录名必须映射到数据库用户才能连接到数据库。一个登录名可以作为不同用户映射到不同的数据库,但每个数据库只能有一个数据库用户与之对应。·

需要指出的是,如果在数据库中启用了guest用户,未映射到数据库用户的登录名可作为guest用户进入该数据库。guest用户通常处于禁用状态,除非有必要,否则不要启用guest用户。数据库应用系统数据访问权限分析·3.数据库应用系统数据访问权限分析·可使用从以下几个方面分析数据库应用系统数据访问权限:1)分析数据项的填写、修改、清除、查询权限。2)分析元组的插入、修改、删除、查询、统计和排序权限。3)分析数据库、基本表、视图、索引、角色等对象的操作权限,包括建立、修改、删除权限。4)分析数据库应用系统模块功能的操作权限。5)分析用户是否拥有把权限授予其他用户等权限。。2.8.3数据加密·2.8.3数据加密我们经常需要一种措施来保护我们的数据,防止被一些怀有不良用心的人所看到或者破坏。在竞争激烈的大公司中,工业间谍经常会获取对方的情报。因此,在客观上就需要一种强有力的安全措施来保护机密数据不被窃取或篡改。数据加密是防止数据库中数据在存储和传输中失密的有效手段。加密的基本思想是根据一定的算法将原始数据(术语为明文,Plain

Text)变换为不可直接识别的格式(术语为密文,Cipher

Text),从而使得不知道解密算法的人无法获知数据的内容。加密方法主要有两种:2.8.3数据加密·(1)替换方法该方法使用密钥(EncryptionKey)将明文中的每个字符转换为密文中的字符。·(2)置换方法该方法仅将明文的字符按不同的顺序重新排列。·单独使用这两种方法的任意一种都是不够安全的。但是将这两种方法结合起来就能提供相当高的安全程度。2.9并发处理分析所谓并发简单地说就是两件事情的发生或处理是同时发生在时间上是重叠的。例如,在网络环境下,两个用户同时修改服务器上的一个文档就是一种并发现象。并发处理分析的目的在于发现并发现象,并在数据设计中要力求避免或消除之。数据库并发处理分析的主要内容有:1.分析数据定义时产生的并发处理需求主要任务是分析基本表、视图和索引在定义、修改或删除期间有哪些数据定义、查询和更新需求。数据定义时产生的并发现象在数据库系统中是常见的。例如,如果甲用户正在读取某个基本表的数据,乙用户却试图删除这个基本表,那么甲用户读的数据将是不完整的,严重时可能导致甲用户的计算机系统崩溃。2.9并发处理分析2.分析数据操纵时产生的并发处理需求主要任务是分析数据更新期间有哪些数据查询和更新需求,以便数据库设计时消除一个用户在读取数据、另一个用户却试图修改或删除数据等现象发生。3.分析数据库维护时产生的并发处理需求主要任务是分析数据库维护期间有哪些数据定义、数据查询和更新需求。在日常生活中,我们经常会发现在数据维护期间用户仍然在访问数据库的现象。例如,用户发送电子邮件时刚好碰到邮件服务器正对电子邮件服务器数据库进行维护,造成用户的电子邮件很长时间不能成功发送。2.10数据库性能分析数据库性能分析的任务是分析数据库容量、吞吐量、精度、响应时间、存储方式、可靠性、可扩展性、可维护性等数据库性能需求。通过数据库性能分析,可以比较准确地了解数据库的性能,为选择DBMS和硬

件系统(如CPU、硬盘)提供依据,最终目的是用较小的代价设计和实现满足预期性能要求的数据库。1.容量数据库容量是数据库能够存储的数据量。数据库需求分析人员通过分析数据字典,根据数据项的长度、数据存储的数据量等因素和数据库的预期运行时间,估算数据库容量。2.10数据库性能分析2.吞吐量吞吐量是单位时间能够处理的数据量。数据库需求分析人员通过分析数据字典,根据数据项的长度、数据流的流量、数据存储的数据量和存取频度等因素,估算数据库吞吐量。3.精度精度是观测结果、计算值或估计值与真值(或被认为是真值)之间的接近程度。数据库需求分析人员首先要认真评估数据字典中的数据项的数据类型和精度是否合理,然后为数据项确定合适的精度,必要时修改数据字典。需要指出的是,并非精度越高越好,因为精度高的数据在空间和时间方面的开销一般也大。2.10数据库性能分析4.响应时间响应时间是从用户向计算机发出处理请求开始,经过处理直到计算机输出最终结果为止的时间间隔。例如,在学生成绩管理系统中,通过计算机查询考试成绩的响应时间是从发出查询要求开始,经过处理直到输出查询结果为止的时间。数据库响应时间指数据插入、修改、删除、查询、统计和排序的响应时间,也包括数据库备份、恢复等数据维护的响应时间。数据库响应时间是DBMS、数据

库系统硬件选择和设计的重要依据。显然,响应时间越少,处理速度越快。不同的应用系统对响应时间的需求是不同的。例如,网上股票实时交易系统就

温馨提示

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

评论

0/150

提交评论