需求分析与概念结构设计课件_第1页
需求分析与概念结构设计课件_第2页
需求分析与概念结构设计课件_第3页
需求分析与概念结构设计课件_第4页
需求分析与概念结构设计课件_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

1、DataBaseDataBase 概念结构设计概念结构设计数据库设计综合案例数据库设计综合案例以一个学校管理系统的开发过程,说明数据库设以一个学校管理系统的开发过程,说明数据库设计的基本方法和步骤计的基本方法和步骤需求分析需求分析设计局部视图设计局部视图集成视图集成视图逻辑结构设计逻辑结构设计设计逻辑结构设计逻辑结构优化逻辑模型优化逻辑模型物理设计物理设计实施实施运行和维护运行和维护DataBaseDataBase 需求分析需求分析任务任务通过详细调查现实世界要处理的对象(组织、部门、通过详细调查现实世界要处理的对象(组织、部门、企业等),充分企业等),充分了解原系统了解原系统(手工系统或计算

2、机系统)(手工系统或计算机系统)工作概况,明确用户的各种需求工作概况,明确用户的各种需求在此基础上在此基础上确定新系统的功能确定新系统的功能。新系统必须充分考虑。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库设计数据库DataBaseDataBase 需求分析需求分析重点重点调查、收集与分析用户在数据管理中的调查、收集与分析用户在数据管理中的信息要求、处理要求、信息要求、处理要求、安全性与完整性要求安全性与完整性要求信息要求信息要求用户需要从数据库中获得信息的内容与性质用户需要从数据库中获得信息的内容与性质由用户的信息要

3、求可以导出数据要求,即在数据库中需要存储哪些数由用户的信息要求可以导出数据要求,即在数据库中需要存储哪些数据据处理要求处理要求对处理对处理功能功能的要求的要求对处理的对处理的响应时间响应时间的要求的要求对处理对处理方式方式的要求的要求(批处理批处理 / 联机处理联机处理)DataBaseDataBase 需求分析需求分析难点难点用户用户缺少计算机知识,开始时无法确定计算机究竟能缺少计算机知识,开始时无法确定计算机究竟能为自己做什么,不能做什么,因此无法一下子准确地为自己做什么,不能做什么,因此无法一下子准确地表达自己的需求,他们所提出的需求往往不断地变化。表达自己的需求,他们所提出的需求往往不

4、断地变化。设计人员设计人员缺少用户的专业知识,不易理解用户的真正缺少用户的专业知识,不易理解用户的真正需求,甚至误解用户的需求需求,甚至误解用户的需求新新的硬件、软件的硬件、软件技术的出现技术的出现也会使用户需求发生变化也会使用户需求发生变化DataBaseDataBase 需求分析需求分析方法方法调查清楚用户的实际需求并进行初步分析调查清楚用户的实际需求并进行初步分析调查组织机构情况(部门的组成情况,各部门的职责等)调查组织机构情况(部门的组成情况,各部门的职责等)调查各部门的业务活动情况调查各部门的业务活动情况各个部门各个部门输入输入和使用什么数据和使用什么数据如何加工如何加工处理处理这些

5、数据这些数据输出输出什么信息什么信息输出到什么部门输出到什么部门输出结果的格式是什么输出结果的格式是什么在熟悉业务活动的基础上,协助用户明确对新系统的各种要求在熟悉业务活动的基础上,协助用户明确对新系统的各种要求对前面调查的结果进行初步分析,确定新系统的边界对前面调查的结果进行初步分析,确定新系统的边界与用户达成共识与用户达成共识进一步分析与表达这些需求进一步分析与表达这些需求DataBaseDataBase 进一步分析和表达用户需求进一步分析和表达用户需求常用方法常用方法自顶向下的结构化分析方法(自顶向下的结构化分析方法(Structured Analysis,简称,简称SA方法)方法)SA

6、方法从最上层的系统组织机构入手,采用逐层分方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并用数据流图和数据字典描述系解的方式分析系统,并用数据流图和数据字典描述系统统数据流数据流数据流数据流处理处理数据存储数据存储信息要求信息要求数据来源数据来源数据输出数据输出处理要求处理要求DataBaseDataBase 进一步分析和表达用户需求进一步分析和表达用户需求分解处理功能和数据分解处理功能和数据分解处理功能分解处理功能将处理功能的具体内容分解为若干子功能,再将每个子功将处理功能的具体内容分解为若干子功能,再将每个子功能继续分解,直到把系统的工作过程表达清楚为止能继续分解,直到把系统

7、的工作过程表达清楚为止分解数据分解数据在处理功能逐步分解的同时,其所用的数据也逐级分解,在处理功能逐步分解的同时,其所用的数据也逐级分解,形成若干层次的数据流图形成若干层次的数据流图数据流图表达了数据和处理过程的关系数据流图表达了数据和处理过程的关系表达方法表达方法处理过程:用判定表或判定树来描述处理过程:用判定表或判定树来描述数据:用数据字典来描述数据:用数据字典来描述DataBaseDataBase 一个学校管理系统的需求分析一个学校管理系统的需求分析经过可行性分析和初步需求调查,抽象出该系统经过可行性分析和初步需求调查,抽象出该系统最高层数据流图,该系统由最高层数据流图,该系统由教师管理

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

9、数据生上课情况的管理。通过详细的信息流程分析和数据收集后,他们生成了该子系统的数据流图收集后,他们生成了该子系统的数据流图DataBaseDataBase DataBaseDataBase DataBaseDataBase DataBaseDataBase DataBaseDataBase DataBaseDataBase DataBaseDataBase 需求分析需求分析数据字典数据字典用途:数据字典是各类数据描述的集合,是进行详细用途:数据字典是各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要结果的数据收集和数据分析所获得的主要结果内容内容数据项数据项:不可再分的数据单位:不

10、可再分的数据单位数据结构数据结构:可以由若干个数据项组成,也可以由若干个数:可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成,反据结构组成,或由若干个数据项和数据结构混合组成,反映了数据之间的组合关系映了数据之间的组合关系数据流数据流:数据结构在系统内传输的路径:数据结构在系统内传输的路径数据存储数据存储:数据结构停留或保存的地方,也是数据流的来:数据结构停留或保存的地方,也是数据流的来源和去向之一源和去向之一处理过程处理过程:具体处理逻辑一般用判定表或判定树来描述。数据字典具体处理逻辑一般用判定表或判定树来描述。数据字典中只需要描述处理过程的说明性信息中

11、只需要描述处理过程的说明性信息DataBaseDataBase 学生学籍管理子系统的数据字典学生学籍管理子系统的数据字典数据项(以数据项(以“学号学号”为例)为例)数据项:学号数据项:学号含义说明:唯一标识每个学生含义说明:唯一标识每个学生别名:学生编号别名:学生编号类型:字符型类型:字符型长度:长度: 8取值范围:取值范围:00000000至至99999999取值含义:前两位标别该学生所在年级,后六位按顺取值含义:前两位标别该学生所在年级,后六位按顺序编号序编号与其他数据项的逻辑关系:与其他数据项的逻辑关系:取值范围、与其他数取值范围、与其他数据项的逻辑关系定义据项的逻辑关系定义了数据的完整

12、性约束了数据的完整性约束条件条件DataBaseDataBase 学生学籍管理子系统的数据字典学生学籍管理子系统的数据字典数据结构(以数据结构(以“学生学生”为例)为例)数据结构:学生数据结构:学生含义说明:是学籍管理子系统的主体数据结构,定义含义说明:是学籍管理子系统的主体数据结构,定义了一个学生的有关信息了一个学生的有关信息组成:学号,姓名,性别,年龄,所在系,年级组成:学号,姓名,性别,年龄,所在系,年级DataBaseDataBase 学生学籍管理子系统的数据字典学生学籍管理子系统的数据字典数据流数据流“体检结果体检结果”可描述如下:可描述如下:数据流:体检结果数据流:体检结果说明:学

13、生参加体格检查的最终结果说明:学生参加体格检查的最终结果数据流来源:体检数据流来源:体检数据流去向:批准数据流去向:批准组成:组成:平均流量:平均流量:高峰期流量:高峰期流量:DataBaseDataBase 学生学籍管理子系统的数据字典学生学籍管理子系统的数据字典数据存储数据存储“学生登记表学生登记表”可描述如下:可描述如下:数据存储:学生登记表数据存储:学生登记表说明:记录学生的基本情况说明:记录学生的基本情况流入数据流:流入数据流:流出数据流:流出数据流:组成:组成:数据量:每年数据量:每年3000张张存取方式:随机存取存取方式:随机存取DataBaseDataBase 学生学籍管理子系

14、统的数据字典学生学籍管理子系统的数据字典处理过程处理过程“分配宿舍分配宿舍”可描述如下:可描述如下:处理过程:分配宿舍处理过程:分配宿舍说明:为所有新生分配学生宿舍说明:为所有新生分配学生宿舍输入:学生,宿舍,输入:学生,宿舍,输出:宿舍安排输出:宿舍安排处理:在新生报到后,为所有新生分配学生宿舍。处理:在新生报到后,为所有新生分配学生宿舍。要求同一间宿舍只能安排同一性别的学生,同一个学要求同一间宿舍只能安排同一性别的学生,同一个学生只能安排在一个宿舍中。每个学生的居住面积不小生只能安排在一个宿舍中。每个学生的居住面积不小于于3平方米。安排新生宿舍其处理时间应不超过平方米。安排新生宿舍其处理时

15、间应不超过15分分钟钟DataBaseDataBase 概念结构设计概念结构设计将需求分析得到的用户需求抽象为信息结构即概将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计念模型的过程就是概念结构设计常用策略常用策略自顶向下地进行需求分析自顶向下地进行需求分析自底向上地设计概念结构自底向上地设计概念结构DataBaseDataBase 概念结构设计概念结构设计步骤步骤第第1步:抽象数据并设计局部视图步:抽象数据并设计局部视图第第2步:集成局部视图,得到全局概念结构步:集成局部视图,得到全局概念结构DataBaseDataBase 数据抽象数据抽象用途:用途:对需求分析阶段收

16、集到的数据进行分类、对需求分析阶段收集到的数据进行分类、组织(聚集),形成:组织(聚集),形成:实体实体实体的属性,标识实体的码实体的属性,标识实体的码确定实体之间的联系类型确定实体之间的联系类型(1:1,1:n,m:n)DataBaseDataBase 三种常用抽象三种常用抽象分类(分类(Classification)定义某一类概念作为现实世界中一组对象的类型定义某一类概念作为现实世界中一组对象的类型这些对象具有某些共同的特性和行为这些对象具有某些共同的特性和行为它抽象了对象它抽象了对象值和型值和型之间的之间的“is member of”的语的语义义在在E-R模型中,实体型就是这种抽象模型中

17、,实体型就是这种抽象DataBaseDataBase 三种常用抽象三种常用抽象聚集(聚集(Aggregation)定义某一类型的组成成分定义某一类型的组成成分它抽象了对象内部类型和成分之间它抽象了对象内部类型和成分之间“is part of”的语义的语义在在E-R模型中若干属性的聚集组成了实体型,就是这模型中若干属性的聚集组成了实体型,就是这种抽象种抽象DataBaseDataBase 三种常用抽象三种常用抽象概括(概括(Generalization)定义类型之间的一种子集联系定义类型之间的一种子集联系它抽象了类型之间的它抽象了类型之间的“is subset of”的语义的语义概括有一个很重要

18、的性质:继承性。子类继承超类上概括有一个很重要的性质:继承性。子类继承超类上定义的所有抽象定义的所有抽象DataBaseDataBase 局部视图设计局部视图设计选择局部应用选择局部应用在多层的数据流图中在多层的数据流图中选择选择一个一个适当层次的数据流图适当层次的数据流图,让这组图中每一部分对应一个局部应用,然后以这一让这组图中每一部分对应一个局部应用,然后以这一层次的数据流图为出发点,设计分层次的数据流图为出发点,设计分E-R图图将各局部应用涉及的数据分别从数据字典中抽取出来,将各局部应用涉及的数据分别从数据字典中抽取出来,参照数据流图,标定各局部应用中的实体、实体的属参照数据流图,标定各

19、局部应用中的实体、实体的属性、标识实体的码,确定实体之间的联系及其类型性、标识实体的码,确定实体之间的联系及其类型(1:1,1:n,m:n)DataBaseDataBase DataBaseDataBase DataBaseDataBase DataBaseDataBase DataBaseDataBase DataBaseDataBase 学籍管理局部应用的分学籍管理局部应用的分ER图图主要涉及的实体包括学生、宿舍、档案材料、班级、班主要涉及的实体包括学生、宿舍、档案材料、班级、班主任、教室主任、教室实体之间的联系:实体之间的联系:由于一个宿舍可以住多个学生,而一个学生只能住在某一个由于一个

20、宿舍可以住多个学生,而一个学生只能住在某一个宿舍中,因此宿舍与学生之间是宿舍中,因此宿舍与学生之间是1:n的联系。的联系。由于一个班级往往有若干名学生,而一个学生只能属于一个由于一个班级往往有若干名学生,而一个学生只能属于一个班级,因此班级与学生之间也是班级,因此班级与学生之间也是1:n的联系的联系由于班主任同时还要教课,因此班主任与学生之间存在指导由于班主任同时还要教课,因此班主任与学生之间存在指导联系,一个班主任要教多名学生,而一个学生只对应一个班联系,一个班主任要教多名学生,而一个学生只对应一个班主任,因此班主任与学生之间也是主任,因此班主任与学生之间也是1:n的联系。的联系。而学生和他

21、自己的档案材料之间,班级与班主任之间都是而学生和他自己的档案材料之间,班级与班主任之间都是1:1的联系的联系DataBaseDataBase 学籍管理局部应用的分学籍管理局部应用的分ER图图DataBaseDataBase 学籍管理局部应用的分学籍管理局部应用的分ER图图调整调整ER图图在一般情况下,性别通常作为学生实体的属性,但在在一般情况下,性别通常作为学生实体的属性,但在学籍管理的局部应用中,由于宿舍分配与学生性别有学籍管理的局部应用中,由于宿舍分配与学生性别有关,应该把性别作为实体对待关,应该把性别作为实体对待数据存储数据存储“学生登记表学生登记表”,由于是手工填写,供存档,由于是手工

22、填写,供存档使用,其中有用的部分已转入学生档案材料中,因此使用,其中有用的部分已转入学生档案材料中,因此这里就不必作为实体了这里就不必作为实体了DataBaseDataBase 学籍管理局部应用的分学籍管理局部应用的分ER图图DataBaseDataBase 课程管理局部应用的分课程管理局部应用的分ER图图DataBaseDataBase 视图集成视图集成一般采用逐步积累的方式一般采用逐步积累的方式首先集成两个局部视图(通常是比较关键的两个局部首先集成两个局部视图(通常是比较关键的两个局部视图)视图)以后每次将一个新的局部视图集成进来以后每次将一个新的局部视图集成进来DataBaseDataB

23、ase 合并分合并分E-R图,生成初步图,生成初步E-R图图关键:合理消除各分关键:合理消除各分E-R图的冲突图的冲突冲突种类冲突种类属性冲突属性冲突:属性域冲突、属性取值单位冲突:属性域冲突、属性取值单位冲突命名冲突命名冲突:同名异义、异名同义:同名异义、异名同义结构冲突结构冲突同一对象在不同应用中具有不同的抽象同一对象在不同应用中具有不同的抽象同一实体在不同局部视图中所包含的属性不完全相同,或同一实体在不同局部视图中所包含的属性不完全相同,或者属性的排列次序不完全相同者属性的排列次序不完全相同实体之间的联系在不同局部视图中呈现不同的类型实体之间的联系在不同局部视图中呈现不同的类型DataB

24、aseDataBase 学生管理系统的初步学生管理系统的初步E-R图图班主任实际上也属于教师,也就是说学籍管理中班主任实际上也属于教师,也就是说学籍管理中的班主任实体与课程管理中的教师实体在一定程的班主任实体与课程管理中的教师实体在一定程度上属于异名同义度上属于异名同义可以将学籍管理中的班主任实体与课程管理中的教师可以将学籍管理中的班主任实体与课程管理中的教师实体统一称为教师实体统一称为教师教师:职工号,姓名,性别,职称,是否为优秀班教师:职工号,姓名,性别,职称,是否为优秀班主任主任DataBaseDataBase 学生管理系统的初步学生管理系统的初步E-R图图将班主任改为教师后,教师与学生

25、之间的联系在将班主任改为教师后,教师与学生之间的联系在两个局部视图中呈现两种不同的类型两个局部视图中呈现两种不同的类型学籍管理中教师与学生之间的指导联系学籍管理中教师与学生之间的指导联系课程管理中教师与学生之间的教学联系课程管理中教师与学生之间的教学联系由于指导联系实际上可以包含在教学联系之中,因此由于指导联系实际上可以包含在教学联系之中,因此可以将这两种联系综合为教学联系可以将这两种联系综合为教学联系DataBaseDataBase 学生管理系统的初步学生管理系统的初步E-R图图性别在两个局部应用中具有不同的抽象性别在两个局部应用中具有不同的抽象在学籍管理中为实体在学籍管理中为实体在课程管理

26、中为属性在课程管理中为属性在合并后的在合并后的E-R图中性别只能作为实体,否则它无法图中性别只能作为实体,否则它无法与宿舍实体发生联系与宿舍实体发生联系DataBaseDataBase 学生管理系统的初步学生管理系统的初步E-R图图在两个局部在两个局部E-R图中,学生实体属性组成及次序图中,学生实体属性组成及次序都存在差异,应将所有属性综合,并重新调整次都存在差异,应将所有属性综合,并重新调整次序序学生学生学号学号 姓名姓名性别性别平均成绩平均成绩学生学生学号学号 姓名姓名出生日期出生日期年级年级所在系所在系 学生学生学号学号 姓名姓名 政治面貌政治面貌 DataBaseDataBase 学生

27、管理系统的初步学生管理系统的初步E-R图图学生学生 政治政治面貌面貌 学号学号出生出生日期日期年级年级所在系所在系 平均平均成绩成绩姓名姓名性别性别DataBaseDataBase DataBaseDataBase 修改与重构,生成基本修改与重构,生成基本ER图图基本任务:消除不必要的冗余基本任务:消除不必要的冗余冗余的数据冗余的数据是指可由基本数据导出的数据是指可由基本数据导出的数据冗余的联系冗余的联系是指可由其他联系导出的联系是指可由其他联系导出的联系冗余数据和冗余联系容易破坏数据库的完整性,冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难给数据库维护增加困难并不是所有的冗余数据与冗余联系都必须加以消并不是所有的冗余数据与冗余联系都必须加以消除,有时为了提高某些应用的效率,不得不以冗除,有时为了提高某些应用的效率,不得不以冗余信息作为代价余信息作为代价DataBaseDataBase 消除冗余的方法消除冗余的方法以数据字典和数据流图为依据,根据数据字典中以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系的说明来消除冗余关于数

温馨提示

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

评论

0/150

提交评论