数据库系统概论第7章数据库设计-课件.ppt

上传人(卖家):晟晟文业 文档编号:4106177 上传时间:2022-11-11 格式:PPT 页数:95 大小:511.64KB
下载 相关 举报
数据库系统概论第7章数据库设计-课件.ppt_第1页
第1页 / 共95页
数据库系统概论第7章数据库设计-课件.ppt_第2页
第2页 / 共95页
数据库系统概论第7章数据库设计-课件.ppt_第3页
第3页 / 共95页
数据库系统概论第7章数据库设计-课件.ppt_第4页
第4页 / 共95页
数据库系统概论第7章数据库设计-课件.ppt_第5页
第5页 / 共95页
点击查看更多>>
资源描述

1、第第7章章 数据库设计数据库设计7.1 数据库设计概述数据库设计概述7.2 需求分析需求分析7.3 概念结构设计概念结构设计7.4 逻辑结构设计逻辑结构设计7.5 数据库的物理设计数据库的物理设计7.6 数据库实施数据库实施7.7 数据库运行与维护数据库运行与维护7.8 小结小结17.1数据库设计概述数据库设计概述数据库设计数据库设计:指对于一个给定的应用环境指对于一个给定的应用环境,构造最优的数据构造最优的数据 库模式库模式,建立数据库及其应用系统建立数据库及其应用系统,使之能够有使之能够有 效地存储数据和管理数据效地存储数据和管理数据,满足各种用户的应用需求满足各种用户的应用需求.7.1.

2、1 数据库和信息系统数据库和信息系统信息系统是提供信息、辅助人们对环境进行控制和进行决信息系统是提供信息、辅助人们对环境进行控制和进行决 策的策的 系统。系统。数据库是信息系统的核心和基础。数据库是信息系统的核心和基础。数据库设计是信息系统开发和建设的重要组成部分。数据库设计是信息系统开发和建设的重要组成部分。2进行数据库设计应具备的技术和知识进行数据库设计应具备的技术和知识:数据库的基本知识和数据库设计技术数据库的基本知识和数据库设计技术;计算机科学的基础知识和程序设计的方法和技巧计算机科学的基础知识和程序设计的方法和技巧;软件工程的原理和方法软件工程的原理和方法;应用领域的知识应用领域的知

3、识;37.1.2.数据库设计的特点数据库设计的特点 数据库建设是硬件、软件和干件的结合数据库建设是硬件、软件和干件的结合三分技术,七分管理,十二分基础数据三分技术,七分管理,十二分基础数据技术与管理的界面称之为技术与管理的界面称之为“干件干件”数据库设计应该与应用系统设计相结合数据库设计应该与应用系统设计相结合结构(数据)设计:设计数据库框架或数据库结构结构(数据)设计:设计数据库框架或数据库结构行为(处理)设计:设计应用程序、事务处理等行为(处理)设计:设计应用程序、事务处理等4现实世界现实世界数据分析数据分析概念模型设计概念模型设计逻辑数据库设计逻辑数据库设计物理数据库设计物理数据库设计子

4、子模式设计模式设计建立数据建立数据功能分析功能分析功能模型功能模型事务设计事务设计程序说明程序说明应用程序设计应用程序设计程序编码调试程序编码调试功能说明功能说明57.1.3.数据库设计方法数据库设计方法 手工试凑法手工试凑法 设计质量与设计人员的经验和水平有直接关系设计质量与设计人员的经验和水平有直接关系 缺乏科学理论和工程方法的支持,工程的质量难以保证缺乏科学理论和工程方法的支持,工程的质量难以保证 数据库运行一段时间后常常又不同程度地发现各种问题,数据库运行一段时间后常常又不同程度地发现各种问题,增加了维护代价增加了维护代价 规范设计法规范设计法 手工设计方法手工设计方法 基本思想基本思

5、想:过程迭代和逐步求精过程迭代和逐步求精 计算机辅助设计计算机辅助设计 ORACLE Designer 2000 SYBASE PowerDesigner67.1.4.数据库设计的基本步骤数据库设计的基本步骤 数据库设计的准备工作数据库设计的准备工作:选定参加设计的人员选定参加设计的人员数据库设计的人员组成数据库设计的人员组成系统分析人员系统分析人员数据库设计人员数据库设计人员程序员程序员用户用户数据库管理人员数据库管理人员自始至终参与数据库设计自始至终参与数据库设计参与系统实施阶段参与系统实施阶段参与需求分析和数据库的运行维护参与需求分析和数据库的运行维护7 需求分析需求分析;概念结构设计概

6、念结构设计;逻辑结构设计逻辑结构设计;物理结构设计物理结构设计;数据库实施数据库实施;数据库运行和维护数据库运行和维护;数据库设计的过程数据库设计的过程:8需求收集和分析需求收集和分析设计概念结构设计概念结构设计逻辑结构设计逻辑结构数据模型优化数据模型优化设计物理结构设计物理结构评价设计评价设计,性能预测性能预测物理实现物理实现试验性运行试验性运行使用、维护数据库使用、维护数据库不不满满意意不不满满意意P202 图图7.29设计特点设计特点:在设计过程中把数据库的设计和对数据库中数在设计过程中把数据库的设计和对数据库中数据处理的设计紧密结合起来据处理的设计紧密结合起来 将这两个方面的需求分析、

7、抽象、设计、实现将这两个方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充,在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计以完善两方面的设计 设计过程各个阶段的设计描述:设计过程各个阶段的设计描述:P204图图7.310IPO表输入:输出:处理:CreatLoadMain()ifthenend分区1分区2概念结概念结构设计构设计逻辑逻辑结构结构设计设计物理物理设计设计设计设计阶阶 段段 设设 计计 描描 述述数数 据据处处 理理需 求需 求分分 析析 数据字典、全系统中数据项、数据字典、全系统中数据项、数据流、数据存储的描述数据流、数据存储的描述数据流图和判定表

8、(判定树)、数数据流图和判定表(判定树)、数据字典中处理过程的描述据字典中处理过程的描述 概念模型(概念模型(E-R图)图)数据字典数据字典 系统说明书包括:系统说明书包括:新系统要求、新系统要求、方案和概图方案和概图 反映新系统信息反映新系统信息 流的数据流图流的数据流图 某种数据模型某种数据模型 关系关系 非关系非关系 系统结构图系统结构图(模块结构)(模块结构)存储安排存储安排 方法选择方法选择 存取路径建立存取路径建立 模块设计模块设计 IPO表表实施实施阶段阶段 编写模式编写模式 装入数据装入数据 数据库试运行数据库试运行 程序编码、程序编码、编译联结、编译联结、测试测试运行、运行、

9、维护维护 性能监测、转储性能监测、转储/恢复恢复 数据库重组和重构数据库重组和重构 新旧系统转换、运行、维护(修正性、新旧系统转换、运行、维护(修正性、适应性、改善性维护)适应性、改善性维护)11数据库的各级模式图:数据库的各级模式图:应用要求应用要求1应用要求应用要求2应用要求应用要求3应用要求应用要求4概念概念模式模式逻辑逻辑模式模式外外模式模式1 外外模式模式2 外外模式模式3外外模式模式4内内模式模式综合综合转换转换映象映象映象映象127.2 需求分析需求分析7.2.1 需求分析的任务需求分析的任务需求分析就是分析用户的需要与要求需求分析就是分析用户的需要与要求:需求分析是设计数据库的

10、起点需求分析是设计数据库的起点 需求分析的结果是否准确地反映了用户的实际要求,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用果是否合理和实用(1)通过详细调查现实世界要处理的对象(组织、部门、企通过详细调查现实世界要处理的对象(组织、部门、企业等),充分业等),充分了解原系统了解原系统(手工系统或计算机系统)(手工系统或计算机系统)工工作概况,明确用户的各种需求作概况,明确用户的各种需求.(2)在此基础上在此基础上确定新系统的功能确定新系统的功能。新系统必须充分考虑今。新系统必须充分考虑

11、今后可能的扩充和改变,不能仅仅按当前应用需求来设计后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库数据库.13需求分析的重点:调查、收集与分析用户在数据管理中的需求分析的重点:调查、收集与分析用户在数据管理中的信息要信息要求、处理要求、安全性与完整性要求求、处理要求、安全性与完整性要求。(1)信息要求信息要求 用户需要从数据库中获得信息的内容与性质用户需要从数据库中获得信息的内容与性质 由用户的信息要求可以导出数据要求,即在数据库中需要由用户的信息要求可以导出数据要求,即在数据库中需要存储哪些数据存储哪些数据(2)处理要求处理要求 对处理功能的要求对处理功能的要求 对处理的响应时间的要求

12、对处理的响应时间的要求 对处理方式的要求对处理方式的要求(批处理批处理/联机处理联机处理)(3)安全性与完整性要求安全性与完整性要求 新系统的功能必须能够满足用户的信息要求、处理要求、安全性新系统的功能必须能够满足用户的信息要求、处理要求、安全性与完整性要求。与完整性要求。14需求分析的难点:确定用户的最终需求需求分析的难点:确定用户的最终需求 用户用户缺少计算机知识,开始时无法确定计算机究竟能为自己缺少计算机知识,开始时无法确定计算机究竟能为自己做什么,不能做什么,因此无法一下子准确地表达自己的需做什么,不能做什么,因此无法一下子准确地表达自己的需求,他们所提出的需求往往不断地变化。求,他们

13、所提出的需求往往不断地变化。设计人员设计人员缺少用户的专业知识,不易理解用户的真正需求,缺少用户的专业知识,不易理解用户的真正需求,甚至误解用户的需求。甚至误解用户的需求。新新的硬件、软件的硬件、软件技术的出现技术的出现也会使用户需求发生变化。也会使用户需求发生变化。解决方法:解决方法:设计人员必须采用有效的方法,与用户不断设计人员必须采用有效的方法,与用户不断深入深入地地进行进行交流交流,才能逐步得以确定用户的实际需求,才能逐步得以确定用户的实际需求15 调查组织机构情况调查组织机构情况 组织部门的组成情况组织部门的组成情况 各部门的职责等各部门的职责等 调查各部门的业务活动情况。调查重点之

14、一。调查各部门的业务活动情况。调查重点之一。各个部门输入和使用什么数据各个部门输入和使用什么数据 如何加工处理这些数据如何加工处理这些数据 输出什么信息输出什么信息 输出到什么部门输出到什么部门 输出结果的格式是什么输出结果的格式是什么 在熟悉业务活动的基础上,协助用户明确对新系统的各种要求。在熟悉业务活动的基础上,协助用户明确对新系统的各种要求。调查重点之二。调查重点之二。信息要求信息要求 处理要求处理要求 完全性与完整性要求完全性与完整性要求一、一、调查用户需求的具体步骤:调查用户需求的具体步骤:7.2.2 需求分析的方法需求分析的方法16 确定新系统的边界确定新系统的边界 确定哪些功能由

15、计算机完成或将来准备让计算机完成确定哪些功能由计算机完成或将来准备让计算机完成 确定哪些活动由人工完成确定哪些活动由人工完成 由计算机完成的功能就是新系统应该实现的功能。由计算机完成的功能就是新系统应该实现的功能。二、常用调查方法二、常用调查方法跟班作业跟班作业n通过亲身参加业务工作了解业务活动的情况通过亲身参加业务工作了解业务活动的情况n能比较准确地理解用户的需求,但比较耗时能比较准确地理解用户的需求,但比较耗时开调查会开调查会n通过与用户座谈来了解业务活动情况及用户需求通过与用户座谈来了解业务活动情况及用户需求请专人介绍请专人介绍17询问询问 对某些调查中的问题,可以找专人询问对某些调查中

16、的问题,可以找专人询问设计调查表请用户填写设计调查表请用户填写 如果调查表设计合理,则很有效,且易于为用户接受如果调查表设计合理,则很有效,且易于为用户接受查阅记录查阅记录 查阅与原系统有关的数据记录查阅与原系统有关的数据记录三、进一步分析和表达用户需求三、进一步分析和表达用户需求 分析和表达用户的需求分析和表达用户的需求的常用方法的常用方法 自顶向下的结构化分析方法(自顶向下的结构化分析方法(Structured Analysis,简称简称SA方法)方法)SA方法从最上层的系统组织机构入手,采用逐层分解的方式方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并用数据流图和数据字典描

17、述系统。分析系统,并用数据流图和数据字典描述系统。181首先把任何一个系统都抽象为:首先把任何一个系统都抽象为:数据流数据流数据流数据流数据数据存储存储信息要求信息要求数据数据来源来源处理处理数据数据输出输出处理要求处理要求2分解处理功能和数据分解处理功能和数据(1)分解处理功能)分解处理功能 将处理功能的具体内容分解为若干子功能,再将每个子将处理功能的具体内容分解为若干子功能,再将每个子功能继续分解,直到把系统的工作过程表达清楚为止功能继续分解,直到把系统的工作过程表达清楚为止(2)分解数据)分解数据 在处理功能逐步分解的同时,其所用的数据也逐级分解,在处理功能逐步分解的同时,其所用的数据也

18、逐级分解,形成若干层次的数据流图形成若干层次的数据流图(DFD)数据流图表达了数据和处理过程的关系数据流图表达了数据和处理过程的关系系统高层抽象图系统高层抽象图19(3)表达方法)表达方法 处理过程:用判定表或判定树来描述处理过程:用判定表或判定树来描述 数据:用数据字典(数据:用数据字典(DD)来描述来描述 3将分析结果再次提交给用户,征得用户的认可将分析结果再次提交给用户,征得用户的认可20需求分析过程需求分析过程21实例:假设我们要开发一个学校管理系统。实例:假设我们要开发一个学校管理系统。1经过可行性分析和初步需求调查,抽象出该系统最高层数据流经过可行性分析和初步需求调查,抽象出该系统

19、最高层数据流图,该系统由教师管理子系统、学生管理子系统、后勤管理子系图,该系统由教师管理子系统、学生管理子系统、后勤管理子系统组成,每个子系统分别配备一个开发小组。统组成,每个子系统分别配备一个开发小组。2进一步细化各个子系统。进一步细化各个子系统。其中学生管理子系统开发小组通过进行进一步的需求调查,明确其中学生管理子系统开发小组通过进行进一步的需求调查,明确了该子系统的主要功能是进行学籍管理和课程管理,包括学生报了该子系统的主要功能是进行学籍管理和课程管理,包括学生报到、入学、毕业的管理,学生上课情况的管理。通过详细的信息到、入学、毕业的管理,学生上课情况的管理。通过详细的信息流程分析和数据

20、收集后,他们生成了该子系统的数据流图。流程分析和数据收集后,他们生成了该子系统的数据流图。227.2.3 数据字典数据字典一、数据字典的用途一、数据字典的用途 数据字典是各类数据描述的集合数据字典是各类数据描述的集合 数据字典是进行详细的数据收集和数据分析所获得的数据字典是进行详细的数据收集和数据分析所获得的主要结果主要结果 数据字典在数据库设计中占有很重要的地位数据字典在数据库设计中占有很重要的地位23 数据字典的内容数据字典的内容 数据项数据项 数据结构数据结构 数据流数据流 数据存储数据存储 处理过程处理过程 数据项是数据的最小组成单位数据项是数据的最小组成单位 若干个数据项可以组成一个

21、数据结构若干个数据项可以组成一个数据结构 数据字典通过对数据项和数据结构的定义来描数据字典通过对数据项和数据结构的定义来描 述数据流、数据存储的逻辑内容。述数据流、数据存储的逻辑内容。二、数据字典的内容二、数据字典的内容24 数据项是不可再分的数据单位数据项是不可再分的数据单位 对数据项的描述对数据项的描述数据项描述数据项名,数据项含义说明,数据项描述数据项名,数据项含义说明,别名,数据类型,长度,别名,数据类型,长度,取值范围取值范围,取值含义,取值含义,与其他数据项的逻辑关系与其他数据项的逻辑关系,数据项之间的联系数据项之间的联系 数据项数据项例:学生学籍管理子系统的数据字典。例:学生学籍

22、管理子系统的数据字典。数据项数据项,以,以“学号学号”为例:为例:数据项名:学号数据项名:学号 含义说明:唯一标识每个学生含义说明:唯一标识每个学生 别名:学生编号别名:学生编号 类型:字符型类型:字符型 长度:长度:8 取值范围:取值范围:00000000至至99999999 取值含义:前两位标别该学生所在年级,取值含义:前两位标别该学生所在年级,后六位按顺序编号后六位按顺序编号 与其他数据项的逻辑关系:与其他数据项的逻辑关系:25 数据结构数据结构 数据结构反映了数据之间的组合关系。数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据一个数据结构可以由若

23、干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。结构组成,或由若干个数据项和数据结构混合组成。对数据结构的描述对数据结构的描述数据结构描述数据结构名,含义说明,数据结构描述数据结构名,含义说明,组成组成:数据项或数据结构数据项或数据结构数据结构数据结构 以以“学生学生”为例为例“学生学生”是该系统中的一个核心数据结构:是该系统中的一个核心数据结构:数据结构名:学生数据结构名:学生 含义说明:是学籍管理子系统的主体数据结含义说明:是学籍管理子系统的主体数据结 构,定义了一个学生的有关信息构,定义了一个学生的有关信息 组成:学号,姓名,性别,年龄,组成:学号,姓名,

24、性别,年龄,所在系,年级所在系,年级26 数据流数据流 数据流是数据结构在系统内传输的路径。数据流是数据结构在系统内传输的路径。对数据流的描述对数据流的描述数据流描述数据流名,说明,数据流来源,数据流描述数据流名,说明,数据流来源,数据流去向,组成数据流去向,组成:数据结构,数据结构,平均流量,高峰期流量平均流量,高峰期流量 数据流来源是说明该数据流来自哪个过程数据流来源是说明该数据流来自哪个过程 数据流去向是说明该数据流将到哪个过程去数据流去向是说明该数据流将到哪个过程去 平均流量是指在单位时间(每天、每周、每月等)里的传平均流量是指在单位时间(每天、每周、每月等)里的传输次数输次数 高峰期

25、流量则是指在高峰时期的数据流量高峰期流量则是指在高峰时期的数据流量27数据流数据流“体检结果体检结果”可如下描述:可如下描述:数据流名:体检结果数据流名:体检结果 说明:学生参加体格检查的最终结果说明:学生参加体格检查的最终结果 数据流来源:体检数据流来源:体检 数据流去向:批准数据流去向:批准 组成:学生,医生组成:学生,医生平均流量:平均流量:高峰期流量:高峰期流量:28 数据存储数据存储 数据存储是数据结构停留或保存的地方,也是数据流的来源和去数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。向之一。对数据存储的描述对数据存储的描述数据存储描述数据存储名,说明,编号,数据存

26、储描述数据存储名,说明,编号,输入的数据流输入的数据流,输出的数据流,输出的数据流,组成组成:数据结构,数据量,存取频度,存取方式数据结构,数据量,存取频度,存取方式 输入的数据流:指出数据来源输入的数据流:指出数据来源 输出的数据流:指出数据去向输出的数据流:指出数据去向 数据量:每次存取多少数据数据量:每次存取多少数据 存取频度:存取频度:每天(或每小时、每周等)存取几次等信息每天(或每小时、每周等)存取几次等信息 存取方法:批处理存取方法:批处理/联机处理;检索联机处理;检索/更新;顺序检索更新;顺序检索/随机随机检索检索29数据存储数据存储“学生登记表学生登记表”可如下描述:可如下描述

27、:数据存储名:学生登记表数据存储名:学生登记表 说明:记录学生的基本情况说明:记录学生的基本情况输入数据流:学生信息维护模块输入数据流:学生信息维护模块 输出数据流:学生信息维护模块、学生信息查询模块输出数据流:学生信息维护模块、学生信息查询模块 组成:组成:学生学生 数据量:每年数据量:每年3000张张 存取方式:随机存取存取方式:随机存取30 处理过程处理过程 处理过程的具体处理逻辑一般用判定表或判定树来描述。数据处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字典中只需要描述处理过程的说明性信息字典中只需要描述处理过程的说明性信息 处理过程说明性信息的描述处理过程说明性信息的描述处

28、理过程描述处理过程名,说明,处理过程描述处理过程名,说明,输入输入:数据流,输出数据流,输出:数据流,数据流,处理处理:简要说明简要说明 简要说明:主要说明该处理过程的功能及处理要求简要说明:主要说明该处理过程的功能及处理要求 功能:该处理过程用来做什么功能:该处理过程用来做什么 处理要求:处理频度要求(如单位时间里处理多少事务,处理要求:处理频度要求(如单位时间里处理多少事务,多少数据量);响应时间要求等多少数据量);响应时间要求等 处理要求是后面物理设计的输入及性能评价的标准处理要求是后面物理设计的输入及性能评价的标准31处理过程处理过程“分配宿舍分配宿舍”可如下描述:可如下描述:处理过程

29、名:分配宿舍处理过程名:分配宿舍说明:为所有新生分配学生宿舍说明:为所有新生分配学生宿舍输入:学生数据流,宿舍数据流,输入:学生数据流,宿舍数据流,输出:宿舍安排数据流输出:宿舍安排数据流处理:在新生报到后,为所有新生分配学生宿舍。要求同一处理:在新生报到后,为所有新生分配学生宿舍。要求同一 间宿舍只能安排同一性别的学生,同一个学生只能间宿舍只能安排同一性别的学生,同一个学生只能 安排在一个宿舍中。每个学生的居安排在一个宿舍中。每个学生的居 住面积不小于住面积不小于3平平 方米。安排新生宿舍其处理时间应不超过方米。安排新生宿舍其处理时间应不超过15分钟。分钟。327.3 概念结构设计概念结构设

30、计7.3.1 概念结构概念结构现实世界现实世界机器世界机器世界信息世界信息世界需求分析需求分析概念结构设计概念结构设计33概念结构的特点:概念结构的特点:(1)能真实、充分地反映现实世界,包括事物和事物之间的联系,能能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。满足用户对数据的处理要求。是对现实世界的一个真实模型。(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。的积极参与是数据库的设计成功的关键。(3)易于更改,当应用环境和应

31、用要求改变时,容易对概念模型修改易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。和扩充。(4)易于向关系、网状、层次等各种数据模型转换。易于向关系、网状、层次等各种数据模型转换。概念结构是各种数据模型的共同基础,它比数据模型更独立概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。于机器、更抽象,从而更加稳定。描述概念模型的工具描述概念模型的工具:E-R模型模型347.3.2 概念结构设计的方法与步骤概念结构设计的方法与步骤设计概念结构的四类方法设计概念结构的四类方法:自顶向下自顶向下 首先定义全局概念结构的框架,然后逐步细化首先定义全局概念结构的

32、框架,然后逐步细化 自底向上自底向上 首先定义各局部应用的概念结构,然后将它们集成起首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构来,得到全局概念结构 逐步扩张逐步扩张 首先定义最重要的核心概念结构,然后向外扩充,以滚首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构雪球的方式逐步生成其他概念结构,直至总体概念结构 混合策略混合策略 将自顶向下和自底向上相结合,用自顶向下策略设计一将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策个全局概念结构的框架,以它为骨架集成由自底向上策略中设

33、计的各局部概念结构。略中设计的各局部概念结构。35自顶向下方法图自顶向下方法图36自底向上方法图自底向上方法图37逐步扩张方法图逐步扩张方法图38常用策略:常用策略:自顶向下地进行需求分析自顶向下地进行需求分析 自底向上地设计概念结构自底向上地设计概念结构(P211图图7.8)自底向上设计概念结构的步骤:自底向上设计概念结构的步骤:第第1步:抽象数据并设计局部视图步:抽象数据并设计局部视图 第第2步:集成局部视图,得到全局概念结构步:集成局部视图,得到全局概念结构(P211图图7.9)397.3.3 数据抽象与局部视图设计数据抽象与局部视图设计 概念结构是对现实世界的一种概念结构是对现实世界的

34、一种抽象抽象 从实际的人、物、事和概念中抽取所关心的共同特性,忽从实际的人、物、事和概念中抽取所关心的共同特性,忽略非本质的细节略非本质的细节 把这些特性用各种概念精确地加以描述把这些特性用各种概念精确地加以描述 这些概念组成了某种模型这些概念组成了某种模型 三种常用抽象三种常用抽象1.分类(分类(Classification)现实世界中一组对象,这些对象具有某些共同的特性和行现实世界中一组对象,这些对象具有某些共同的特性和行为为注:它抽象了对象注:它抽象了对象值和型值和型之间的之间的“is member of”的语义的语义 在在E-R模型中,实体型就是这种抽象模型中,实体型就是这种抽象 例:

35、例:P212图图7.10定义某一类概念定义某一类概念402.聚集(聚集(Aggregation)定义某一类型的组成成分定义某一类型的组成成分 它抽象了对象内部类型和成分之间它抽象了对象内部类型和成分之间“is part of”的语义的语义 在在E-R模型中若干属性的聚集组成了实体型,就是这种抽象模型中若干属性的聚集组成了实体型,就是这种抽象例:例:P212图图7.11,图,图7.123.概括(概括(Generalization)定义类型之间的一种子集联系定义类型之间的一种子集联系 它抽象了类型之间的它抽象了类型之间的“is subset of”的语义的语义 概括有一个很重要的性质:继承性。子类

36、继承超类概括有一个很重要的性质:继承性。子类继承超类上定义的所有抽象。上定义的所有抽象。例:例:P213图图7.1341 概念结构设计的第一步:概念结构设计的第一步:对需求分析阶段收集到对需求分析阶段收集到的数据进行分类的数据进行分类、组织(聚集),形成、组织(聚集),形成 实体实体 实体的实体的属性属性,标识实体的码,标识实体的码 确定实体之间的确定实体之间的联系联系类型类型(1:1,1:n,m:n)设计分设计分E-R图。图。具体做法:具体做法:选择局部应用选择局部应用需求分析阶段,已用多层数据流图和数据字典描述了整个系统。需求分析阶段,已用多层数据流图和数据字典描述了整个系统。如如:P21

37、6 图图7.18设计分设计分E-R图首先需要根据系统的具体情况,在多层的数据流图中图首先需要根据系统的具体情况,在多层的数据流图中选择选择一个一个适适当层次的数据流图当层次的数据流图,让这组图中每一部分对应一个局部应用,然后以这一层,让这组图中每一部分对应一个局部应用,然后以这一层次的数据流图为出发点,设计分次的数据流图为出发点,设计分E-R图。图。通常以中层数据流图作为设计分通常以中层数据流图作为设计分E-R图的依据。图的依据。42例:由于学籍管理、课程管理等都不太复杂,因此可以它们入手例:由于学籍管理、课程管理等都不太复杂,因此可以它们入手设计学生管理子系统的分设计学生管理子系统的分E-R

38、图。如果局部应用比较复杂,则可图。如果局部应用比较复杂,则可以从更下层的数据流图入手。以从更下层的数据流图入手。2.逐一设计分逐一设计分E-R图图 将各局部应用涉及的数据分别从数据字典中抽取出来,参照将各局部应用涉及的数据分别从数据字典中抽取出来,参照数据流图,标定各局部应用中的实体、实体的属性、标识实体的数据流图,标定各局部应用中的实体、实体的属性、标识实体的码,确定实体之间的联系及其类型(码,确定实体之间的联系及其类型(1:1,1:n,m:n)如何抽象实体和属性如何抽象实体和属性:实体实体:现实世界中一组具有某些共同特性和行为的对象就可以:现实世界中一组具有某些共同特性和行为的对象就可以抽

39、象为一个实体。对象和实体之间是抽象为一个实体。对象和实体之间是“is member of的关系。的关系。例:在学校环境中,可把张三、李四等对象抽象为学生实体。例:在学校环境中,可把张三、李四等对象抽象为学生实体。43 属性属性:对象类型的组成成分可以抽象为实体的属性。组成成:对象类型的组成成分可以抽象为实体的属性。组成成分与对象类型之间是分与对象类型之间是“is part of的关系。的关系。例:学号、姓名、专业、年级等可以抽象为学生实体的属性。其例:学号、姓名、专业、年级等可以抽象为学生实体的属性。其中学号为标识学生实体的码。中学号为标识学生实体的码。如何区分实体和属性如何区分实体和属性:实

40、体与属性是相对而言的实体与属性是相对而言的。同一事物,在一种应用环境中作。同一事物,在一种应用环境中作为为“属性属性”,在另一种应用环境中就必须作为,在另一种应用环境中就必须作为“实体实体”。例:学校中的系,在某种应用环境中,它只是作为例:学校中的系,在某种应用环境中,它只是作为“学生学生”实体的一个属性,表明一个学生属于哪个系;而在另一种环实体的一个属性,表明一个学生属于哪个系;而在另一种环境中,由于需要考虑一个系的系主任、教师人数、学生人数、境中,由于需要考虑一个系的系主任、教师人数、学生人数、办公地点等,这时它就需要作为实体了。办公地点等,这时它就需要作为实体了。44一般原则一般原则:属

41、性不能再具有需要描述的性质。即属性必须是不可分的属性不能再具有需要描述的性质。即属性必须是不可分的数据项,不能再由另一些属性组成。数据项,不能再由另一些属性组成。属性不能与其他实体具有联系。联系只发生在实体之间。属性不能与其他实体具有联系。联系只发生在实体之间。符合上述两条特性的事物一般作为属性对待。符合上述两条特性的事物一般作为属性对待。为了简化为了简化E-R图的处置,现实世界中的事物凡能够作为属性对图的处置,现实世界中的事物凡能够作为属性对待的,应尽量作为属性。待的,应尽量作为属性。举例举例:例例1:“学生学生”由学号、姓名等属性进一步描述,根据准则,由学号、姓名等属性进一步描述,根据准则

42、,“学生学生”只能作为实体,不能作为属性。只能作为实体,不能作为属性。例例2:职称通常作为教师实体的属性,但在涉及住房分配时,由:职称通常作为教师实体的属性,但在涉及住房分配时,由于分房与职称有关,也就是说职称与住房实体之间有联系,于分房与职称有关,也就是说职称与住房实体之间有联系,根据准则,这时把职称作为实体来处理会更合适些。(教根据准则,这时把职称作为实体来处理会更合适些。(教程程214图图7-15)45例例3:(p215 图图7.16)病人病人住院号住院号姓名姓名病房号病房号病人病人住院号住院号姓名姓名住在住在病房病房医疗医疗医生医生1m1m例例4:(p215 图图7.17)货物货物货号

43、货号单价单价存放仓库号存放仓库号存量存量货物货物货号货号单价单价存放存放仓库仓库存量存量mn仓库号仓库号面积面积货物货物货号货号单价单价存放存放仓库仓库存量存量m1仓库号仓库号面积面积管理管理职工职工1m46 需求分析需求分析DFD(数据流图)DD(数据字典)概念结构设计概念结构设计(1)选择局部应用)选择局部应用(2)逐一设计分)逐一设计分ER图图(3)合并,消除各种冲突,形成初步)合并,消除各种冲突,形成初步ER图。图。(4)修改和重构,消除不必要的冗余,形成基本)修改和重构,消除不必要的冗余,形成基本ER图。图。第第1步:抽象数据并设计局部视图步:抽象数据并设计局部视图第第2步:集成局部

44、视图,得到全局概念步:集成局部视图,得到全局概念结构结构分E-R图总E-R图47实例:销售管理子系统分实例:销售管理子系统分E-R图的设计。图的设计。某某工厂信息管理系统工厂信息管理系统物资管理子系统物资管理子系统销售管理子系统销售管理子系统人事管理子系统人事管理子系统销售管理子系统需求分析销售管理子系统需求分析第一层数据流图第一层数据流图第二层数据流图第二层数据流图数据字典数据字典接收订单接收订单处理订单处理订单开发票开发票支付过帐支付过帐销售管理子系统概念结构设计销售管理子系统概念结构设计分分E-R图图总总E-R图图48销售管理子系统的销售管理子系统的E R图:图:顾客顾客支付支付应收账应

45、收账1n订货订货订单订单1m产品产品?调整调整顾客顾客支付支付应收账应收账1n订货订货订单订单1m组成组成产品产品订单细节订单细节参照参照1参照参照2折扣规则折扣规则1m1m1m49顾客顾客支付支付应收账应收账1n订货订货订单订单1m组成组成产品产品订单细节订单细节参照参照1参照参照2折扣规则折扣规则1m1m1m每个实体的属性和主码:每个实体的属性和主码:顾客()顾客()订单()订单()订单细节()订单细节()应收账()应收账()产品()产品()折扣规则()折扣规则()P223507.3.4 视图的集成视图的集成视图集成的两种方式视图集成的两种方式:一次集成(一次集成(P219图图7.25(a

46、))一次集成多个分一次集成多个分E-R图图 通常用于局部视图比较简单时通常用于局部视图比较简单时 逐步累积式(逐步累积式(P219图图7.25(b))首先集成两个局部视图(通常是比较关键的两个首先集成两个局部视图(通常是比较关键的两个局部视图)局部视图)以后每次将一个新的局部视图集成进来以后每次将一个新的局部视图集成进来集成局部集成局部E-R图的步骤图的步骤:1.合并合并2.修改与重构修改与重构51视图集成步骤图视图集成步骤图52一、合并分一、合并分E-R图,生成初步图,生成初步E-R图图 冲突的种类:冲突的种类:属性冲突属性冲突 命名冲突命名冲突 结构冲突结构冲突1.属性冲突属性冲突(1)属

47、性域冲突)属性域冲突:属性值的类型、取值范围或取值集合不同。:属性值的类型、取值范围或取值集合不同。例例1,由于学号是数字,因此某些部门(即局部应用)将由于学号是数字,因此某些部门(即局部应用)将 学号定义为整数形式,而由于学号不用参与运算,学号定义为整数形式,而由于学号不用参与运算,因此另一些部门(即局部应用)将学号定义为字符因此另一些部门(即局部应用)将学号定义为字符 型形式。型形式。例例2,某些部门(即局部应用)以出生日期形式表示学生某些部门(即局部应用)以出生日期形式表示学生 的年龄,而另一些部门(即局部应用)用整数形式的年龄,而另一些部门(即局部应用)用整数形式 表示学生的年龄。表示

48、学生的年龄。53(2)属性取值单位冲突。)属性取值单位冲突。例:学生的身高,有的以米为单位,有的以厘米为单位,有例:学生的身高,有的以米为单位,有的以厘米为单位,有 的以尺为单位。的以尺为单位。属性冲突的解决方法:属性冲突的解决方法:通常用讨论、协商等行政手段加以解决。通常用讨论、协商等行政手段加以解决。2.命名冲突命名冲突 (1)同名异义)同名异义:不同意义的对象在不同的局部应用中具有相同不同意义的对象在不同的局部应用中具有相同 的名的名字字 例,局部应用例,局部应用A中将教室称为房间中将教室称为房间 局部应用局部应用B中将学生宿舍称为房间中将学生宿舍称为房间(2)异名同义(一义多名)异名同

49、义(一义多名):同一意义的对象在不同的局部应:同一意义的对象在不同的局部应 用中具有不同的名字用中具有不同的名字 例,有的部门把教科书称为课本例,有的部门把教科书称为课本 有的部门则把教科书称为教材有的部门则把教科书称为教材54命名冲突的解决方法:命名冲突的解决方法:通过讨论、协商等行政手段加以解决。通过讨论、协商等行政手段加以解决。3.结构冲突结构冲突(1)同一对象在不同应用中具有不同的抽象同一对象在不同应用中具有不同的抽象 例,例,“课程课程”在某一局部应用中被当作实体在某一局部应用中被当作实体 在另一局部应用中则被当作属性在另一局部应用中则被当作属性 解决方法:解决方法:通常是把属性变换

50、为实体或把实体变换为属性,通常是把属性变换为实体或把实体变换为属性,使同一对象具有相同的抽象。使同一对象具有相同的抽象。变换时要遵循两个准则。变换时要遵循两个准则。(2)同一实体在不同局部视图中所包含的属性不完全相同,或者同一实体在不同局部视图中所包含的属性不完全相同,或者属性的排列次序不完全相同。属性的排列次序不完全相同。产生原因:产生原因:不同的局部应用关心的是该实体的不同侧面。不同的局部应用关心的是该实体的不同侧面。解决方法:解决方法:使该实体的属性取各分使该实体的属性取各分E-R图中属性的并集,图中属性的并集,再适再适 当设计属性的次序。当设计属性的次序。554.实体间联系类型的冲突实

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(数据库系统概论第7章数据库设计-课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|