《关系数据库设计精.ppt》由会员分享,可在线阅读,更多相关《关系数据库设计精.ppt(66页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、关系数据库设计第1页,本讲稿共66页5.1数据库设计概述数据库设计是信息系统开发和建设的重要组成部分。数据库设计是指为一个给定的应用环境建立数据库的过程,其设计目标是要建立一个能正确反映给定的信息应用需求,能被某个现有的DBMS所接受并能使系统具有较好性能的关系数据模型。数据库设计方法数据库设计步骤第2页,本讲稿共66页5.1.1数据库设计方法1直观设计法直观设计法直观设计法也叫手工试凑法,早期用于设计一些小型系统的数据库设计。依赖于设计者的经验和技巧,缺乏科学理论和工程方法的支持,不适应信息管理发展的需要。2规范设计法规范设计法规范设计法是运用软件工程的思想和方法,以各种设计准则和规程,进行
2、数据库设计的方法。规范设计法从本质上来说仍然是手工设计方法,其基本思想是过程迭代和逐步求精。新奥尔良(New Orleans)方法是规范设计法中比较著名的一种方法。它将数据库设计分为四个阶段:需求分析、概念设计、逻辑设计和物理设计。后经改进,分为六个阶段:数据库需求分析、数据库概念设计、数据库逻辑设计、数据库物理设计、数据库实施和数据库运行与维护。第3页,本讲稿共66页常用规范方法:1)基于E-R模型的数据库概念设计。其基本思想是在需求分析的基础上,用E-R图来构造一个反映现实世界实体之间联系的信息模式,它是数据库概念设计阶段广泛采用的方法。2)基于3NF(第三范式)的数据库逻辑设计。该方法是
3、结构化设计方法,其基本思想是在需求分析的基础上,确定数据库模式中的全部属性和属性间的依赖关系,将它们组织在一个单一的关系模式中,然后再分析模式中不符合3NF的约束条件,将其进行投影分解,规范成若干个3NF关系模式的集合。它是关系数据库设计中逻辑阶段可以采用的一种有效方法。3)基于视图的数据库设计方法。先从分析各个应用的数据着手,其基本思想是为每个应用建立自己的视图,然后再把这些视图汇总起来合并成整个数据库的概念模式。第4页,本讲稿共66页3.计算机辅助设计方法计算机辅助设计方法是利用一些专门的CASE软件工具来支持数据库设计过程。数据库自动化设计法是指数据库设计整个过程完全由计算机完成。常用软
4、件:产品功能公司Power Designer支持数据库建模和应用开发且不一定要求Sybase数据库环境SybaseDesigner分析设计工具,支持数据库设计的各个阶段,常和Developer(应用开发工具)一起使用。需要Oracle数据库环境OracleERwin支持数据库设计的各个阶段,还支持事务和数据仓库设计Computer AssociatesVisioVisio是图形工具集,其中提供了数据库设计及反向工具MicrosoftDatabase DesignerDatabase Designer是一个嵌入在SQL Server和Access中的图形工具。所建立的图称为Database Di
5、agram这种图不是ER图,它实际上是数据库逻辑模式的图形化Microsoft第5页,本讲稿共66页数据库设计的特点1)反复性:数据库设计不可能一气呵成,需要反复推敲和修改才能完成。2)试探性:与解决一般问题不同,数据库设计的结果经常不是唯一的,所以设计的过程通常是一个试探的过程。数据库的设计结果很难达到非常满意的效果,常常为了达到某些方面的优化而降低另一方面的性能。3)分步进行:数据库设计常常由不同的人员分阶段进行。为使整个数据库的设计变得条理清晰、目的明确,必须在每一步分段把关,逐级审查,保证数据库设计的质量和进度。第6页,本讲稿共66页5.1.2数据库设计步骤第7页,本讲稿共66页 前四
6、个步骤为数据库系统的分析与设计;后两个步骤为数据库系统的实施、运行与维护。1)需求分析:了解和分析用户的应用需求(包括信息需求和处理需求),进行需求收集和分析,并以数据流图、数据字典等形式加以描述。2)概念设计:把需求分析阶段得到的用户需求进行综合、归纳和抽象,形成一个独立于具体DBMS的概念数据模型。3)逻辑设计:按照一组转换规则,将概念设计阶段产生的概念模型转换为某个DBMS支持的逻辑数据模型。4)物理设计:是为逻辑模型选取一个最适合应用环境的物理结构(包括存取结构和存取方法)。5)数据库实施:设计人员运用DBMS提供的数据库语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与
7、调试应用程序,组织数据入库,并进行试运行。6)数据库运行与维护:数据库试运行后,即可投入正式运行。数据库在运行期间应不断地对其进行评价、调整与修改。第8页,本讲稿共66页5.2数据库设计的需求分析目标:给出应用领域中数据项、数据项之间的关系和数据操作任务的详细定义,为数据库系统的概念设计、逻辑设计和物理设计奠定基础,为优化数据库系统的逻辑结构和物理结构提供可靠依据。需求分析是整个数据库设计过程的基础。决定了以后各步设计的速度与质量。第9页,本讲稿共66页5.2.1需求分析的方法在用户的积极配合下,通过查阅文档、面谈、观察业务操作、问卷调查等手段来收集用户的信息内容和处理要求。第10页,本讲稿共
8、66页(1)结构化分析方法(StructuredAnalysis,SA)用于需求分析的方法有多种,主要方法有自顶向下和自底向上两种。其中自顶向下的结构分析方法(简称SA方法)是一种简单实用的方法。SA方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,用数据流图描述系统,处理过程的处理逻辑常借助判定表或判定树来描述,而系统中的数据则是借助数据字典来描述。第11页,本讲稿共66页(2)数据流图(DataFlowDiagram,DFD)数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。当系统比较复杂时,可以采用分层描述的方法。在处理功能逐步分解的同时,它们所用的数据也
9、逐级分解,形成若干层次的数据流图。数据流图表达了数据和处理过程的关系。第12页,本讲稿共66页(3)数据字典数据字典是结构化分析方法的核心。数据字典是对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义、使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。数据字典把不同的需求文档和分析模型紧密地结合在一起,与各模型的图形表示配合,能清楚地表达数据处理的要求。概括地说,数据字典的作用是对DFD中出现的被命名的图形元素的确切解释。通常数据字典包含的信息有:名称、别名、含义、类型、何处使用、如何使用、补充信息等。第13页,本讲稿共66页(4)判定表和判定树 它们都
10、是描述加工的图形工具,适合描述问题处理中具有多个判断,而且每个决策与若干条件有关。在使用判定树或判定表时,应该从问题的文字描述中分清哪些是判定条件,哪些是判定的决策规则,再构造判定表或树。第14页,本讲稿共66页5.2.2需求分析的任务通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。调查的重点是“数据”和“处理”,通过调查、收集和分析,获得用户对数据库业务需求、数据需求、处理需求,最后编写需求分析说明书。第15页,本讲稿共66页1确定业务需求确定业务需求业务需求包括业务的流程、组成业务的
11、数据、对数据的处理以及一些规则。【例例5-1】教务管理系统的业务需求分析。1)了解业务流程2)明确组成业务的数据,建立数据字典3)明确数据处理任务4)明确业务规则第16页,本讲稿共66页数据字典片段举例:表5-2教务管理系统数据字典中的数据结构数据结构含义说明组成学生定义了一个学生的有关信息学号,姓名,性别,出生日期,班号课程定义一门课程的有关信息课程号,课程名,学时数,学分,开设学期,任课教师。表5-3教务管理系统数据字典中的数据项数据项含义说明别名类型长度取值范围取值含义与其他数据项关系其他说明学号唯一标识一个学生学生编号字符型80000000099999999前两位表示入学年,后六位按顺
12、序编号候选关键字。第17页,本讲稿共66页2确定数据需求确定数据需求数据需求是指用户需要一个信息系统最终能够提供的所有数据,通过分析制作数据流图。【例【例5-2】教务管理系统的顶层数据流图。第18页,本讲稿共66页3确定处理需求确定处理需求 处理需求通常是指用户要求应用软件系统能够提供的所有功能。根据业务需求以及数据需求可以进一步确定处理需求。处理需求可用系统功能模块图表示。【例例5-3】教务管理系统的功能模块图。第19页,本讲稿共66页4编写需求分析说明书编写需求分析说明书需求分析阶段最后是编写系统分析报告,通常称为需求规范说明书。需求规范说明书是对需求分析阶段的一个总结。编写系统分析报告是
13、一个不断反复、逐步深入与完善的过程,系统分析报告应包括如下内容:l系统概况,系统的目标、范围、背景、历史和现状;l系统的原理和技术,对原系统的改善;l系统总体结构与子系统结构说明;l系统功能说明;l数据处理概要、工程体制和设计阶段划分;l系统方案及技术、经济、功能和操作上的可行性。第20页,本讲稿共66页5.3数据库概念设计 将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。它是整个数据库设计的关键。概念结构的主要特点是:l能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求;l易于理解,可以用它和用户交换意见,用户的积极参与是数据库设计成功的
14、关键;l易于修改,当应用环境和应用要求改变时,容易对概念模型修改和扩充;l易于向关系数据模型转换。概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。第21页,本讲稿共66页5.3.1概念结构设计的方法与步骤以需求分析为基础,通常采用自底向上的方法进行概念结构设计。按照这种方法,概念结构的设计可按下面步骤进行。第22页,本讲稿共66页5.3.2数据抽象与局部视图的设计1.数据抽象数据抽象 E-R模型是对现实世界的一种抽象。所谓抽象是对实际的人、物、事和概念,抽取人们关心的共同特性并用各种概念精确地加以描述,组成了某种模型。分类:定义某一类概念作为现实世界中一组对象
15、的类型。聚集:定义某一类型的组成成分。概括:定义类型之间的一种子集联系。分类聚集概括第23页,本讲稿共66页2.局部视图(局部局部视图(局部E-R图)设计图)设计1)确定局部视图的设计范围:)确定局部视图的设计范围:根据系统情况,在多层的数据流图中选择一个适当层次的数据流图,让这组图中每一部分对应一个局部应用,然后以这一层次的数据流图为出发点,设计局部视图。通常以中层数据流图作为设计局部视图的依据。教务管理系统的第1层数据流图学籍管理选课管理第24页,本讲稿共66页2)确定实体及实体的主关键字:)确定实体及实体的主关键字:区分实体与属性的一般原则:第一,实体一般需要描述信息,而属性不需要。例如
16、,学生需要描述属性(学号、姓名、性别等),所以学生是实体。而性别是属性。第二,多值的属性可考虑作为实体。例如,教师的职务是一个多值的属性,即一个教师可能担任多个职务。此时,职务可以考虑作为一个独立的实体,否则数据库关系中将会出现大量的空值。3)定义实体间的联系。)定义实体间的联系。4)给实体及联系加上描述属性。)给实体及联系加上描述属性。【例例5-6】教务管理系统中的主要实体。从各个子系统分析,确定以下实体:学生、班级、专业、优异生、学籍变动、课程、教师等。第25页,本讲稿共66页3.E-R图设计原则图设计原则1)真实性原则真实性原则:是指E-R图必须能真实地反映客观世界的状况。真实是建立描述
17、客观现实的基础,是成功的前提。2)避冗余原则避冗余原则:是要求在描述客观现实的一个事物时只能在一个地方出现。冗余将会增加信息的存储空间,另外还将造成数据的不一致性。3)合适性原则合适性原则:是指在描述某个事物时,选择实体、联系、还是属性哪个较合适。第26页,本讲稿共66页【例例5-9】教务管理系统中的局部E-R图。第27页,本讲稿共66页5.3.3视图集成1视图集成概述视图集成概述 视图集成可分为局部视图集成和新老视图集成。局部视图集成是指对新设计的各局部视图进行集成;而新老视图集成是指原来已存在的集成视图与新增加的局部视图进行集成。不管是哪一种集成,都会存在各种冲突。例如,命名冲突、结构冲突
18、、度量冲突以及值域冲突等。第28页,本讲稿共66页2视图集成的策略视图集成的策略(1)二元集成:是一种两两集成方式,即每次集成的视图数为2。优点是每个集成步骤上分析比较过程简单化,缺点是集成操作的总的次数较多。(2)多元集成:多元集成是一种集成视图数大于2的集成方式。3视图集成的步骤视图集成的步骤(1)预集成阶段:确定总的集成策略,包括视图集成的优先次序、一次集成的视图数以及初始集成序列等;对视图进行分析比较、识别数据对象间的语义,揭示和解决冲突,为下一阶段视图的集成奠定基础。(2)集成阶段:集成阶段的主要任务是归并和重构视图,最后得到一个统一的全局实体。应该满足以下要求:第一,完整性和正确性
19、。第二,最小化。第三,可理解性。第29页,本讲稿共66页4新老数据模式的集成新老数据模式的集成新老数据模式的集成可有两种情况:第一,一个单位已建立了若干面向单项应用的独立数据库。集成工作包括单个数据库的集成和扩充的数据模式的集成。第二,已建立了在一定范围内支持多项应用的综合数据库。数据模式已是一个经过集成的数据模式,这时再和扩充模式进行集成时,应尽量地向原有模式靠拢,以使原应用程序基本不变。对所有局部视图集成后便形成了一个整体的数据库概念结构,确保满足下列条件:l整体概念结构内部必须具有一致性,不存在各种冲突。l整体概念结构能准确地反映原各局部视图结构,包括属性、实体及实体间的联系。l整体概念
20、结构能满足需要分析阶段所确定的所有需求。第30页,本讲稿共66页【例例5-10】教务管理系统的概念视图。第31页,本讲稿共66页5.4数据库逻辑设计在概念设计所获得的E-R图的基础上,定义和优化关系模式,形成数据库逻辑设计。数据库的逻辑结构设计与系统最终选用的DBMS有关。第32页,本讲稿共66页5.4.1数据库逻辑设计过程数据库逻辑设计过程1.数据库逻辑设计过程数据库逻辑设计过程主要任务是在概念设计所获得的E-R图的基础上,首先利用一些转换规则得到一组初始关系模式集,然后用关系规范化理论对关系模式进行优化,以获得优良的数据库设计,最后结合所采用关系数据库的具体特性完成数据库逻辑设计。第33页
21、,本讲稿共66页2E-R图向关系模型的转换图向关系模型的转换(1)实体到关系模式的转换 一般来说,对于E-R图中的每一个实体,在关系模式中建立一个与其同名且具有相同属性集的关系。而关系的关键字就对应实体的关键字。(2)联系到关系模式的转换 对于两个实体的一对一联系,可将联系本身自带的属性与任何一个实体的关键字一起合并到另一个实体之中。【例例5-11】一对一联系的转换:班级和班长实体联系。第34页,本讲稿共66页对于两个实体的一对多联系,可将联系本身自带的属性与一方实体的关键字一起合并到多方实体之中。【例5-12】一对多联系的转换:学生和班级实体联系。第35页,本讲稿共66页对于两个实体的多对多
22、联系,可直接转换成一个关系模式,即用三个关系模式来描述,其属性包括联系本身自带的所有属性和两个相关实体的键码,其主键由两个相关实体的主键组合构成。【例例5-13】多对多联系的转换:学生和课程实体联系。第36页,本讲稿共66页3关系模式的优化关系模式的优化关系模式是对关系结构的描述,它设计得好坏,将直接影响数据库的完整性、冗余性和可操作性。数据库的设计不能简单用对与错来衡量。优化就是对已建立的数据模型进行适当修改和调整,使其更规范、合理并且满足信息系统的开发需求。关系数据模型的优化通常以规范化理论为指导。第37页,本讲稿共66页5.4.2数据库设计规范化关系模式的规范化理论包括一系列范式(Nor
23、mal Forms,简记为NF),高一级范式所需要的条件包含了低一级范式所需要的条件,如一个关系模式需要满足第三范式,则其必须满足第一范式和第二范式的条件。所谓关系模式的规范化是将一个低一级范式的关系模式,通过模式分解转换为高一级范式的过程。对于大部分数据库设计来说,第三范式已足够使用。第38页,本讲稿共66页关系模式的规范化的三个范式1第一范式(第一范式(1NF)如果关系(表)中的每一分量都是不可分的,则称该关系(表)满足1NF。2第二范式(第二范式(2NF)包含在任意一个候选关键字中的属性称为主属性,否则称为非主属性。如果一个表是1NF且所有非主属性完全依赖于某一个候选关键字,则称该表是2
24、NF。第二范式主要用于有组合关键字的表,也就是主关键字是由两个或多个属性组合而成的表。主关键字是单属性且满足1NF条件的表一定是2NF的表。3第三范式(第三范式(3NF)如果一个表是2NF,且表中任意非主属性都不传递依赖于某一个候选关键字,则该表是3NF的。第39页,本讲稿共66页三个范式的应用举例(非1NF表3NFA、B、C、D、E)非1NF表非2NF表非3NF表ABCDE第40页,本讲稿共66页5.4.3关系模式的设计原则在关系数据库设计中,关系模式是根据有关实体属性及其相互联系等方面的内容转换构成的,然后进行规范化,确定满足用户预定要求条件的适当规范化的一组关系模式。因此关系数据库设计要
25、以关系规范化理论为基础,充分考虑关系模型的数据完整性规则,下面以实例讨论数据库设计的一些具有指导性的原则。第41页,本讲稿共66页(1)一个表应该满足)一个表应该满足1NF,并根据信息系统需要相对完整、合,并根据信息系统需要相对完整、合理地表达实体集的属性。理地表达实体集的属性。在需求分析时对信息准确把握,抽象出系统所关注的实体集的属性,并以合适的数据类型来描述。针对系统需求,只选择与系统相关的属性。属性的数据类型定义要合理,因为不同的数据类型表达能力不同,带来的系统开销(存储空间、处理速度等)也不一样,合理地选择属性的数据类型描述还会给应用程序开发带来便利。【例例5-17】学生表中学号和年龄
26、的表达。1.“学号”整数还是字符?2.“年龄”整数还是日期型?3.“性别”表达?4.“姓名”字符串长度?第42页,本讲稿共66页(2)表结构中不含含义类似的重复字段)表结构中不含含义类似的重复字段表中有时会出现含义相类似的字段,比如多个联系电话,多个联系人等,为了将来程序处理方便,最好不分列多个相似字段。【例例5-18】不含含义相似的字段:通讯录表中联系方式的表达。含义类似的重复字段第43页,本讲稿共66页(3)保持实体独立性,表的每一列均依赖主关键字,而不是依赖主)保持实体独立性,表的每一列均依赖主关键字,而不是依赖主关键字的部分字段,即满足关键字的部分字段,即满足2NF。实体中存在依赖部分
27、主关键字段的属性,会造成数据的反复存储,带来数据冗余,更为严重的是它容易造成数据的不一致。【例例5-19】保持实体的独立性:选课表分解为课程表和成绩表。部分依赖第44页,本讲稿共66页(4)保持实体的独立性,表中不存在传递依赖,即每一列均直接依赖主关键字。即)保持实体的独立性,表中不存在传递依赖,即每一列均直接依赖主关键字。即满足满足3NF。传递依赖是指字段间接依赖主关键字,会造成数据冗余和数据不一致。【例例5-20】保持实体的独立性:学生表分解为学生表和班级表,即满足3NF。存在传递依赖第45页,本讲稿共66页(5)最好不在数据库中存放计算值。)最好不在数据库中存放计算值。【例例5-21】不
28、存放计算值:选课表中的平均成绩。数据库中应存放基础业务数据,客户需要的汇总计算结果最好不要和基础数据存放到一起,容易造成与真实信息不一致。存放计算值第46页,本讲稿共66页(6)最好为每个表定义主关键字,实施保证关系完整性的各种约束。)最好为每个表定义主关键字,实施保证关系完整性的各种约束。主关键字不是必须的,但最好为每个表定义主关键字,因为它会为数据维护和表结构管理带来很多好处。实施保证关系完整性的各种约束对数据库设计的意义非常重大。(7)要根据实际问题需要,运用关系模式设计原则和关系规范化理论。)要根据实际问题需要,运用关系模式设计原则和关系规范化理论。,在数据库设计时应该尽量遵守数据库设
29、计规范化理论和设计原则,以实现较优秀的数据库设计。但这些原则只是指导性的,不是绝对要求的,在某些应用中,规范化程度高的关系模式不一定是最合适的关系模式,要根据实际情况确定。第47页,本讲稿共66页违反原则的需求举例简化应用程序开发的需求:对于简单的系统,非规范化的数据设计可能会使数据库应用程序简单化;提高查询效率的需求:为了支持快速查找可以事先将汇总结果算好存放到数据库中;再例如,对于历史信息的转储,主要用于查询汇总等应用,可以将规范化程度较高的关系模式合并为规范化低的关系,从而提高查询响应效率。减少数据修改量的需求:高规范化意味着关系间的联系比较多,数据约束多,因此在进行修改操作时可能会涉及
30、多表的数据修改,低规范化的表将更多属性归并到较少的表中,可减少数据修改量。第48页,本讲稿共66页【例例5-22】教务管理系统的数据库逻辑结构。第49页,本讲稿共66页(1)T_Student学生表:存储学生基本信息。字段名称字段名称字段字段说说明明类类型定型定义义属性限定属性限定索引索引关系(外关系(外键键)StudentCode学号Char(8)Primary KeyStudentName学生姓名Varchar(16)Not NullClassCode班号Char(6)Not NullT_Class:ClassCodeSex 性别Char(2)Not Null男或女Birthday出生日期
31、DatetimeLiveInDorm是否住校BitDefault 1Photo学生照片ImageTelephone联系电话Varchar(40)HomePage个人主页Varchar(50)Description备注Text第50页,本讲稿共66页(2)T_Class表:存储班级基本情况。字段名称字段名称字段字段说说明明类类型定型定义义属性限定属性限定索引索引关系(外关系(外键键)ClassCode班号Char(6)Primary Key ClassName班级名称Varchar(20)Not NullMajorCode专业号Char(6)Not NullT_Major:MajorCode(3
32、)T_Major表:存储专业设置的基本情况字段名称字段名称字段字段说说明明类类型定型定义义属性限定属性限定索引索引关系(外关系(外键键)MajorCode专业号Char(6)Primary KeyMajorName专业名称Varchar(20)Not NullAcademy学院名称Varchar(20)Not NullEduDegree学位Varchar(16)MajorTuition学费MoneyNot NullDescription备注信息Text第51页,本讲稿共66页字段名称字段名称字段字段说说明明类类型定型定义义属性限定属性限定索引索引关系(外关系(外键键)CourseCode课程号
33、Char(6)Primary KeyCourseName课程名称Varchar(30)Not NullCredit学分Numeric(3,1)Default 0=0Academy开课学院Varchar(20)Not NullClassTime上课学时Tinyint=0LabTime实验学时Tinyint=0TotalStudent最大学生数Smallint=0Teacher任课教师Varchar(16)Description备注Text(4)T_Course表:存储开设课程的基本情况。(5)T_Grade表:存储学生选课及成绩。字段名称字段名称字段字段说说明明类类型定型定义义属性限定属性限定索
34、引索引关系(外关系(外键键)StudentCode学号Char(8)Primary KeyT_Student:StudentCodeCourseCode课程号Char(6)Primary KeyT_Course:CourseCodeGrade成绩Numeric(4,1)Default 0 =0第52页,本讲稿共66页5.5数据库物理设计 数据库的物理设计是对已确定的逻辑数据结构,利用DBMS所提供的方法、技术,以较优的数据存储结构、数据存取路径、合理的数据存放位置以及存储分配,设计出一个高效的、可实现的物理数据库结构。第53页,本讲稿共66页1.数据库物理设计的要求数据库物理设计的要求1)对要
35、运行的事务进行详细分析,获得选择物理数据库设计所需要的参数。2)要充分了解所用DBMS的内部特征,特别是系统提供的存取方法和存储结构。3)对于数据库查询事务,需要得到如下信息:查询的关系、查询条件所涉及的属性、联接条件所涉及的属性、查询的投影属性。4)对于数据更新事务,需要得到如下信息:被更新的关系、每个关系上的更新操作条件所涉及的属性、修改操作要改变的属性值。第54页,本讲稿共66页2.关系模式存取方法的选择关系模式存取方法的选择 (1)索引存取方法的选择)索引存取方法的选择如果一个(或一组)属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或组合索引);如果一个属性经常作为最
36、大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引;如果一个(或一组)属性经常在联接操作的联接条件中出现,则考虑在这个(或这组)属性上建立索引。第55页,本讲稿共66页(2)聚簇存取方法的选择)聚簇存取方法的选择为了提高某个属性(或属性组)的查询速度,把这个或这些属性(称为聚簇码)上具有相同值的元组集中存放在连续的物理块称为聚簇。(3)数据库存储结构的确定)数据库存储结构的确定确定数据库物理结构主要是指确定数据的存放位置和存储结构,包括确定关系、索引、聚簇、日志、备份等的存储安排和存储结构以及确定系统配置等。第56页,本讲稿共66页(4)物理结构的评价)物理结构的评价物理设计过程需要对时
37、间、空间效率、维护代价和各种用户要求进行权衡,其结果可以产生多种方案。在实施数据库前,对这些方案进行细致的评价,以选择一个较优的方案作为数据库的物理结构。评价物理数据库的方法完全依赖于所选用的DBMS,主要是从定量估算各种方案的存储空间、存取时间和维护代价入手,对估算结构进行权衡、比较,选出较优方案。第57页,本讲稿共66页5.6数据库实施数据库实施阶段主要做两项工作:1.应用程序的编制与调试;定义数据库,建立实际数据库结构,编制与调试应用程序。2.数据的加载及数据库试运行。可先使用模拟数据。如由手工生成或用随机数发生器生成。测试数据应尽可能覆盖需求分析阶段所需的各种数据。功能测试:实际运行应
38、用程序,执行对数据库的各种操作,测试应用程序的各种功能是否符合应用要求。性能测试:测量系统的性能指标,分析是否符合设计目标。第58页,本讲稿共66页5.7数据库运行与维护 数据库试运行合格后,数据库设计开发工作基本完成,即可投入正式运行。在数据库运行期间,由数据库管理员(DBA)来维护数据库经常性工作。维护内容包括:l数据库的转储和恢复l数据库的安全性、完整性控制 l数据库性能的监督、分析和改进 l数据库的调整l数据库的重组和重构第59页,本讲稿共66页数据库的调整、重组以及重构数据库的调整:包括调整数据模式、调整索引和聚簇、调整数据库运行环境以及调整数据库参数,目的是提高系统性能。数据库的重
39、构:主要是根据新环境调整数据库的模式和内模式、增加新的数据项、改变数据项的类型、改变数据库的容量、增加或删除索引以及修改完整性约束条件。重构是逻辑上的调整。数据库的重组:是在数据库运行一段时间后,对数据库的物理组织进行一次全面的调整。是物理存储位置的调整。第60页,本讲稿共66页本章小结本章小结 数据库设计概述::设计方法和步骤数据库设计的需求分析:数据流图、数据字典、系统功能模块图、系统需求说明书数据库概念设计:概念设计步骤,数据抽象、E-R图设计、视图集成数据库逻辑设计:逻辑设计过程、E-R模型向关系模型转换、关系模式的三个范式、数据库设计原则数据库物理设计:物理设计要求、索引的选择、存储
40、结构的确定数据库实施:编程调试、加载数据试运行数据库运行与维护:主要工作、数据库调整、重组和重构第61页,本讲稿共66页补充实验:数据库设计练习(学生课外科技活动管理系统学生课外科技活动管理系统)需求描述:需求描述:不同的科技活动项目有不同的要求(人数、学生年级、相应课程成绩),学生报名选择想参加的科技活动项目,系统根据项目的要求和约束录取同学,并进行分组,完成活动后指导教师给出成绩和评语,学生可以查询参加项目及得分情况。要求:1)数据流图、功能模块图 2)数据库概念设计E-R图 3)数据库逻辑设计图,并说明各表关系模式和详细设计,完整性约束,作出关系图 提示:学生实体 项目实体 实验九:信息
41、系统开发综合实验 中的部分设计文档实验作业:P172 页:1114题第62页,本讲稿共66页MSVisio的使用 MS Visio是微软Office套装里的一个产品,它简单易用,采用可视化方法画各种示意图,比如流程图、组织结构图、信息领域的各种原理图和设计图等;它还提供了数据库设计工具,具有Case功能。这里仅通过例子简单介绍基本E-R图、数据流图和软件功能结构图的绘制方法,画法不唯一,实际在绘图中可以充分使用Visio所提供的绘图元素。第63页,本讲稿共66页1E-R图的绘制【例附1-1】绘制“学生-选课”E-R图。1)选择“文件/新建/框图/基本框图”菜单,出现“基本形状”绘图元素(图附1
42、-1),可选择矩形、椭圆拖放到绘图区域,并双击各图形,填写实体名“学生”和属性名“学号”、“姓名”,拖放动态连接线将矩形和椭圆连接起来,类似可绘出课程实体;2)选择“文件/形状/流程图/数据流图表形状”菜单,出现“数据流图表形状”绘图元素(图附1-2),选择菱形框代表实体联系,拖放到绘图区填写联系名“选课”。3)使用动态连接线将菱形和代表实体的矩形连接起来,完成实体联系的表达;如果要进一步表达连接关系的类型,可双击实体“学生”-“选课”的连接线,填写“m”,在“课程”-“选课”连接线填写“n”。4)E-R图绘制完成,选择“文件/保存”菜单可为其命名并保存。使用Visio绘制的图形可以对象的形式
43、插入到Word文档中,也可以直接在Visio中选择图形复制到Word文档中。第64页,本讲稿共66页2数据流图的绘制1)选择“文件/形状/流程图/数据流图表形状”菜单,出现“数据流图表形状”绘图元素,选择一个圆形框代表数据进程,拖放到绘图区填写“学生信息录入”,选择双粗体横线代表数据存储拖放到绘图区,填写“学生基本信息”。2)选择“文件/形状/流程图/基本流程图形状”,出现“基本流程图形状”绘图元素(图附1-3),可使用“直线-曲线”连接线或“动态连接线”将数据进程和数据存储连接起来。3)采用同样步骤完成课程数据录入部分和学生选课处理。4)选择“基本流程图形状”中的文档图元代表系统输出数据“选课单”。图附1-4软件功能结构图的绘制图附1-3数据流图的绘制5)绘制完成,选择“文件/保存”菜单可为其命名并保存。第65页,本讲稿共66页3软件功能结构图的绘制【例附1-3】绘制“学生-选课”部分软件功能结构图。1)选择“文件/形状/框图/基本形状”菜单,出现“基本形状”绘图元素,选择矩形框代表功能模块,拖放到绘图区填写相关功能说明。2)使用“直线-曲线”连接线或“动态连接线”绘图元素或Visio工具栏中的连接线工具将矩形连接成需要的层次结构。3)绘制完成,选择“文件/保存”菜单可为其命名并保存。第66页,本讲稿共66页
限制150内