资源预览内容
第1页 / 共201页
第2页 / 共201页
第3页 / 共201页
第4页 / 共201页
第5页 / 共201页
第6页 / 共201页
第7页 / 共201页
第8页 / 共201页
第9页 / 共201页
第10页 / 共201页
亲,该文档总共201页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第十二章 数据库设计步骤,数据库设计不同阶段不同人员的角色,第十二章 数据库设计步骤,12.1 需求分析 12.2 概念结构设计 12.3 逻辑结构设计 12.4 数据库的物理设计 12.5 数据库实施 12.6 数据库运行与维护 12.7 小结,12.1 需求分析,12.1.1 需求分析的任务和过程 12.1.2 数据流图 12.1.3 数据字典 12.1.4 需求分析的注意点,12.1 需求分析(续),需求分析就是分析用户的需要与要求 需求分析是设计数据库的起点。 需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设,并影响到设计结果是否合理和实用。,12.1.1 需求分析的任务和过程,一、需求分析的任务 二、需求分析的重点 三、需求分析的难点 四、需求分析的工作过程,一、需求分析的任务,调查应用领域,对各种应用的信息要求和操作要求进行详细分析,形成需求说明书。 详细调查现实世界要处理的对象(组织、部门、企业等),了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求。 确定新系统的功能。新系统必须考虑可能的扩充和改变,不能按当前需求来设计数据库。,二、需求分析的重点,调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。 信息要求 用户需要从数据库中获得信息的内容与性质。 数据库中存储哪些数据。 处理要求 对处理功能的要求、响应时间的要求、处理方式的要求(批处理 / 联机处理)。 对数据安全性与完整性的要求。,三、需求分析的难点,确定用户最终需求的难点 用户缺少计算机知识,无法确定计算机能为做什么,不能做什么,无法一次准确地表达需求,因此需求往往不断变化。 设计人员缺少用户的专业知识,不易理解用户的真正需求,甚至误解用户的需求。 新的硬件、软件技术的出现也会使用户需求发生变化。 解决方法 与用户不断交流,确定用户的实际需求。,四、需求分析的工作过程,四、需求分析过程(续),1.调查组织机构情况 目的: 宏观地了解给定应用领域的组织机构。 结果: 组织机构图。 方法: 与该组织的有关领导座谈,由这些领导提供组织机构组成情况。 或者提供组织机构图和部门职责的文档。,四、需求分析过程(续),2.熟悉各部门的业务活动情况 目的: 调查各部门的业务活动情况,对现行系统的功能和所需信息有明确的认识。 内容: 包括了解各个部门输入和使用什么数据; 如何加工处理这些数据; 输出什么信息,输出到什么部门; 输出结果的格式是什么,这是调查的重点。,常用的调查方法 跟班作业:亲身参加业务工作了解业务活动的情况,此方法较准确了解用户需求,但耗费时间。 开调查会:与用户座谈了解业务活动情况及用户需求。可以相互启发。 询问:对某些调查中的问题,找专人询问。 设计调查表请用户填写:如果调查表设计合理,此方法很有效,易于为用户接受。 查阅记录:查阅与原系统有关的数据记录。,四、需求分析过程(续),四、需求分析过程(续),3.分析用户需求 信息要求 处理要求 安全性与完整性要求 结构化系统分析和设计方法(Structured Analysis and Design Technique,简称SADT方法) SADT采用自顶向下、最上层的系统组织机构入手,逐层分解的方式分析系统。 数据流图和数据字典描述系统。,四、需求分析过程(续),4.确定新系统的边界 对前面调查的结果进行初步分析; 确定哪些功能由计算机或准备让计算机完成; 哪些活动由人工完成; 由计算机完成的功能就是新系统实现的功能。 5.形成需求说明书 作为以后各个阶段设计的依据。,12.1 需求分析,12.1.1 需求分析的任务和过程 12.1.2 数据流图 12.1.3 数据字典 12.1.4 需求分析的注意点,12.1.2 数据流图,一、功能分解 二、数据流图 三、处理过程定义 四、数据存储定义 五、数据处理定义 六、数据库操作的定义,一、功能分解,SADT(结构化系统分析与设计技术)中心问题是把功能逐层分解成多个子功能,同时进行相应数据分析与分解。,二、数据流图,数据流图用来表示现行系统的信息流动和加工处理的详细情况,是现行系统的一种逻辑抽象,独立于系统的实现。 数据流图的绘制建立在SADT的基础上,采取自上而下的的方法。 数据流图使用符号,二、数据流图(续),1首先把任何一个系统都抽象为:,二、数据流图(续),2分解处理功能和数据 (1)分解处理功能: 将处理功能的具体内容分解为若干子功能,将子功能继续分解,直到把工作过程表达清楚为止。 (2)分解数据:在处理功能的同时,其所用的数据也逐级分解,形成数据流图,数据流图表达了数据和处理过程的关系。 (3)表达方法:处理过程:用判定表或判定树来描述。数据:用数据字典来描述。,三、处理过程,定义 (1)考察数据流图中的每个数据处理:确定设计的数据库系统是否应该而且可能支持这个处理过程。如果支持,列入支持应用的范围。 (2)对每个处理过程进行严格定义:包括处理过程名、处理功能描述、处理要求、输人数据、输出数据等。,三、处理过程(续),处理功能描述简要说明该处理过程用来做什么(而不是怎么做)。 处理要求的描述包括处理频度要求,如单位时间里处理多少事务、处理数据量、响应时间等。 这些处理要求是后面物理设计的输入及性能评价的标准。,处理过程定义表,四、数据存储,目的:确定最终数据库需要存储哪些信息。数据存储定义以数据流图为基础。 (1)考察数据流图中每个数据存储信息,确定其是否应该而且可能由数据库存储 (2)定义每个数据存储。,数据存储定义表,五、数据处理数据存储矩阵定义,用来定义处理过程与数据存储之间的关系。 创建、插入、更新、删除、查询和无关系。 这些关系可以用图或矩阵表示。横栏:数据处理过程名,竖栏:数据存储名字。,CRUD表,六、数据库操作的定义,一个处理过程中通常包括一个或多个数据库操作。 在一个数据处理中每一个操作的输入数据项和输出数据项、操作的数据对象、类型、操作的功能、数据操作的选择条件、连接条件、操作的数据量、使用频率、要求的响应时间等。 可用图表的形式表示数据库操作的定义。,DBIPO图,需求分析例子,实例一:假设我们要开发一个学校管理系统。 1经过可行性分析和初步需求调查,抽象出该系统最高层数据流图,该系统由教师管理子系统、学生管理子系统、后勤管理子系统组成,每个子系统分别配备一个开发小组。 2进一步细化各个子系统:学生管理子系统开发小组通过进行需求调查,明确该子系统的主要功能是学籍管理和课程管理,包括学生报到、入学、毕业的管理,学生上课情况的管理。通过信息流程分析和数据收集后,他们生成了该子系统的数据流图。,学校管理系统最高层数据流图,学籍管理系统(a)第一层数据流图,同意/不同意入学,报到证,学籍管理系统数据流图(b)报 到,学生,1.1 核对录取 通知书,1.2 核对体检 结果,1.3 同意 入学,招生 办公室,体检表,新生名单,审 核,同 意 或 不 同 意,同意/不同意,已核对的 录取通知书,已核对的 体检结果,体检结果,名单,录取通知书,学籍管理系统数据流图(c)入 学,学生,2.1 填登记表,2.2 分配班级,2.3 分配宿舍,班主任,教师档案,学生档案,宿舍分配清单,已登好的 登记表,报到证、 班级号,教师描述,学生情况,报到证,学生基本情况,宿舍描述,宿舍分配,学生名单,宿舍描述,学籍管理系统数据流图(d)毕 业,学生,3.1 发毕业证书,3.2 退宿舍,3.3 办理离校手续,3.4 领派遣证,毕业生名单,成绩册,办公室,宿舍描述,学生档案,离校手续,分配工作,毕业证书,毕业证,毕业证,退宿舍证明,离校手续单,准备工作分配细节,工作分配情况,离校手续清单,记录已毕业,宿舍安排清单,能否获得学位,毕业生名单,课程管理的数据流图,工厂管理信息系统例子,实例二:假设我们要开发一个工厂管理信息系统。 1经过可行性分析和初步需求调查,抽象出该系统最高层数据流图,该系统由物质 管理、销售管理、劳动人事管理等子系统组成,每个子系统分别配备一个开发小组。 2进一步细化各个子系统。 其中销售子系统的主要功能是:处理顾客和销售员送来的订单;工厂是根据订货安排生产的;交出货物同时开出发票;收到顾客付款后,根据发票存根和信贷情况进行应收款处理。通过详细的信息流程分析和数据收集后,生成了该子系统的数据流图。,管理销售子系统第一层数据流图,销售管理系统数据流图(a)接收订单,销售管理系统数据流图(b)处理订单,销售管理系统数据流图(c)开发票,销售管理系统数据流图(d)支付过账,12.1 需求分析,12.1.1 需求分析的任务和过程 12.1.2 数据流图 12.1.3 数据字典 12.1.4 需求分析的注意点,12.1.3 数据字典,一、数据字典的用途 二、数据字典的内容,一、数据字典的用途,数据字典是各类数据描述的集合 数据字典是进行详细的数据收集和数据分析所获得的主要结果 数据字典在数据库设计中占有很重要的地位,二、数据字典的内容,数据字典的内容 数据项 数据结构 数据流 数据存储 处理过程 数据项是数据的最小组成单位 若干个数据项可以组成一个数据结构 数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。, 数据项,数据项是不可再分的数据单位 对数据项的描述 数据项描述数据项名,数据项含义说明, 别名,数据类型,长度,取值范围, 取值含义,与其他数据项的逻辑关系 取值范围、与其他数据项的逻辑关系定义了数据的完整性约束条件。, 数据结构,数据结构反映了数据之间的组合关系。 一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。 对数据结构的描述 数据结构描述数据结构名,含义说明, 组成:数据项或数据结构, 数据流,数据流是数据结构在系统内传输的路径。 对数据流的描述 数据流描述数据流名,说明,数据流来源, 数据流去向,组成:数据结构, 平均流量,高峰期流量 数据流来源:来自哪个过程。 数据流去向:将到哪个过程去。 平均流量:单位时间里的传输次数。 高峰期流量则:高峰时期的数据流量。,数据项例子,例:学生学籍管理子系统的数据字典。 数据项,以“学号”为例: 数据项:学号 含义说明:唯一标识每个学生 别名:学生编号 类型:字符型 长度: 8 取值范围:00000000至99999999 取值含义:前两位标别该学生所在年级, 后六位按顺序编号 与其他数据项的逻辑关系:,数据结构例子,数据结构 以“学生”为例 “学生”是该系统中的一个核心数据结构: 数据结构:学生 含义说明:是学籍管理子系统的主体数据结 构,定义了一个学生的有关信息 组成:学号,姓名,性别,年龄, 所在系,年级,数据流例子,数据流“体检结果”可如下描述: 数据流:体检结果 说明:学生参加体格检查的最终结果 数据流来源:体检 数据流去向:批准 组成: 平均流量: 高峰期流量:,12.1 需求分析,12.1.1 需求分析的任务和过程 12.1.2 数据流图 12.1.3 数据字典 12.1.4 需求分析的注意点,12.1.4 需求分析的注意点,用户参与的重要性 用原型法来帮助用户确定他们的需求 预测系统的未来改变,12.2 概念结构设计,将用户在第一步形成的信息需求抽象为信息结构即概念模型的过程就是概念结构设计(是关键)。 12.2.1 概念结构设计的方法与步骤 12.2.2 局部视图设计 12.2.3 视图的集成,12.2.1概念结构设计的方法与步骤,设计概念结构的四类方法 自顶向下 首先定义全局概念结构的框架,然后逐步细化。 自底向上 首先定义各局部应用的概念结构,然后将它们
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号