第六章数据库设计ppt课件.ppt
第6章 数据库设计,6.1 数据库设计概述6.2 系统需求分析 6.3 概念结构设计6.4 逻辑结构设计6.5 物理结构设计6.6 数据库的实施、运行和维护,6.1 数据库设计概述,6.1.1 数据库设计的任务、内容和特点 1. 数据库设计的任务 数据库设计是指根据用户需求研制数据库结构的过程2.数据库设计的内容,结构设计,行为设计,数据库的模式或子模式的设计概念设计、逻辑设计和物理设计稳定的,不易改变,用户对数据库的操作应用程序的设计,3.数据库设计的特点 是强调结构设计与行为设计相结合是一种“反复探寻,逐步求精”的过程以数据模型为核心,将数据设计与应用系统设计相结合,6.1.2 数据库设计方法简述,直观设计,规范设计法,计算机辅助设计法,自动化设计法,规范设计方法:1.基于E-R模型的数据库设计方法由E-R图构造2.基于3NF的数据库设计方法 由单一模式分解成符合3NF的关系模式集合3.基于视图的数据库设计方法为每个应用建立视图,再将视图汇总,6.1.3 数据库设计的步骤,按规范设计法可将数据库设计分为六个阶段 1系统需求分析阶段 2概念结构设计阶段 3逻辑结构设计阶段 4物理结构设计阶段 5数据库实施阶段 6数据库运行与维护阶段,6.2 系统需求分析,6.2.1 需求分析的任务 需求分析的任务:对现实世界要处理的对象进行详细的调查,通过对原系统的了解,收集支持新系统的基础数据并对其进行处理,在此基础上确定新系统的功能 。,1.调查分析用户活动,2.收集和分析需求数据,确定系统边界信息需求,处理需求,安全性和完整性需求,3.编写系统分析报告,6.2.2 需求分析的方法,自顶向下、自底向上,自顶向下(SA)方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统用数据流图和数据字典描述系统。 1.数据流图 :描述输入数据到输出数据的变换过程。,数据流:由一组固定成分的数据组成,代表数据的流动方向,处理:描述了输入数据到输出数据的变换,文件:用于存储数据,源或宿:存在于系统之外的人员或组织,表示系统输入数据的来源和输出数据的去向,图6.7 数据流图示例,当系统比较复杂时,可采用分层描述的方法,分别画出各子系统的数据流图,还可以继续细化,形成若干层次的数据流图,档案管理系统数据流图业务流程:职工填写档案表,人事部门对档案表进行审核,合格的档案表加入档案册中。档案册可供查询和进行统计。人事部门有权对档案表进行修改和删除。,人事档案管理系统顶层图(只有一个处理),职工,档案管,理系统,人事,部门,档案表,不合格档案表,统计报表,人事资料,人事档案管理系统0层图(分解顶层图处理),职工,1,收集数据,2,处理数据,3,利用数据,人事部门,未审核人,事数据,人事档案,报表,档案表,人事数据,人事数据,报表,人事资料,不合格档案表,未审核数据,统计报表,图2:处理2 处理数据分解,2.1,审核数据,2.2,维护数据,人事档案,未审核数据,人事数据,人事数据,处理2业务:对档案表进行审核,合格的档案表加入档案册中。档案册可供查询和进行统计,不合格档案表,维护数据功能:增加,修改,删除,查询,图2.2:处理2.2 维护数据分解,2.2.1,增加,2.2.2,修改,2.2.3,删除,2.2.4,查询,人事档案,人事数据,人事数据,人事数据,人事数据,处理3业务:汇总数据,统计数据,分析数据,打印报表,图3:处理3 利用数据分解,人事档案,3.1,汇总数据,3.2,统计数据,3.3,分析数据,3.4,打印报表,报表,人事数据,人事数据,人事数据,汇总数据,统计数据,分析数据,报表,2.数据字典 数据字典是对系统中数据的详细描述,数据流图中出现的数据流,处理,文件等的说明数据流图中的每个元素均与数据字典的一个条目相对应数据字典通常包含以下五部分内容:,数据项,数据的最小单位,包括数据项名,含义,类型,长度,范围,与其他数据项的关系,数据结构,有意义的数据项集合,包括数据结构名,含义,组成的数据项名,数据流,数据存储,处理过程,处理过程中数据在系统内的传输路径,包括数据流名,说明,流出,流入,对系统中的处理进行描述,包括处理过程名,说明,输入数据流,输出数据流,系统中数据的存放,包括数据存储名,说明,输入数据流,输出数据流,数据项或数据结构,数据量,存储频度,存取方式,人事档案管理系统数据字典(部分)1.数据流,名称:档案表别名:履历表简述:记录职工的个人基本信息数据流组成:档案表=工号+姓名+性别+出生日期+民族+籍贯+婚姻状况+学历+参加工作时间+简历+照片数据来源:加工2.2.1,员工填写审核合格后新增,6.3 概念结构设计,概念结构设计:将需求分析得到的用户需求抽象为信息结构,即概念模型。概念模型的特点 E-R模型是最著名、最实用的一种是概念模型。,语义表达能力丰富,易于交流和理解,易于修改和扩充,易于向各种数据模型转换,6.3.3 概念结构设计的方法与步骤,1.概念结构设计的方法 自顶向下 自底向上 逐步扩张 混合策略 2.概念结构设计的步骤,局部E-R模型,全局E-R模型,抽象,集成,需求分析数据,需求分析,DFD,DD,数据抽象,局部视图设计,视图集成,逻辑结构设计,局部E-R图,全局E-R图,征求用户意见,第一步:数据抽象与局部E-R模型设计 (1)E-R方法:建立E-R图(2)数据抽象 在多层数据流图中选择一个适当层次作为设计E-R图的出发点确定每个局部应用包含哪些实体,实体包含哪些属性,实体之间的联系划分实体和属性的方法:,分类,聚集,将一组具有某些共同特性和行为的对象抽象为一个实体,将对象类型的组成成份抽象为属性,(3)局部E-R模型设计 两条原则 : 属性必须是不可分的数据项 ,不能再由放弃他属性组成。 属性不能与其他实体具有联系,联系只能发生在实体之间。 为简化E-R图,凡是能作为属性对待的,尽量作为属性,1,系,属于,学生,m,学号,姓名,性别,年龄,系名,电话,系主任,办公地点,举例:在简单的教务管理系统,需求如下: 一个学生可选修多门课程,一门课程可为多个学生选修,因此学生和课程是多对多的联系。 一个教师可讲授多门课程,一门课程可为多个教师讲授,因此教师和课程也是多对多的联系。 一个系可有多个教师,一个教师只能属于一个系,因此系和教师是一对多的联系,同样系和学生也是一对多的联系。,学生选课局部E-R图,教师任课局部E-R图,形成局部E-R图后,要征求用户意见,第二步:全局E-R模型设计 集成各局部E-R模型,形成全局模型视图集成的方法有两种: 多元集成法,一次性将多个局部E-R图合并为一个全局E-R图。 二元集成法,首先集成两个重要的局部E-R图,以后用累加的方法逐步将一个新的E-R图集成进来。,局部E-R图,合并(消除冲突),初步E-R图,(1)合并合并局部E-R图,消除冲突,生成初步E-R图合并的关键是合理消除各局部E-R图的冲突,冲突分类,冲突,属性冲突,命名冲突,结构冲突,值域 冲突,取值单位 冲突,同名 异义,异名 同义,同一对象在不同应用中有不同抽象,同一实体在不同应用中属性组成不同,同一联系在不同应用中呈现不同类型,合并教务管理系统中学生选课和教师任课局部E-R模型,生成初步E-R图,学生选课局部E-R图,教师任课局部E-R图,(2)优化消除初步E-R图中不必要的冗余,生成基本E-R图冗余数据:可由基本的数据导出的数据冗余联系:可由基本的联系导出的联系,初步E-R图,优化(消除冗余),基本E-R图,分析,规范化理论,图6.17教务管理系统的初步ER图,m,n,1,系,属于,教师,拥有,学生,开课,讲授,选修,课程,m,m,n,m,1,m,1,学号,姓名,性别,年龄,平均成绩,成绩,教师号,课程号,课程名,教师号,姓名,性别,职称,系名,电话,图6.17教务管理系统的初步ER图,m,n,1,系,属于,教师,拥有,学生,开课,讲授,选修,课程,m,m,n,m,1,m,1,学号,姓名,性别,年龄,平均成绩,成绩,教师号,课程号,课程名,教师号,姓名,性别,职称,系名,电话,图6.18教务管理系统的基本ER图,n,1,系,属于,教师,拥有,学生,讲授,选修,课程,m,m,n,m,1,m,学号,姓名,性别,年龄,成绩,课程号,课程名,教师号,姓名,性别,职称,系名,电话,6.4 逻辑结构设计,初始关系模式设计,关系模式规范化,模式评价,是否修正,以DBMS语言描述,模式改进,是,否,逻辑设计的任务是将概念模型转换成特定DBMS所支持的数据模型的过程,6.4.2 初始关系模式设计,1.转换原则 逻辑设计的结果是一组关系模式的集合就是将E-R图中的实体、属性和联系转换成关系模式。 在转换中要遵循以下原则:(1)一个实体转换为一个关系模式 实体的属性就是关系的属性 实体的键就是关系的键。,(2)一个联系转换为一个关系模式 与该联系相连的各实体的键以及联系的属性均转换为该关系的属性 联系关系的键有三种情况:如果联系为1:1,则每个实体的键都是关系的候选键;如果联系为1:n,则n端实体的键是关系的键如果联系为n:m,则各实体键的组合是关系的键。,例6-1 将图6-18的E-R图中的实体和关系分别转换成关系模式学生(学号,姓名,性别,年龄)课程(课程号,课程名)教师(教师号,姓名,性别,职称)系(系名,电话)属于(教师号,系名)讲授(教师号,课程号)选修(学号,课程号,成绩)拥有(系名,学号),特殊情况:多元联系 多元联系在转换为关系模式时,与该多元联系相连的各实体的主键及联系本身的属性均转换成为关系的属性,转换后所得到的关系的主键为各实体键的组合。,供应(供应商号,项目号,零件号,数量),6.4.3 关系模式规范化,应用范式理论对初始关系模式进行优化1.确定范式级别考查关系模式的函数依赖关系,确定范式等级2.实施规范化处理利用规范化方法和理论将关系模式规范化,6.4.4 模式评价与改进,对规范化后的关系模式进行评价和改进1.模式评价 (1)功能评价 功能评价指对照需求分析的结果,检查规范化后的关系模式集合是否支持用户所有的应用要求。 (2)性能评价 对实际性能进行估计,包括逻辑记录的存取数、传送量以及物理结构设计算法的模型等,2.模式改进(1)合并将用于关联查询的具有相同主键的各表合并可提高查询效率(2)分解水平分解:将关系的元组分为若干子集,提高查询效率 垂直分解:把关系中经常一起使用的属性分解出来,形成一个子关系,提高执行效率。分解时要保持无损连接和函数依赖,6.5 物理结构设计,物理结构设计:对于给定的逻辑数据模型,选取一个最适合应用环境的物理结构数据库的物理结构设计可分为两步:(1)确定物理结构:存取方法和存储结构(2)评价物理结构:评价的重点是时间和空间效率6.5.1 确定物理结构1.存储记录结构的设计物理结构中,数据的基本存取单位是存储记录某一类型的所有存储记录的集合称为“文件”,决定存储结构的主要因素包括存取时间、存储空间、维护代价(1)聚集将在属性上具有相同值的元组集中的存放在一个物理块中,这个属性称为聚集值聚集值只需存储一次,节省空间提高按聚集码查询的效率(2)索引,2.访问方法的设计 访问方法:为存储在物理设备(辅存)上的数据提供存储和检索能力的方法,包括存储结构和检索机构存储结构限定了可能访问的路径和存储记录,检索机构定义了每个应用的访问路径3.数据存放位置的设计 为提高性能,可将数据的易变部分、稳定部分、经常存取部分和存取频率较低部分分开存放4.系统配置的设计,6.6 数据库实施,数据库实施:指根据逻辑设计和物理设计的结果,在计算机上建立起实际的数据库结构、装入数据、进行测试和试运行的过程。,建立实际数据库结构,装入数据,应用程序编码与调试,数据库试运行,整理文档,6.7 数据库运行和维护,数据库运行和维护阶段的主要任务包括以下三项内容:(1)维护数据库的安全性与完整性;(2)监测并改善数据库性能;(3)重新组织和构造数据库。只要数据库系统在运行,就需要不断地进行修改、调整和维护。,