学习重点难点.PPT
《学习重点难点.PPT》由会员分享,可在线阅读,更多相关《学习重点难点.PPT(134页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、学习重点难点 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望第第6章章 数据库设计数据库设计v数据库设计的步骤v需求分析v概念结构设计v逻辑结构设计v数据库物理设计v数据库实施v数据库运行和维护v什么是数据库设计什么是数据库设计数据库设计是指对于一个给定的应用环境,构造最优的数据库模式最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。数据库设
2、计的步骤数据库设计的步骤 需求分析阶段需求分析阶段准确了解与分析用户需求(包括数据与处理)是整个设计过程的基础,是最困难、最耗费时间的一步。概念结构设计阶段概念结构设计阶段是整个数据库设计的关键通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型 逻辑结构设计阶段逻辑结构设计阶段将概念结构转换为某个DBMS所支持的数据模型对其进行优化 数据库物理设计阶段数据库物理设计阶段为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)数据库实施阶段数据库实施阶段运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果v建立数据库v编制与调试应用程序v
3、组织数据入库v并进行试运行 数据库运行和维护阶段数据库运行和维护阶段数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。设计一个完善的数据库应用系统往往是上设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。述六个阶段的不断反复。需求分析需求分析v需求分析的任务v需求分析的方法v数据字典v需求分析就是分析用户的需要与要求需求分析就是分析用户的需要与要求需求分析是设计数据库的起点需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用需求分析的任务需求分析的任务v 通过详细调查现实世界要处
4、理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求。v 在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。需求分析的重点需求分析的重点v需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。v 信息要求信息要求用户需要从数据库中获得信息的内容与性质由用户的信息要求可以导出数据要求,即在数据库中需要存储哪些数据。v处理要求处理要求对处理功能的要求对处理的响应时间的要求对处理方式的要求(批处理/联机处理)v新系统的功能必须能够满足用户的信息要求、处理要求、安全性
5、与完整性要求。需求分析的难点需求分析的难点v确定用户最终需求的难点用户缺少计算机知识,开始时无法确定计算机究竟能为自己做什么,不能做什么,因此无法一下子准确地表达自己的需求,他们所提出的需求往往不断地变化。设计人员缺少用户的专业知识,不易理解用户的真正需求,甚至误解用户的需求。新的硬件、软件技术的出现也会使用户需求发生变化。需求分析的方法需求分析的方法v调查清楚用户的实际需求并进行初步分析v 与用户达成共识v 进一步分析与表达这些需求数据字典数据字典一、数据字典的用途一、数据字典的用途v数据字典是各类数据描述的集合v数据字典是进行详细的数据收集和数据分析所获得的主要结果v数据字典在数据库设计中
6、占有很重要的地位v数据字典的内容数据字典的内容数据项数据结构数据流数据存储处理过程v 数据项数据项是数据的最小组成单位v 若干个数据项可以组成一个数据结构v 数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。数据项数据项v数据项是不可再分的数据单位v 对数据项的描述数据项描述数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系取值范围、与其他数据项的逻辑关系定义了数据的完整性约束条件 数据结构数据结构v数据结构反映了数据之间的组合关系。v 一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成
7、。v 对数据结构的描述数据结构描述数据结构名,含义说明,组成:数据项或数据结构 数据流数据流v 数据流是数据结构在系统内传输的路径。v 对数据流的描述数据流描述数据流名,说明,数据流来源,数据流去向,组成:数据结构,平均流量,高峰期流量数据流来源是说明该数据流来自哪个过程数据流去向是说明该数据流将到哪个过程去平均流量是指在单位时间(每天、每周、每月等)里的传输次数高峰期流量则是指在高峰时期的数据流量 数据存储数据存储v数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。v对数据存储的描述数据存储描述数据存储名,说明,编号,流入的数据流,流出的数据流,组成:数据结构,数据量,存取方式
8、流入的数据流:指出数据来源流出的数据流:指出数据去向数据量:每次存取多少数据,每天(或每小时、每周等)存取几次等信息存取方法:批处理/联机处理;检索/更新;顺序检索/随机检索 处理过程处理过程v处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字典中只需要描述处理过程的说明性信息v处理过程说明性信息的描述处理过程描述处理过程名,说明,输入:数据流,输出:数据流,处理:简要说明简要说明简要说明:主要说明该处理过程的功能及处理要求v功能功能:该处理过程用来做什么v处理要求处理要求:处理频度要求(如单位时间里处理多少事务,多少数据量);响应时间要求等v处理要求是后面物理设计的输入及性能评价的标准
9、概念结构设计概念结构设计v什么是概念结构设计什么是概念结构设计需求分析阶段描述的用户应用需求是现实世界的具体需求将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。概念结构设计是整个数据库设计的关键现实世界现实世界机器世界机器世界信息世界信息世界需求分析需求分析概念结构设计概念结构设计v设计概念结构的四类方法设计概念结构的四类方法自顶向下自顶向下v 首先定义全局概念结构的框架,然后逐步细化自底向上自底向上v 首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构 自顶向下策略自顶向下
10、策略 自底向上策略自底向上策略 逐步扩张逐步扩张v 首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构混合策略混合策略v 将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。逐步扩张逐步扩张v常用策略常用策略自顶向下地进行需求分析自底向上地设计概念结构v自底向上设计概念结构的步骤自底向上设计概念结构的步骤第1步:抽象数据并设计局部视图第2步:集成局部视图,得到全局概念结构局部视图设计局部视图设计设计分E-R图的步骤:选择局部应用逐一设计分E-R图 选择局部应用选择局部应用v需求分
11、析阶段,已用多层数据流图和数据字典描述了整个系统。v设计分E-R图首先需要根据系统的具体情况,在多层的数据流图中选择选择一个适当层次的数据适当层次的数据流图流图,让这组图中每一部分对应一个局部应用,然后以这一层次的数据流图为出发点,设计分E-R图。v通常以中层数据流图作为设计分通常以中层数据流图作为设计分E-R图的图的依据。依据。原因:高层数据流图只能反映系统的概貌中层数据流图能较好地反映系统中各局部应用的子系统组成低层数据流图过细例:例:由于学籍管理、课程管理等都不太复杂,因此可以它们入手设计学生管理子系统的分E-R图。如果局部应用比较复杂,则可以从更下层的数据流图入手。逐一设计分逐一设计分
12、E-R图图v任务任务标定局部应用中的实体、属性、码,实体间的联系v将各局部应用涉及的数据分别从数据字典中抽取出来,参照数据流图,标定各局部应用中的实体、实体的属性、标识实体的码,确定实体之间的联系及其类型(1:1,1:n,m:n)v如何抽象实体和属性如何抽象实体和属性实体实体:现实世界中一组具有某些共同特性和行为的对象就可以抽象为一个实体。对象和实体之间是“is member of的关系。例:在学校环境中,可把张三、李四等对象抽象为学生实体。属性属性:对象类型的组成成分可以抽象为实体的属性。组成成分与对象类型之间是“is part of的关系。例:学号、姓名、专业、年级等可以抽象为学生实体的属
13、性。其中学号为标识学生实体的码。v如何区分实体和属性如何区分实体和属性实体与属性是相对而言的。实体与属性是相对而言的。同一事物,在一种应用环境中作为“属性”,在另一种应用环境中就必须作为“实体”。例例:学校中的系,在某种应用环境中,它只是作为“学生”实体的一个属性,表明一个学生属于哪个系;而在另一种环境中,由于需要考虑一个系的系主任、教师人数、学生人数、办公地点等,这时它就需要作为实体了。一般原则一般原则v属性不能再具有需要描述的性质。即属性必须是不可分的数据项,不能再由另一些属性组成。v属性不能与其他实体具有联系。联系只发生在实体之间。符合上述两条特性的事物一般作为属性对待。为了简化E-R图
14、的处置,现实世界中的事物凡能够作为属性对待的,应尽量作为属性凡能够作为属性对待的,应尽量作为属性。v设计分设计分E-R图的步骤图的步骤(1)以数据字典为出发点定义)以数据字典为出发点定义E-R图图。v 数据字典中的“数据结构”、“数据流”和“数据存储”等已是若干属性的有意义的聚合(2)按上面给出的准则进行必要的调整)按上面给出的准则进行必要的调整。视图的集成视图的集成 各个局部视图即分E-R图建立好后,还需要对它们进行合并,集成为一个整体的数据概念结构即总E-R图。v视图集成的两种方式视图集成的两种方式一次集成一次集成v一次集成多个分E-R图v通常用于局部视图比较简单时逐步累积式逐步累积式v首
15、先集成两个局部视图(通常是比较关键的两个局部视图)v以后每次将一个新的局部视图集成进来v集成局部集成局部E-R图的步骤图的步骤1.合并2.修改与重构一、合并分一、合并分E-R图,生成初步图,生成初步E-R图图v各分图存在冲突各分图存在冲突各个局部应用所面向的问题不同由不同的设计人员进行设计各个分E-R图之间必定会存在许多不一致的地方合并分E-R图的主要工作与关键所在:合理消除各分E-R图的冲突v冲突的种类冲突的种类属性冲突命名冲突结构冲突 属性冲突属性冲突v两类属性冲突两类属性冲突属性域冲突:属性值的类型、取值范围或取值集合不同。属性取值单位冲突。v属性冲突的解决方法属性冲突的解决方法通常用讨
16、论、协商等行政手段加以解决 命名冲突命名冲突v两类命名冲突同名异义同名异义:不同意义的对象在不同的局部应用中具有相同的名字 例,局部应用A中将教室称为房间 局部应用B中将学生宿舍称为房间异名同义(一义多名)异名同义(一义多名):同一意义的对象在不同的局部应用中具有不同的名字 例,有的部门把教科书称为课本 有的部门则把教科书称为教材v命名冲突可能发生在属性级、实体级、联系级上。其中属性的命名冲突属性的命名冲突更为常见。v命名冲突的解决方法命名冲突的解决方法通过讨论、协商等行政手段加以解决 结构冲突结构冲突v三类结构冲突三类结构冲突同一对象在不同应用中具有不同的抽象同一对象在不同应用中具有不同的抽
17、象 例,“课程”在某一局部应用中被当作实体 在另一局部应用中则被当作属性v解决方法解决方法:通常是把属性变换为实体或把实体变换为属性,使同一对象具有相同的抽象。变换时要遵循两个准则。同一实体在不同局部视图中所包含的属性不完全相同,或者属性的排列次序不完全相同。v产生原因产生原因:不同的局部应用关心的是该实体的不同侧面。v解决方法解决方法:使该实体的属性取各分E-R图中属性的并集,再适当设计属性的次序。学生学生学号学号 姓名姓名性别性别平均成绩平均成绩(a)在局部应用在局部应用A中中学生学生学号学号 姓名姓名出生日期出生日期年级年级(b)在局部应用在局部应用B中中所在系所在系 学生学生学号学号
18、姓名姓名 政治面貌政治面貌(c)在局部应用在局部应用C中中学生学生 政治政治面貌面貌 学号学号出生出生日期日期年级年级(d)合并后合并后所在系所在系 平均平均成绩成绩姓名姓名性别性别实体之间的联系在不同局部视图中呈现不同的类型例1,实体E1与E2在局部应用A中是多对多联系,而在局部应用B中是一对多联系例2,在局部应用X中E1与E2发生联系,而在局部应用Y中E1、E2、E3三者之间有联系。v解决方法:根据应用语义对实体联系的类型进行综合或调整。二、修改与重构二、修改与重构v基本任务基本任务消除不必要的冗余,设计生成基本E-R图合并合并初步初步E-R图图分分E-R图图可能存在冗余的数据可能存在冗余
19、的数据和冗余的实体间联系和冗余的实体间联系基本基本E-R图图消除不必要的冗余消除不必要的冗余1冗余2消除冗余的方法1冗余冗余v冗余的数据冗余的数据是指可由基本数据导出的数据,冗余的联系冗余的联系是指可由其他联系导出的联系。v冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难v并不是所有的冗余数据与冗余联系都必须加以消除,有时为了提高某些应用的效率,不得不以冗余信息作为代价。v设计数据库概念结构时,哪些冗余信息必须消除,哪些冗余信息允许存在,需要根据用户的整体需求来确定。v消除不必要的冗余后的初步E-R图称为基本基本E-R图。图。2消除冗余的方法消除冗余的方法v分析方法分析方法以数据
20、字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系的说明来消除冗余。如果是为了提高效率,人为地保留了一些冗余数据,则应把数据字典数据字典中数据关联的说明作为完整性约束条件完整性约束条件。一种更好的方法是把冗余数据冗余数据定义在视图视图中v规范化理论规范化理论函数依赖的概念提供了消除冗余联系的形式化工具。三、验证整体概念结构三、验证整体概念结构v视图集成后形成一个整体的数据库概念结构,对该整对该整体概念结构还必须进行进一步验证体概念结构还必须进行进一步验证,确保它能够满足下列条件:整体概念结构内部必须具有一致性具有一致性,不存在互相矛盾的表达。整体概念结构能准确地反映原来的每个视图结构准
21、确地反映原来的每个视图结构,包括属性、实体及实体间的联系。整体概念结构能满足需要分析满足需要分析阶段所确定的所有要求。v整体概念结构最终还应该提交给用户提交给用户,征求用户和有关人员的意见,进行评审、修改和优化,然后把它确定下来,作为数据库的概念结构,作为进一步设计数据库的依据。概念结构设计小结概念结构设计小结v什么是概念结构设计什么是概念结构设计现实世界现实世界机器世界机器世界信息世界信息世界需求分析需求分析概念结构设计概念结构设计v概念结构设计的步骤概念结构设计的步骤抽象数据并设计局部视图集成局部视图,得到全局概念结构验证整体概念结构v数据抽象数据抽象分类聚集概括v设计局部视图设计局部视图
22、 选择局部应用选择局部应用 逐一设计分逐一设计分E-R图图v标定局部应用中的实体、属性、码,实体间的联系v用E-R图描述出来v集成局部视图集成局部视图1.合并分E-R图,生成初步E-R图v消除冲突属性冲突命名冲突结构冲突2.修改与重构v消除不必要的冗余,设计生成基本E-R图分析方法规范化理论逻辑结构设计逻辑结构设计v逻辑结构设计的任务逻辑结构设计的任务概念结构是各种数据模型的共同基础为了能够用某一DBMS实现用户需求,还必须将概念结构进一步转化为相应的数据模型,这正是数据库逻辑结构设计所要完成的任务。v逻辑结构设计的步骤逻辑结构设计的步骤将概念结构转化为一般的关系、网状、层次模型将转化来的关系
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学习 重点难点
限制150内