[精选]数据库的物理设计、实施和维护31000.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《[精选]数据库的物理设计、实施和维护31000.pptx》由会员分享,可在线阅读,更多相关《[精选]数据库的物理设计、实施和维护31000.pptx(92页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库系统概论数据库系统概论An Introduction to Database System第七章第七章 数据库设计数据库设计(续续2)2)电子信息学院电子信息学院 殷伟凤殷伟凤An Introduction to Database System第七章第七章 数据库设计数据库设计7.1 数据库设计概述数据库设计概述7.2 需求分析需求分析7.3 概念结构设计概念结构设计7.4 逻辑结构设计逻辑结构设计7.5 数据库的物理设计数据库的物理设计7.6 数据库的实施和维护数据库的实施和维护7.7 小结小结An Introduction to Database System7.4 逻辑结构设计逻辑
2、结构设计v逻辑结构设计的任务把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构An Introduction to Database System7.4 逻辑结构设计逻辑结构设计7.4.1 E-R图向关系模型的转换图向关系模型的转换7.4.2 数据模型的优化数据模型的优化7.4.3 设计用户子模式设计用户子模式An Introduction to Database System7.4.1 E-R图向关系模型的转换图向关系模型的转换vE-R图向关系模型的转换要解决的问题 如何将实体型和实体间的联系转换为关系模式如何确定这些关系模式的属性和码 v转换内容
3、将E-R图转换为关系模型:将实体、实体的属性和实体之间的联系转换为关系模式。An Introduction to Database SystemE-R图向关系模型的转换(续)图向关系模型的转换(续)实体型间的联系有以下不同情况:(1)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。转换为一个独立的关系模式 与某一端实体对应的关系模式合并(2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。转换为一个独立的关系模式与n端对应的关系模式合并An Introduction to Database SystemE-R图向关系模型的转换(续)图
4、向关系模型的转换(续)(3)一个m:n联系转换为一个关系模式。例,“选修”联系是一个m:n联系,可以将它转换为如下关系模式,其中学号与课程号为关系的组合码:选修(学号,课程号,成绩)An Introduction to Database SystemE-R图向关系模型的转换(续)图向关系模型的转换(续)(4)三个或三个以上实体间的一个多元联系转换为一个关系模式。例,“讲授”联系是一个三元联系,可以将它转换为如下关系模式,其中课程号、职工号和书号为关系的组合码:讲授(课程号,职工号,书号)An Introduction to Database SystemE-R图向关系模型的转换(续)图向关系模
5、型的转换(续)(5)具有相同码的关系模式可合并目的:减少系统中的关系个数合并方法:将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),并适当调整属性的次序An Introduction to Database SystemE-R图向关系模型的转换(续)图向关系模型的转换(续)注意:v从理论上讲,1:1联系可以与任意一端对应的关系模式合并v但在一些情况下,与不同的关系模式合并效率会大不一样。因此究竟应该与哪端的关系模式合并需要依应用的具体情况而定。v由于连接操作是最费时的操作,所以一般应以尽量减少连接操作为目标。例如,如果经常要查询某个班级的班主任
6、姓名,则将管理联系与教师关系合并更好些。An Introduction to Database SystemE-R图向关系模型的转换(续)图向关系模型的转换(续)例 把图7.30中虚线上部的E-R图转换为关系模型 部门实体对应的关系模式 部门(部门号,部门名,经理的职工号,)此关系模式已包含了联系“领导”所对应的关系模式 经理的职工号是关系的候选码 职工实体对应的关系模式 职工(职工号、部门号,职工名,职务,)该关系模式已包含了联系“属于”所对应的关系模式 An Introduction to Database SystemE-R图向关系模型的转换(续)图向关系模型的转换(续)例 把图7.30
7、中虚线上部的E-R图转换为关系模型(续)产品实体对应的关系模式 产品(产品号,产品名,产品组长的职工号,)供应商实体对应的关系模式 供应商(供应商号,姓名,)零件实体对应的关系模式 零件(零件号,零件名,)An Introduction to Database SystemE-R图向关系模型的转换(续)图向关系模型的转换(续)例 把图7.30中虚线上部的E-R图转换为关系模型(续)联系“参加”所对应的关系模式 职工工作(职工号,产品号,工作天数,)联系“供应”所对应的关系模式 供应(产品号,供应商号,零件号,供应量)An Introduction to Database System教学管理的
8、教学管理的ER图图系编号系编号系名系名电话电话系系教师教师课程课程教工号教工号姓名姓名性别性别职称职称教材教材课程号课程号课程课程学分学分聘期聘期主管主管聘用聘用开设开设任教任教MN1111NNAn Introduction to Database SystemER图到关系模式的转换图到关系模式的转换v图中,有三个实体类型:系、教师和课程;v有4个联系类型:主管、聘用、开设和任教。v第一步:v把3个实体类型转换称3个模式:v系(系编号,系名,电话)v教师(教工号,姓名,性别,职称)v课程(课程号,课程名,学分)v第二步:v对于1:1联系“主管”。可以在“系”模式中加入教工号(教工号为外键)An
9、 Introduction to Database SystemER图到关系模式的转换图到关系模式的转换v对于1:N联系“聘用”,可以在“教师”模式中加入系编号和聘期两个属性(系编号为外键)。v对与1:N联系“开设”,可以在“课程”模式中加入系编号(系编号为外键)。这样第一步得到的3个模式为:v系(系编号,系名,电话,主管人的教工号)v教师(教工号,姓名,性别,职称,系编号,聘期)v课程(课程号,课程名,学分,系编号)An Introduction to Database Systemv第三步:v对于M:N联系“任教”,则生成一个新的关系模式:v任教(教工号,课程号,教材)v这样,转换成的4个
10、关系模式如下:v系(系编号,系名,电话,主管人的教工号)v教师(教工号,姓名,性别,职称,系编号,聘期)v课程(课程号,课程名,学分,系编号)v任教(教工号,课程号,教材)ER图到关系模式的转换图到关系模式的转换An Introduction to Database System7.4 逻辑结构设计逻辑结构设计7.4.1 E-R图向关系模型的转换图向关系模型的转换7.4.2 数据模型的优化数据模型的优化7.4.3 设计用户子模式设计用户子模式An Introduction to Database System7.4.2 数据模型的优化数据模型的优化v得到初步数据模型后,还应该适当地修改、调整数
11、据模型的结构,以进一步提高数据库应用系统的性能,这就是数据模型的优化v关系数据模型的优化通常以规范化理论为指导An Introduction to Database System数据模型的优化(续)数据模型的优化(续)v优化数据模型的方法1.确定数据依赖2.按需求分析阶段所得到的语义,分别写出每个关系模式内部各属性之间的数据依赖以及不同关系模式属性之间数据依赖2.消除 冗余的联系3.对于各个关系模式之间的数据依赖进行极小化处理,消除 冗余的联系。An Introduction to Database System数据模型的优化(续)数据模型的优化(续)3.确定所属范式按照数据依赖的理论对关系模
12、式逐一进行分析考查是否存在部分函数依赖、传递函数依赖、多值依赖等确定各关系模式分别属于第几范式4.按照需求分析阶段得到的各种应用对数据处理的要求,分析对于这样的应用环境这些模式是否合适,5.确定是否要对它们进行合并或分解。6.6.注意:注意:注意:注意:并不是规范化程度越高的关系就越优,一般说来,第三范式就足够了An Introduction to Database System数据模型的优化(续)数据模型的优化(续)例:在关系模式 学生成绩单(学号,英语,数学,语文,平均成绩)中存在下列函数依赖:学号英语 学号数学 学号语文 学号平均成绩 (英语,数学,语文)平均成绩An Introduct
13、ion to Database System数据模型的优化(续)数据模型的优化(续)显然有:学号(英语,数学,语文)因此该关系模式中存在传递函数信赖,是2NF关系 虽然平均成绩可以由其他属性推算出来,但如果应用中需要经常查询学生的平均成绩,为提高效率,仍然可保留该冗余数据,对关系模式不再做进一步分解An Introduction to Database System数据模型的优化(续)数据模型的优化(续)5.按照需求分析阶段得到的各种应用对数据处理的要求,对关系模式进行必要的分解,以提高数据操作的效率和存储空间的利用率常用分解方法水平分解垂直分解An Introduction to Datab
14、ase System数据模型的优化(续)数据模型的优化(续)水平分解什么是水平分解把(基本)关系的元组分为若干子集合,定义每个子集合为一个子关系,以提高系统的效率水平分解的适用范围满足“80/20原则”的应用并发事务经常存取不相交的数据An Introduction to Database System数据模型的优化(续)数据模型的优化(续)垂直分解什么是垂直分解把关系模式R的属性分解为若干子集合,形成若干子关系模式垂直分解的适用范围取决于分解后R上的所有事务的总效率是否得到了提高An Introduction to Database System7.4 逻辑结构设计逻辑结构设计7.4.1 E
15、-R图向关系模型的转换图向关系模型的转换7.4.2 数据模型的优化数据模型的优化7.4.3 设计用户子模式设计用户子模式An Introduction to Database System7.4.3 设计用户子模式设计用户子模式v定义用户外模式时应该注重的问题 包括三个方面:(1)使用更符合用户习惯的别名 (2)针对不同级别的用户定义不同的View,以 满足系统对安全性的要求。(3)简化用户对系统的使用An Introduction to Database System设计用户子模式(续)设计用户子模式(续)例例 关系模式产品(产品号,产品名,规格,单价,生产车间,生产负责人,产品成本,产品合
16、格率,质量等级),可以在产品关系上建立两个视图:为一般顾客建立视图:产品1(产品号,产品名,规格,单价)为产品销售部门建立视图:产品2(产品号,产品名,规格,单价,车间,生产负责人)顾客视图中只包含允许顾客查询的属性销售部门视图中只包含允许销售部门查询的属性生产领导部门则可以查询全部产品数据可以防止用户非法访问不允许他们查询的数据,保证系统的安全性An Introduction to Database System逻辑结构设计小结逻辑结构设计小结v任务将概念结构转化为具体的数据模型v逻辑结构设计的步骤将概念结构转化为一般的关系、网状、层次模型将转化来的关系、网状、层次模型向特定DBMS支持下的
17、数据模型转换对数据模型进行优化设计用户子模式An Introduction to Database System逻辑结构设计小结逻辑结构设计小结vE-R图向关系模型的转换内容vE-R图向关系模型的转换原则An Introduction to Database System逻辑结构设计小结逻辑结构设计小结v优化数据模型的方法 1.确定数据依赖 2.对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。3.确定各关系模式分别属于第几范式。4.分析对于应用环境这些模式是否合适,确定是否要对它们进行合并或分解。5.对关系模式进行必要的分解或合并An Introduction to Databa
18、se System逻辑结构设计小结逻辑结构设计小结v设计用户子模式 1.使用更符合用户习惯的别名 2.针对不同级别的用户定义不同的外模式,以满足系统对安全性的要求。3.简化用户对系统的使用An Introduction to Database System举例举例v某公司需建立产品信息数据库,经调查其业务要求如下:v1、一种产品可以使用多个不同种类的部件,也可以使用多个不同种类的零件;一种部件至少被用在一种产品中;一种部件可以由多个不同种类的零件组成;一种零件至少被用在一种产品或一种部件中;v2、对于一种具体的部件,要记录这种部件使用的各种零件的数量;v3、对于一种具体的产品,要记录这种产品使
19、用的各种部件数量和各种零件数量,但部件所使用的零件数量不计入该种产品的零件数量;v4、一个供应商可供应多种零件,但一种零件只能由一个供应商供应。An Introduction to Database System根据以上业务要求,某建模人员构建了如下根据以上业务要求,某建模人员构建了如下ER图图产品号产品号产品名称产品名称型号型号装配图号装配图号产品产品产品产品-部件部件部件部件部件号部件号部件名称部件名称部件部件-零件零件零件零件零件号零件号零件名称零件名称联系电话联系电话供应商名供应商名供应商号供应商号mnnm此此ER图中的实体的属性完整,但实体、联系的设计存在不合理之处。图中的实体的属性
20、完整,但实体、联系的设计存在不合理之处。(1)请重新构建合理的)请重新构建合理的ER图,使之符合业务要求,且信息完整。图,使之符合业务要求,且信息完整。(2)根据重构的根据重构的ER图给出符合图给出符合3NF的关系模式,并标出每个关系模式的主码和外码。的关系模式,并标出每个关系模式的主码和外码。An Introduction to Database System重构重构ER图图产品号产品号产品名称产品名称型号型号装配图号装配图号产品产品产品产品-部件部件部件部件部件号部件号部件名称部件名称部件部件-零件零件零件零件零件号零件号零件名称零件名称联系电话联系电话供应商名供应商名供应商号供应商号mn
21、nm产品产品-零件零件nm数量数量数量数量数量数量供应商供应商供应商号供应商号供应商名供应商名1n联系电话联系电话An Introduction to Database System整理后的整理后的ER图图产品产品产品产品-部件部件部件部件部件部件-零件零件零件零件mnnm产品号产品号产品名称产品名称型号型号装配图号装配图号产品产品-零件零件nm部件号部件号部件名称部件名称数量数量数量数量数量数量供应商供应商供应商号供应商号供应商名供应商名1n联系电话联系电话型号型号零件号零件号零件名称零件名称An Introduction to Database System符合符合3NF的关系模式的关系模
22、式v产品(产品号(PK),产品名称,型号,装配图号)v部件(部件号(PK),部件名称)v零件(零件号(PK),零件名称,供应商号(FK)v产品_部件(产品号(FK),部件号(FK),部件数量)v产品_零件(产品号(FK),零件号(FK),零件数量)v部件_零件(部件号(FK),零件号(FK),零件数量)v供应商(供应商号(PK),供应商名称,联系电话)An Introduction to Database System作业作业 P234(19)An Introduction to Database System第七章第七章 数据库设计数据库设计7.1 数据库设计概述数据库设计概述7.2 需求分
23、析需求分析7.3 概念结构设计概念结构设计7.4 逻辑结构设计逻辑结构设计7.5 数据库的物理设计数据库的物理设计7.6 数据库的实施和维护数据库的实施和维护7.7 小结小结An Introduction to Database System7.5 数据库的物理设计数据库的物理设计v数据库的物理设计数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,就是数据库的物理设计An Introduction to Database System数据库的物理设计数据库的物理设计(续续)v数据库物理设计的步
24、骤确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构 对物理结构进行评价,评价的重点是时间和空间效率 如果评价结果满足原设计要求,则可进入到物理实施阶段,否则,就需要重新设计或修改物理结构,有时甚至要返回逻辑设计阶段修改数据模型An Introduction to Database System数据库的物理设计数据库的物理设计(续续)数据库物理设计数据库物理设计确定数确定数据库的据库的物理结物理结构构评价数据评价数据库的物理库的物理结构结构逻辑结逻辑结构设计构设计数据库数据库实施实施物理物理模型模型逻辑逻辑模型模型An Introduction to Database System7
25、.5 数据库的物理设计数据库的物理设计7.5.1 数据库物理设计的内容和方法数据库物理设计的内容和方法7.5.2 关系模式存取方法选择关系模式存取方法选择7.5.3 确定数据库的存储结构确定数据库的存储结构7.5.4 评价物理结构评价物理结构An Introduction to Database System7.5.1 数据库物理设计的内容和方法数据库物理设计的内容和方法v设计物理数据库结构的准备工作对要运行的事务进行详细分析,获得选择物理数据库设计所需参数充分了解所用RDBMS的内部特征,特别是系统提供的存取方法和存储结构An Introduction to Database System数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精选 数据库 物理 设计 实施 维护 31000
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内