第6章数据库设计ppt课件.ppt

上传人:豆**** 文档编号:65777538 上传时间:2022-12-08 格式:PPT 页数:286 大小:1.46MB
返回 下载 相关 举报
第6章数据库设计ppt课件.ppt_第1页
第1页 / 共286页
第6章数据库设计ppt课件.ppt_第2页
第2页 / 共286页
点击查看更多>>
资源描述

《第6章数据库设计ppt课件.ppt》由会员分享,可在线阅读,更多相关《第6章数据库设计ppt课件.ppt(286页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第6章数据库设计ppt课件 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望第第6章章 数据库设计数据库设计6.1 数据库设计的步骤数据库设计的步骤6.2 需求分析需求分析6.3 概念结构设计概念结构设计6.4 逻辑结构设计逻辑结构设计6.5 数据库的物理设计数据库的物理设计6.6 数据库实施数据库实施6.7 数据库运行与维护数据库运行与维护6.1 数据库设计的步骤数据库设计的步骤l数据库设计的准备工作数据库设计的准备工作l数据库设计的过程数据库设计的过程一、数据库

2、设计的准备工作一、数据库设计的准备工作l选定参加设计的人员选定参加设计的人员数据库分析设计人员数据库分析设计人员用户用户程序员程序员操作员操作员数据库设计的准备工作数据库设计的准备工作(续续)l1.数据库分析设计人员数据库分析设计人员数据库设计的核心人员数据库设计的核心人员自始至终参与数据库设计自始至终参与数据库设计其水平决定了数据库系统的质量其水平决定了数据库系统的质量数据库设计的准备工作数据库设计的准备工作(续续)l2.用户用户在数据库设计中也是举足轻重的在数据库设计中也是举足轻重的主要参加需求分析和数据库的运行维护主要参加需求分析和数据库的运行维护用户积极参与带来的好处用户积极参与带来的

3、好处加速数据库设计加速数据库设计提高数据库设计的质量提高数据库设计的质量数据库设计的准备工作数据库设计的准备工作(续续)l3.程序员程序员在系统实施阶段参与进来,负责编制程序在系统实施阶段参与进来,负责编制程序l4.操作员操作员在系统实施阶段参与进来,准备软硬件环境在系统实施阶段参与进来,准备软硬件环境二二.数据库设计的过程数据库设计的过程(六个阶六个阶段段)1.需求分析阶段需求分析阶段2.概念结构设计阶段概念结构设计阶段3.逻辑结构设计阶段逻辑结构设计阶段4.数据库物理设计阶段数据库物理设计阶段5.数据库实施阶段数据库实施阶段6.数据库运行和维护阶段数据库运行和维护阶段数据库设计的过程数据库

4、设计的过程(续续)需求分析阶段需求分析阶段准确了解与分析用户需求(包括数据与处理)准确了解与分析用户需求(包括数据与处理)是整个设计过程的基础,是最困难、最耗费时间的是整个设计过程的基础,是最困难、最耗费时间的一步一步数据库设计的过程数据库设计的过程(续续)概念结构设计阶段概念结构设计阶段是整个数据库设计的关键是整个数据库设计的关键通过对用户需求进行综合、归纳与抽象,形通过对用户需求进行综合、归纳与抽象,形成一个独立于具体成一个独立于具体DBMS的概念模型的概念模型数据库设计的过程数据库设计的过程(续续)逻辑结构设计阶段逻辑结构设计阶段将概念结构转换为某个将概念结构转换为某个DBMS所支持的数

5、据所支持的数据模型模型对其进行优化对其进行优化数据库设计的过程数据库设计的过程(续续)数据库物理设计阶段数据库物理设计阶段为逻辑数据模型选取一个最适合应用环境的为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)物理结构(包括存储结构和存取方法)数据库设计的过程数据库设计的过程(续续)数据库实施阶段数据库实施阶段运用运用DBMS提供的数据语言、工具及宿主语提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果言,根据逻辑设计和物理设计的结果建立数据库建立数据库编制与调试应用程序编制与调试应用程序组织数据入库组织数据入库并进行试运行并进行试运行数据库设计的过程数据库设计

6、的过程(续续)数据库运行和维护阶段数据库运行和维护阶段数据库应用系统经过试运行后即可投入正式数据库应用系统经过试运行后即可投入正式运行。运行。在数据库系统运行过程中必须不断地对其进在数据库系统运行过程中必须不断地对其进行评价、调整与修改。行评价、调整与修改。数据库设计的过程数据库设计的过程(续续)设计一个完善的数据库应用系统往往是设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。上述六个阶段的不断反复。P184图图6-1第第6章章 数据库设计数据库设计6.1 数据库设计的步骤数据库设计的步骤6.2 需求分析需求分析6.3 概念结构设计概念结构设计6.4 逻辑结构设计逻辑结构设计6.5

7、数据库的物理设计数据库的物理设计6.6 数据库实施数据库实施6.7 数据库运行与维护数据库运行与维护6.2 需求分析需求分析6.2.1 需求分析的任务需求分析的任务6.2.2 需求分析的方法需求分析的方法6.2.3 数据字典数据字典需求分析(续)需求分析(续)l需求分析就是分析用户的需要与要求需求分析就是分析用户的需要与要求需求分析是设计数据库的起点需求分析是设计数据库的起点需求分析的结果是否准确地反映了用户的实需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用并影响到设计结果是否合理和实用6.2

8、 需求分析需求分析6.2.1 需求分析的任务需求分析的任务6.2.2 需求分析的方法需求分析的方法6.2.3 数据字典数据字典6.2.1 需求分析的任务需求分析的任务一、需求分析的任务一、需求分析的任务二、需求分析的重点二、需求分析的重点三、需求分析的难点三、需求分析的难点一、需求分析的任务一、需求分析的任务l 通过详细调查现实世界要处理的对象通过详细调查现实世界要处理的对象(组织、部门、企业等),充分(组织、部门、企业等),充分了解原了解原系统系统(手工系统或计算机系统)(手工系统或计算机系统)工作概工作概况,明确用户的各种需求况,明确用户的各种需求l 在此基础上在此基础上确定新系统的功能确

9、定新系统的功能。新系统。新系统必须充分考虑今后可能的扩充和改变,必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库不能仅仅按当前应用需求来设计数据库二、需求分析的重点二、需求分析的重点l需求分析的重点是调查、收集与分析用户在数需求分析的重点是调查、收集与分析用户在数据管理中的据管理中的信息要求、处理要求、安全性与完信息要求、处理要求、安全性与完整性要求整性要求。l 信息要求信息要求用户需要从数据库中获得信息的内容与性质用户需要从数据库中获得信息的内容与性质由用户的信息要求可以导出数据要求,即在由用户的信息要求可以导出数据要求,即在数据库中需要存储哪些数据数据库中需要存储哪些数

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

11、己的需求,他们所无法一下子准确地表达自己的需求,他们所提出的需求往往不断地变化。提出的需求往往不断地变化。设计人员设计人员缺少用户的专业知识,不易理解用缺少用户的专业知识,不易理解用户的真正需求,甚至误解用户的需求。户的真正需求,甚至误解用户的需求。新新的硬件、软件的硬件、软件技术的出现技术的出现也会使用户需求也会使用户需求发生变化。发生变化。需求分析的难点需求分析的难点(续续)l解决方法解决方法设计人员必须采用有效的方法,与用户不断设计人员必须采用有效的方法,与用户不断深入深入地进行地进行交流交流,才能逐步得以确定用户的,才能逐步得以确定用户的实际需求实际需求6.2 需求分析需求分析6.2.

12、1 需求分析的任务需求分析的任务6.2.2 需求分析的方法需求分析的方法6.2.3 数据字典数据字典6.2.2 需求分析的方法需求分析的方法l调查清楚用户的实际需求并进行初步分析调查清楚用户的实际需求并进行初步分析l 与用户达成共识与用户达成共识l 进一步分析与表达这些需求进一步分析与表达这些需求一、一、调查与初步分析用户需求调查与初步分析用户需求 调查组织机构情况调查组织机构情况 部门的组成情况部门的组成情况 各部门的职责等各部门的职责等调查与初步分析用户需求(续)调查与初步分析用户需求(续)调查各部门的业务活动情况。调查重点之一。调查各部门的业务活动情况。调查重点之一。各个部门各个部门输入

13、输入和使用什么数据和使用什么数据 如何加工如何加工处理处理这些数据这些数据 输出输出什么信息什么信息 输出到什么部门输出到什么部门 输出结果的格式是什么输出结果的格式是什么调查与初步分析用户需求(续)调查与初步分析用户需求(续)在熟悉业务活动的基础上,协助用户明确对新在熟悉业务活动的基础上,协助用户明确对新系统的各种要求。调查重点之二。系统的各种要求。调查重点之二。信息要求信息要求 处理要求处理要求 完全性与完整性要求完全性与完整性要求调查与初步分析用户需求(续)调查与初步分析用户需求(续)对前面调查的结果进行初步分析对前面调查的结果进行初步分析确定新系统的边界确定新系统的边界确定哪些功能由计

14、算机完成或将来准备让计算机确定哪些功能由计算机完成或将来准备让计算机完成完成确定哪些活动由人工完成确定哪些活动由人工完成 由计算机完成的功能就是新系统应该实现的功能。由计算机完成的功能就是新系统应该实现的功能。二、常用调查方法二、常用调查方法l做需求调查时,往往需要同时采用多种做需求调查时,往往需要同时采用多种方法方法无论使用何种调查方法,都必须有用户的积无论使用何种调查方法,都必须有用户的积极参与和配合极参与和配合设计人员应该和用户取得共同的语言,帮助设计人员应该和用户取得共同的语言,帮助不熟悉计算机的用户建立数据库环境下的共不熟悉计算机的用户建立数据库环境下的共同概念,并对设计工作的最后结

15、果共同承担同概念,并对设计工作的最后结果共同承担责任责任常用调查方法(续)常用调查方法(续)l常用调查方法常用调查方法跟班作业跟班作业通过亲身参加业务工作了解业务活动的情况通过亲身参加业务工作了解业务活动的情况能比较准确地理解用户的需求,但比较耗时能比较准确地理解用户的需求,但比较耗时开调查会开调查会通过与用户座谈来了解业务活动情况及用户通过与用户座谈来了解业务活动情况及用户需求需求请专人介绍请专人介绍常用调查方法(续)常用调查方法(续)询问询问对某些调查中的问题,可以找专人询问对某些调查中的问题,可以找专人询问设计调查表请用户填写设计调查表请用户填写如果调查表设计合理,则很有效,且易于为如果

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

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

18、也逐级分解,形成若干层次的数据流图级分解,形成若干层次的数据流图 数据流图表达了数据和处理过程的关系数据流图表达了数据和处理过程的关系进一步分析和表达用户需求(续)进一步分析和表达用户需求(续)(3)表达方法)表达方法 处理过程:用判定表或判定树来描述处理过程:用判定表或判定树来描述 数据:用数据字典来描述数据:用数据字典来描述 进一步分析和表达用户需求(续)进一步分析和表达用户需求(续)3将分析结果再次提交给用户,征得用户将分析结果再次提交给用户,征得用户的认可的认可四、需求分析小结四、需求分析小结lP187图图6-4需求分析小结(续)需求分析小结(续)实例:假设我们要开发一个学校管理系统。

19、实例:假设我们要开发一个学校管理系统。1经过可行性分析和初步需求调查,抽象出该系统最高经过可行性分析和初步需求调查,抽象出该系统最高层数据流图,该系统由层数据流图,该系统由教师管理子系统教师管理子系统、学生管理子学生管理子系统系统、后勤管理子系统后勤管理子系统组成,每个子系统分别配备一组成,每个子系统分别配备一个开发小组。个开发小组。2进一步细化各个子系统。进一步细化各个子系统。其中学生管理子系统开发小组通过进行进一步的需求其中学生管理子系统开发小组通过进行进一步的需求调查,明确了该子系统的主要功能是进行调查,明确了该子系统的主要功能是进行学籍管理学籍管理和和课程管理课程管理,包括学生报到、入

20、学、毕业的管理,学生,包括学生报到、入学、毕业的管理,学生上课情况的管理。通过详细的信息流程分析和数据收上课情况的管理。通过详细的信息流程分析和数据收集后,他们生成了该子系统的数据流图。集后,他们生成了该子系统的数据流图。6.2 需求分析需求分析6.2.1 需求分析的任务需求分析的任务6.2.2 需求分析的方法需求分析的方法6.2.3 数据字典数据字典6.2.3 数据字典数据字典一、数据字典的用途一、数据字典的用途二、数据字典的内容二、数据字典的内容一、数据字典的用途一、数据字典的用途l数据字典是各类数据描述的集合数据字典是各类数据描述的集合l数据字典是进行详细的数据收集和数据分析所数据字典是

21、进行详细的数据收集和数据分析所获得的主要结果获得的主要结果l数据字典在数据库设计中占有很重要的地位数据字典在数据库设计中占有很重要的地位二、数据字典的内容二、数据字典的内容l数据字典的内容数据字典的内容数据项数据项数据结构数据结构数据流数据流数据存储数据存储处理过程处理过程l 数据项是数据的最小组成单位数据项是数据的最小组成单位l 若干个数据项可以组成一个数据结构若干个数据项可以组成一个数据结构l 数据字典通过对数据项和数据结构的定义来描数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。述数据流、数据存储的逻辑内容。数据项数据项l数据项是不可再分的数据单位数据项是不可再分的

22、数据单位l 对数据项的描述对数据项的描述数据项描述数据项名,数据项含义说明,数据项描述数据项名,数据项含义说明,别名,数据类型,长度,取值范围,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系取值含义,与其他数据项的逻辑关系取值范围、与其他数据项的逻辑关系定义了取值范围、与其他数据项的逻辑关系定义了数据的完整性约束条件数据的完整性约束条件 数据结构数据结构l数据结构反映了数据之间的组合关系。数据结构反映了数据之间的组合关系。l 一个数据结构可以由若干个数据项组成,也可一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项以由若干个数据结构组成,或由若干

23、个数据项和数据结构混合组成。和数据结构混合组成。l 对数据结构的描述对数据结构的描述数据结构描述数据结构名,含义说明,数据结构描述数据结构名,含义说明,组成组成:数据项或数据结构数据项或数据结构 数据流数据流l 数据流是数据结构在系统内传输的路径。数据流是数据结构在系统内传输的路径。l 对数据流的描述对数据流的描述数据流描述数据流名,说明,数据流来源,数据流描述数据流名,说明,数据流来源,数据流去向,组成数据流去向,组成:数据结构,数据结构,平均流量,高峰期流量平均流量,高峰期流量数据流来源是说明该数据流来自哪个过程数据流来源是说明该数据流来自哪个过程数据流去向是说明该数据流将到哪个过程去数据

24、流去向是说明该数据流将到哪个过程去平均流量是指在单位时间(每天、每周、每平均流量是指在单位时间(每天、每周、每月等)里的传输次数月等)里的传输次数高峰期流量则是指在高峰时期的数据流量高峰期流量则是指在高峰时期的数据流量 数据存储数据存储l数据存储是数据结构停留或保存的地方,也是数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。数据流的来源和去向之一。l对数据存储的描述对数据存储的描述数据存储描述数据存储名,说明,编号,数据存储描述数据存储名,说明,编号,流入的数据流流入的数据流,流出的数据流,流出的数据流,组成组成:数据结构,数据量,存取方式数据结构,数据量,存取方式流入的数据流

25、:指出数据来源流入的数据流:指出数据来源流出的数据流:指出数据去向流出的数据流:指出数据去向数据量:每次存取多少数据,每天(或每小时、每数据量:每次存取多少数据,每天(或每小时、每周等)存取几次等信息周等)存取几次等信息存取方法:批处理存取方法:批处理/联机处理;检索联机处理;检索/更新;顺序更新;顺序检索检索/随机检索随机检索 处理过程处理过程l处理过程的具体处理逻辑一般用判定表或判定处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字典中只需要描述处理过程的树来描述。数据字典中只需要描述处理过程的说明性信息说明性信息l处理过程说明性信息的描述处理过程说明性信息的描述处理过程描述处理过程

26、名,说明,处理过程描述处理过程名,说明,输入输入:数据流,输出数据流,输出:数据流,数据流,处理处理:简要说明简要说明处理过程(续)处理过程(续)简要说明:主要说明该处理过程的功能及处简要说明:主要说明该处理过程的功能及处理要求理要求功能:该处理过程用来做什么功能:该处理过程用来做什么处理要求:处理频度要求(如单位时间里处理要求:处理频度要求(如单位时间里处理多少事务,多少数据量);响应时间处理多少事务,多少数据量);响应时间要求等要求等处理要求是后面物理设计的输入及性能评处理要求是后面物理设计的输入及性能评价的标准价的标准处理过程(续)处理过程(续)例:学生学籍管理子系统的数据字典。例:学生

27、学籍管理子系统的数据字典。数据项数据项,以,以“学号学号”为例:为例:数据项:学号数据项:学号 含义说明:唯一标识每个学生含义说明:唯一标识每个学生别名:学生编号别名:学生编号 类型:字符型类型:字符型 长度:长度:8 取值范围:取值范围:00000000至至99999999取值含义:前两位标别该学生所在年级,取值含义:前两位标别该学生所在年级,后六位按顺序编号后六位按顺序编号与其他数据项的逻辑关系:与其他数据项的逻辑关系:处理过程(续)处理过程(续)数据结构数据结构 以以“学生学生”为例为例“学生学生”是该系统中的一个核心数据结构:是该系统中的一个核心数据结构:数据结构:学生数据结构:学生

28、含义说明:是学籍管理子系统的主体数据结含义说明:是学籍管理子系统的主体数据结 构,定义了一个学生的有关信息构,定义了一个学生的有关信息 组成:学号,姓名,性别,年龄,组成:学号,姓名,性别,年龄,所在系,年级所在系,年级处理过程(续)处理过程(续)数据流数据流“体检结果体检结果”可如下描述:可如下描述:数据流:体检结果数据流:体检结果 说明:学生参加体格检查的最终结果说明:学生参加体格检查的最终结果 数据流来源:体检数据流来源:体检 数据流去向:批准数据流去向:批准 组成:组成:平均流量:平均流量:高峰期流量:高峰期流量:处理过程(续)处理过程(续)数据存储数据存储“学生登记表学生登记表”可如

29、下描述:可如下描述:数据存储:学生登记表数据存储:学生登记表 说明:记录学生的基本情况说明:记录学生的基本情况流入数据流:流入数据流:流出数据流:流出数据流:组成:组成:数据量:每年数据量:每年3000张张 存取方式:随机存取存取方式:随机存取 处理过程(续)处理过程(续)处理过程处理过程“分配宿舍分配宿舍”可如下描述:可如下描述:处理过程:分配宿舍处理过程:分配宿舍说明:为所有新生分配学生宿舍说明:为所有新生分配学生宿舍输入:学生,宿舍,输入:学生,宿舍,输出:宿舍安排输出:宿舍安排处理:在新生报到后,为所有新生分配学处理:在新生报到后,为所有新生分配学 生宿舍。要求同一间宿舍只能安排生宿舍

30、。要求同一间宿舍只能安排 同一性别的学生,同一个学生只能同一性别的学生,同一个学生只能 安排在一个宿舍中。每个学生的居安排在一个宿舍中。每个学生的居 住面积不小于住面积不小于3平方米。安排新生平方米。安排新生 宿舍其处理时间应不超过宿舍其处理时间应不超过15分钟。分钟。第第6章章 数据库设计数据库设计6.1 数据库设计的步骤数据库设计的步骤6.2 需求分析需求分析6.3 概念结构设计概念结构设计6.4 逻辑结构设计逻辑结构设计6.5 数据库的物理设计数据库的物理设计6.6 数据库实施数据库实施6.7 数据库运行与维护数据库运行与维护6.3 概念结构设计概念结构设计l什么是概念结构设计什么是概念

31、结构设计需求分析阶段描述的用户应用需求是现实世需求分析阶段描述的用户应用需求是现实世界的具体需求界的具体需求将需求分析得到的用户需求抽象为信息结构将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计即概念模型的过程就是概念结构设计概念结构是各种数据模型的共同基础,它比概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加数据模型更独立于机器、更抽象,从而更加稳定。稳定。概念结构设计是整个数据库设计的关键概念结构设计是整个数据库设计的关键概念结构设计(续)概念结构设计(续)现实世界现实世界机器世界机器世界信息世界信息世界需求分析需求分析概念结构设计概念结构

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

33、用环境和应用要求改变时,)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。容易对概念模型修改和扩充。(4)易于向关系、网状、层次等各种数据模型)易于向关系、网状、层次等各种数据模型转换。转换。概念结构设计(续)概念结构设计(续)l描述概念模型的工具描述概念模型的工具E-R模型模型6.3 概念结构设计概念结构设计6.3.1 概念结构设计的方法与步骤概念结构设计的方法与步骤6.3.2 数据抽象与局部视图设计数据抽象与局部视图设计6.3.3 视图的集成视图的集成6.3 概念结构设计概念结构设计6.3.1 概念结构设计的方法与步骤概念结构设计的方法与步骤6.3.2 数据抽象与局部视图设

34、计数据抽象与局部视图设计6.3.3 视图的集成视图的集成6.3.1 概念结构设计的方法与步骤概念结构设计的方法与步骤l设计概念结构的四类方法设计概念结构的四类方法自顶向下自顶向下 首先定义全局概念结构的框架,然后逐首先定义全局概念结构的框架,然后逐步细化步细化概念结构设计的方法与步骤(续)概念结构设计的方法与步骤(续)自顶向下策略自顶向下策略概念结构设计的方法与步骤(续)概念结构设计的方法与步骤(续)l设计概念结构的四类方法(续)设计概念结构的四类方法(续)自底向上自底向上 首先定义各局部应用的概念结构,然后首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构将它们集成起来,得到

35、全局概念结构概念结构设计的方法与步骤(续)概念结构设计的方法与步骤(续)自底向上策略自底向上策略 概念结构设计的方法与步骤(续)概念结构设计的方法与步骤(续)逐步扩张逐步扩张 首先定义最重要的核心概念结构,然后首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构概念结构,直至总体概念结构混合策略混合策略 将自顶向下和自底向上相结合,用自顶将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的以它为骨架集成由自底向上策略中设计的各

36、局部概念结构。各局部概念结构。概念结构设计的方法与步骤(续)概念结构设计的方法与步骤(续)逐步扩张逐步扩张概念结构设计的方法与步骤(续)概念结构设计的方法与步骤(续)l常用策略常用策略自顶向下地进行需求分析自顶向下地进行需求分析自底向上地设计概念结构自底向上地设计概念结构概念结构设计的方法与步骤(续)概念结构设计的方法与步骤(续)l自底向上设计概念结构的步骤自底向上设计概念结构的步骤第第1步:抽象数据并设计局部视图步:抽象数据并设计局部视图第第2步:集成局部视图,得到全局概念结构步:集成局部视图,得到全局概念结构6.3 概念结构设计概念结构设计6.3.1 概念结构设计的方法与步骤概念结构设计的

37、方法与步骤6.3.2 数据抽象与局部视图设计数据抽象与局部视图设计6.3.3 视图的集成视图的集成6.3.2 数据抽象与局部视图设计数据抽象与局部视图设计l数据抽象数据抽象l局部视图设计局部视图设计一、数据抽象一、数据抽象l概念结构是对现实世界的一种抽象概念结构是对现实世界的一种抽象从实际的人、物、事和概念中抽取所关心的从实际的人、物、事和概念中抽取所关心的共同特性,忽略非本质的细节共同特性,忽略非本质的细节把这些特性用各种概念精确地加以描述把这些特性用各种概念精确地加以描述这些概念组成了某种模型这些概念组成了某种模型数据抽象(续)数据抽象(续)l三种常用抽象三种常用抽象1.分类(分类(Cla

38、ssification)定义某一类概念作为现实世界中一组对象的定义某一类概念作为现实世界中一组对象的类型类型这些对象具有某些共同的特性和行为这些对象具有某些共同的特性和行为它抽象了对象它抽象了对象值和型值和型之间的之间的“is member of”的语义的语义在在E-R模型中,实体型就是这种抽象模型中,实体型就是这种抽象例:例:数据抽象(续)数据抽象(续)2.聚集(聚集(Aggregation)定义某一类型的组成成分定义某一类型的组成成分它抽象了对象内部类型和成分之间它抽象了对象内部类型和成分之间“is part of”的语义的语义在在E-R模型中若干属性的聚集组成了实体型,模型中若干属性的聚

39、集组成了实体型,就是这种抽象就是这种抽象例:例:数据抽象(续)数据抽象(续)3.概括(概括(Generalization)定义类型之间的一种子集联系定义类型之间的一种子集联系它抽象了类型之间的它抽象了类型之间的“is subset of”的语义的语义概括有一个很重要的性质:继承性。子类继概括有一个很重要的性质:继承性。子类继承超类上定义的所有抽象。承超类上定义的所有抽象。例:例:数据抽象(续)数据抽象(续)注:原注:原E-R模型不具有概括,本书对模型不具有概括,本书对E-R模型作模型作了扩充,允许定义超类实体型和子类实体型。了扩充,允许定义超类实体型和子类实体型。用双竖边的矩形框表示子类,用双

40、竖边的矩形框表示子类,用直线加小圆圈表示超类用直线加小圆圈表示超类-子类的联系子类的联系数据抽象(续)数据抽象(续)l数据抽象的用途数据抽象的用途对需求分析阶段收集到的数据进行分类、组对需求分析阶段收集到的数据进行分类、组织(聚集),形成织(聚集),形成实体实体实体的属性,标识实体的码实体的属性,标识实体的码确定实体之间的联系类型确定实体之间的联系类型(1:1,1:n,m:n)二、局部视图设计二、局部视图设计设计分设计分E-R图的步骤图的步骤:选择局部应用选择局部应用逐一设计分逐一设计分E-R图图 选择局部应用选择局部应用l需求分析阶段,已用多层数据流图和数据字典需求分析阶段,已用多层数据流图

41、和数据字典描述了整个系统。描述了整个系统。l设计分设计分E-R图首先需要根据系统的具体情况,图首先需要根据系统的具体情况,在多层的数据流图中在多层的数据流图中选择选择一个一个适当层次的数据适当层次的数据流图流图,让这组图中每一部分对应一个局部应用,让这组图中每一部分对应一个局部应用,然后以这一层次的数据流图为出发点,设计分然后以这一层次的数据流图为出发点,设计分E-R图。图。选择局部应用(续)选择局部应用(续)l通常以中层数据流图作为设计分通常以中层数据流图作为设计分E-R图的依据。原因:图的依据。原因:高层数据流图只能反映系统的概貌高层数据流图只能反映系统的概貌中层数据流图能较好地反映系统中

42、各局部应中层数据流图能较好地反映系统中各局部应用的子系统组成用的子系统组成低层数据流图过细低层数据流图过细选择局部应用(续)选择局部应用(续)例:由于学籍管理、课程管理等都不太复例:由于学籍管理、课程管理等都不太复杂,因此可以它们入手设计学生管理子杂,因此可以它们入手设计学生管理子系统的分系统的分E-R图。如果局部应用比较复杂,图。如果局部应用比较复杂,则可以从更下层的数据流图入手。则可以从更下层的数据流图入手。逐一设计分逐一设计分E-R图图l任务任务标定局部应用中的实体、属性、码,实体间标定局部应用中的实体、属性、码,实体间的联系的联系将各局部应用涉及的数据分别从数据字典将各局部应用涉及的数

43、据分别从数据字典中抽取出来,参照数据流图,标定各局部中抽取出来,参照数据流图,标定各局部应用中的实体、实体的属性、标识实体的应用中的实体、实体的属性、标识实体的码,确定实体之间的联系及其类型(码,确定实体之间的联系及其类型(1:1,1:n,m:n)逐一设计分逐一设计分E-R图(续)图(续)l如何抽象实体和属性如何抽象实体和属性实体实体:现实世界中一组具有某些共同特性和:现实世界中一组具有某些共同特性和行为的对象就可以抽象为一个实体。对象和行为的对象就可以抽象为一个实体。对象和实体之间是实体之间是“is member of的关系。的关系。例:在学校环境中,可把张三、李四等对象抽例:在学校环境中,

44、可把张三、李四等对象抽象为学生实体。象为学生实体。逐一设计分逐一设计分E-R图(续)图(续)属性属性:对象类型的组成成分可以抽象为实体:对象类型的组成成分可以抽象为实体的属性。组成成分与对象类型之间是的属性。组成成分与对象类型之间是“is part of的关系。的关系。例:学号、姓名、专业、年级等可以抽象为学例:学号、姓名、专业、年级等可以抽象为学生实体的属性。其中学号为标识学生实体的码。生实体的属性。其中学号为标识学生实体的码。逐一设计分逐一设计分E-R图(续)图(续)l如何区分实体和属性如何区分实体和属性实体与属性是相对而言的实体与属性是相对而言的。同一事物,在一。同一事物,在一种应用环境

45、中作为种应用环境中作为“属性属性”,在另一种应用,在另一种应用环境中就必须作为环境中就必须作为“实体实体”。例:学校中的系,在某种应用环境中,它只例:学校中的系,在某种应用环境中,它只是作为是作为“学生学生”实体的一个属性,表明一个实体的一个属性,表明一个学生属于哪个系;而在另一种环境中,由于学生属于哪个系;而在另一种环境中,由于需要考虑一个系的系主任、教师人数、学生需要考虑一个系的系主任、教师人数、学生人数、办公地点等,这时它就需要作为实体人数、办公地点等,这时它就需要作为实体了。了。逐一设计分逐一设计分E-R图(续)图(续)一般原则一般原则属性不能再具有需要描述的性质。即属性属性不能再具有

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

47、学生”只能作为实体,只能作为实体,不能作为属性。不能作为属性。例例2:职称通常作为教师实体的属性,但在涉:职称通常作为教师实体的属性,但在涉及住房分配时,由于分房与职称有关,也就及住房分配时,由于分房与职称有关,也就是说职称与住房实体之间有联系,根据准则是说职称与住房实体之间有联系,根据准则,这时把职称作为实体来处理会更合适些。,这时把职称作为实体来处理会更合适些。逐一设计分逐一设计分E-R图(续)图(续)l设计分设计分E-R图的步骤图的步骤(1)以数据字典为出发点定义)以数据字典为出发点定义E-R图。图。数据字典中的数据字典中的“数据结构数据结构”、“数据流数据流”和和“数据存储数据存储”等

48、已是若干属性的有意等已是若干属性的有意义的聚合义的聚合(2)按上面给出的准则进行必要的调整。)按上面给出的准则进行必要的调整。逐一设计分逐一设计分E-R图(续)图(续)例:学籍管理局部应用中主要涉及的实体包括学例:学籍管理局部应用中主要涉及的实体包括学生、宿舍、档案材料、班级、班主任。生、宿舍、档案材料、班级、班主任。实体之间的联系:实体之间的联系:由于一个宿舍可以住多个学生,而一个学生由于一个宿舍可以住多个学生,而一个学生只能住在某一个宿舍中,因此宿舍与学生之只能住在某一个宿舍中,因此宿舍与学生之间是间是1:n的联系。的联系。由于一个班级往往有若干名学生,而一个学由于一个班级往往有若干名学生

49、,而一个学生只能属于一个班级,因此班级与学生之间生只能属于一个班级,因此班级与学生之间也是也是1:n的联系的联系。逐一设计分逐一设计分E-R图(续)图(续)由于班主任同时还要教课,因此班主任与学由于班主任同时还要教课,因此班主任与学生之间存在指导联系,一个班主任要教多名生之间存在指导联系,一个班主任要教多名学生,而一个学生只对应一个班主任,因此学生,而一个学生只对应一个班主任,因此班主任与学生之间也是班主任与学生之间也是1:n的联系。的联系。而学生和他自己的档案材料之间,班级与班而学生和他自己的档案材料之间,班级与班主任之间都是主任之间都是1:1的联系。的联系。学籍管理局部应用的分学籍管理局部

50、应用的分E-R图草图:图草图:逐一设计分逐一设计分E-R图(续)图(续)接下来需要进一步斟酌该接下来需要进一步斟酌该E-R图,做适当调整。图,做适当调整。(1)在一般情况下,性别通常作为学生实体在一般情况下,性别通常作为学生实体的属性,但在本局部应用中,由于宿舍分配的属性,但在本局部应用中,由于宿舍分配与学生性别有关,根据准则,应该把性别与学生性别有关,根据准则,应该把性别作为实体对待。作为实体对待。(2)数据存储数据存储“学生登记表学生登记表”,由于是手工,由于是手工填写,供存档使用,其中有用的部分已转入填写,供存档使用,其中有用的部分已转入学生档案材料中,因此这里就不必作为实体学生档案材料

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com