chp73数据的设计

上传人:人*** 文档编号:567945788 上传时间:2024-07-22 格式:PPT 页数:89 大小:484KB
返回 下载 相关 举报
chp73数据的设计_第1页
第1页 / 共89页
chp73数据的设计_第2页
第2页 / 共89页
chp73数据的设计_第3页
第3页 / 共89页
chp73数据的设计_第4页
第4页 / 共89页
chp73数据的设计_第5页
第5页 / 共89页
点击查看更多>>
资源描述

《chp73数据的设计》由会员分享,可在线阅读,更多相关《chp73数据的设计(89页珍藏版)》请在金锄头文库上搜索。

1、数据库系统概论数据库系统概论An Introduction to Database System第七章第七章 数据库设计数据库设计( (续续2)2)邪浅楷钦咐墨即樱逗耍鼻蜡琉对湾眉微袋榴闯兼姚马露痕柴崎饲蜕驮证形chp73 数据的设计chp73 数据的设计An Introduction to Database System第七章第七章 数据库设计数据库设计7.1 数据库设计概述数据库设计概述7.2 需求分析需求分析7.3 概念结构设计概念结构设计7.4 逻辑结构设计逻辑结构设计7.5 数据库的物理设计数据库的物理设计7.6 数据库的实施和维护数据库的实施和维护7.7 小结小结训郊初染肺碳琶塑诀

2、滑瘦汀姐哈丛够耘父帽德版帅才幽瞳伐外写每峙授杠chp73 数据的设计chp73 数据的设计An Introduction to Database System7.4 逻辑结构设计逻辑结构设计v逻辑结构设计的任务把概念结构设计阶段设计好的基本E-R图,转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。荷井妒冻哮带洲助羊哈静哦洽萎圭饲钮雄板附铸侯求诡傀旗敬骇援飘恕证chp73 数据的设计chp73 数据的设计An Introduction to Database System逻辑结构设计逻辑结构设计(续续)v逻辑结构设计的三个步骤:.将概念结构转化为一般的关系、网状、层次模型;.将转换得

3、到的关系、网状、层次模型向特定DBMS支持下的数据模型转换;.对数据模型进行优化。螺婪斜葵佛雾兴虎裴悸恃谣棕绦攀蛀休摈些售寓畦疏痘帽照椰代厦翰麦凌chp73 数据的设计chp73 数据的设计An Introduction to Database System 逻辑结构设计逻辑结构设计(续续)逻辑结构设计时的3个步骤 光况牙诈声迸糟摄硒味肤崩乡舔法声岸囚美抓蔡度扼冻酿炬规蚜圣穿颧哉chp73 数据的设计chp73 数据的设计An Introduction to Database System7.4 逻辑结构设计逻辑结构设计7.4.1 E-R图向关系模型的转换图向关系模型的转换7.4.2 数据模型

4、的优化数据模型的优化7.4.3 设计用户子模式设计用户子模式吉锯电干斟朵哇拂茄究挑袒糠股铬笼咆揣奶茬声涎骗趣映锚特胰卡剪年弗chp73 数据的设计chp73 数据的设计An Introduction to Database System7.4.1 E-R图向关系模型的转换图向关系模型的转换v转换内容v转换原则v关系模型的逻辑结构是一组关系模式的集合。E-R图是由实体型、实体的属性和实体型之间的联系三个要素组成的。徊懂墨拉论髓吵谈瘸疲靠畸外松当葛顽概滞盆下扫萤匠晶豪贡牲哟快笼坠chp73 数据的设计chp73 数据的设计An Introduction to Database SystemE-R图

5、向关系模型的转换(续)图向关系模型的转换(续)vE-R图向关系模型的转换要解决的问题要解决的问题 如何将实体型和实体间的联系转换为关系模式如何确定这些关系模式的属性和码 v转换内容转换内容将E-R图转换为关系模型:将实体型、实体的属性和实体型之间的联系转换为关系模式。礼崩捉划孰工蚀厕课波贼日捶苗充柬久摔昌弗犀噬遮会电聋睁啃固瑰延铲chp73 数据的设计chp73 数据的设计An Introduction to Database SystemE-R图向关系模型的转换(续)图向关系模型的转换(续)转换原则: 一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。实体型间的联

6、系有以下的不同情况 : (1)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。转换为一个独立的关系模式与某一端实体对应的关系模式合并夕绦脯弃饰陡墅雅渔巍瞬季柴皱穗员励凑娱唁凤舅破磷诀峦杠迟颓撩额候chp73 数据的设计chp73 数据的设计An Introduction to Database Systemv如果一个1:1联系转换为一个独立的关系模式: 与该联系相连的各个实体的码以及联系本身的属性均转换为关系的属性,每个实体的码都是该关系的候选码。v如果与某一端实体对应的关系模式合并: 需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。 E-R图向

7、关系模型的转换(续)图向关系模型的转换(续)那舶赣孪企俊淫唉成领委堆徘低街也尧屎匡率嵌漫斯辱蛔疙斤温拐伸魁二chp73 数据的设计chp73 数据的设计An Introduction to Database SystemE-R图向关系模型的转换(续)图向关系模型的转换(续)(2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。 转换为一个独立的关系模式 与该联系相连的各个实体的码以及联系本身的属性均转换为关系的属性,而关系的码就是n端实体的码。与n端对应的关系模式合并禹装滥柑搬赁知康率傲们粹农瞪盐钉请羽吸蝇治疟颂邹驻挞舀禾探删龟梢chp73 数据的设计chp73 数

8、据的设计An Introduction to Database SystemE-R图向关系模型的转换(续)图向关系模型的转换(续)(3) 一个m:n联系转换为一个关系模式。 与该联系相连的各个实体的码以及联系本身的属性均转换为关系的属性,各个实体的码组成该关系的码或者码 的一部分。 例如,“选修”联系是一个m:n联系,可以将它转换为如下关系模式,其中学号与课程号为关系的组合码: 选修(学号,课程号,成绩)律式牛桥骸缄共认侦壤幻犹装匈臀父蹭中政冬钉索荣沪宴希真湿糯济庚砷chp73 数据的设计chp73 数据的设计An Introduction to Database SystemE-R图向关系模

9、型的转换(续)图向关系模型的转换(续)(4)三个或三个以上实体间的一个多元联系转换为一个关系模式。 与该多元联系相连的各个实体的码以及联系本身的属性均转换为关系的属性,各个实体的码组成该关系的码或者码的一部分。例如,“讲授”联系是一个三元联系,可以将它转换为如下关系模式,其中课程号、职工号和书号为关系的组合码: 讲授(课程号,职工号,书号)掐焰鸭墨豫旭序瓦滥捐忌珠蜒型教泼菩幼柒艇缆票械向书株滦女报涌楼鲜chp73 数据的设计chp73 数据的设计An Introduction to Database SystemE-R图向关系模型的转换(续)图向关系模型的转换(续)(5)具有相同码的关系模式可

10、以合并。目的:减少系统中的关系个数。合并方法:将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),并适当调整属性的次序。檬痪庄翠杉钧谊哲望兄年鸳皱磐星锹骗四胀蚁识蛋底还倒茄沟遭糯焦溶苑chp73 数据的设计chp73 数据的设计An Introduction to Database SystemE-R图向关系模型的转换(续)图向关系模型的转换(续)注意:v从理论上讲,1:1联系可以与任意一端对应的关系模式合并v但在一些情况下,与不同的关系模式合并效率会大不一样。因此究竟应该与哪端的关系模式合并需要依应用的具体情况而定。v由于连接操作是最费时的操作

11、,所以一般应以尽量减少连接操作为目标。 例如,如果经常要查询某个班级的班主任姓名,则将管理联系与教师关系合并更好些。跑佐刑颗蝗渤苏盾遥挣涨趋馈悔剑棋污愤垦唱丙赡咐亚忠弹覆杯抱烹烽卜chp73 数据的设计chp73 数据的设计An Introduction to Database SystemE-R图向关系模型的转换(续)图向关系模型的转换(续)例 把图7.30中虚线上部的E-R图转换为关系模型 “部门”实体对应的关系模式 部门(部门号,部门名,经理的职工号,) 此关系模式已包含了联系“领导”所对应的关系模式。 经理的职工号是关系的候选码。 “职工”实体对应的关系模式 职工(职工号、部门号,职工

12、名,职务,) 该关系模式已包含了联系“属于”所对应的关系模式。 在该关系模式的属性中加入另一个关系模式的码“部门号”。针杰肄遗招液笺博抽束岩抗思蝉替销戏宅辞渝阉吓惫只昧雌贺颓括肿赛顺chp73 数据的设计chp73 数据的设计An Introduction to Database SystemE-R图向关系模型的转换(续)图向关系模型的转换(续)例 把图7.30中虚线上部的E-R图转换为关系模型(续) “产品”实体对应的关系模式 产品(产品号,产品名,产品组长的职工号,)“供应商”实体对应的关系模式 供应商(供应商号,姓名,) “零件”实体对应的关系模式 零件(零件号,零件名,) 条莽晰纵峪茨

13、汀股奸烂膳舜挠挞陆瘩巫虱硝脑旧牧寐势岩猴墙评负贫果缸chp73 数据的设计chp73 数据的设计An Introduction to Database SystemE-R图向关系模型的转换(续)图向关系模型的转换(续)例 把图7.30中虚线上部的E-R图转换为关系模型(续) (多对多)联系“参加”所对应的关系模式 职工工作(职工号,产品号,工作天数,) (三个实体间的)联系“供应”所对应的关系模式 供应(产品号,供应商号,零件号,供应量) 懈劝姜扇柜俺永坍涌儿被惶翱孕交寂给鸥蜗辩茵卿荒卖粕决匣乓之盯樊雏chp73 数据的设计chp73 数据的设计An Introduction to Datab

14、ase System7.4 逻辑结构设计逻辑结构设计7.4.1 E-R图向关系模型的转换图向关系模型的转换7.4.2 数据模型的优化数据模型的优化7.4.3 设计用户子模式设计用户子模式恕垮痴斯尘约涉漳粱接楔绰羹彦蒂遥减颅氛吨屏厉架搽畸欣荒累樱末厅迪chp73 数据的设计chp73 数据的设计An Introduction to Database System7.4.2 数据模型的优化数据模型的优化v得到初步数据模型后,还应该适当地修改、调整数据模型的结构,以进一步提高数据库应用系统的性能,这就是数据模型的优化v关系数据模型的优化通常以规范化理论为指导馏租混肤撮滞食弊咋涟嫌枉灭拱暴屹给蒙示奈哮

15、敢历肘柞哆披条鼎荷疲眩chp73 数据的设计chp73 数据的设计An Introduction to Database System数据模型的优化(续)数据模型的优化(续)v优化数据模型的方法1.确定数据依赖 按需求分析阶段所得到的语义,分别写出每个关系模式内部各属性之间的数据依赖以及不同关系模式的属性之间的数据依赖。2.消除冗余的联系 对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。阅哄腾咱披筐汲囊佑珐詹哺缸回博早吵趣硕茁坝嫡球曲沛泞溢充肌默嚼扑chp73 数据的设计chp73 数据的设计An Introduction to Database System数据模型的优化(续)

16、数据模型的优化(续)3.确定所属范式按照数据依赖的理论对关系模式逐一进行分析考查是否存在部分函数依赖、传递函数依赖、多值依赖等确定各关系模式分别属于第几范式俺碉绘使帧赣贪泄心锋睛遥航梆愤藏蔡淄撮迷扎铱榷狮湍阿腥生浆屈添布chp73 数据的设计chp73 数据的设计An Introduction to Database System数据模型的优化(续)数据模型的优化(续)4.按照需求分析阶段得到的各种应用对数据的处理要求,分析对于这样的应用环境这些模式是否合适,确定是否要对某些模式进行合并或分解。注意:注意:注意:注意:并不是规范化程度越高的关系就越优,一般说来,第三范式就足够了。陛维峭艳旗称残

17、事拙本捧永臭歪舔贬粥涅刺鲸贼楼蒜孰蒋叠桓援蜕扳铜蔗chp73 数据的设计chp73 数据的设计An Introduction to Database System数据模型的优化(续)数据模型的优化(续)例:在关系模式 学生成绩单(学号,英语,数学,语文,平均成绩) 中存在下列函数依赖: 学号英语 学号数学 学号语文 学号平均成绩 (英语, 数学, 语文)平均成绩闻琅揍阂蛀肋琉势郭街庭垮夏粪拎介株患缓雄迂笨逊条污码厦浙邹荣呢辰chp73 数据的设计chp73 数据的设计An Introduction to Database System数据模型的优化(续)数据模型的优化(续) 显然有: 学号(英

18、语,数学,语文)因此该关系模式中存在传递函数信赖,是2NF关系 虽然平均成绩可以由其他属性推算出来,但如果应用中需要经常查询学生的平均成绩,为提高效率,仍然可保留该冗余数据,对关系模式不再做进一步分解。熔剔泼贷典十哀釉私禹冈渍沿回蚀尘腻痰摩角南失穗锁笑盏撕敞森宣骋圾chp73 数据的设计chp73 数据的设计An Introduction to Database System数据模型的优化(续)数据模型的优化(续)5.按照需求分析阶段得到的各种应用对数据的处理要求,对关系模式进行必要的分解,以提高数据操作的效率和存储空间的利用率。常用的两种分解方法水平分解垂直分解擅山具佰治间遇鹰悦馅后榷邵瞧古

19、烬告量赌飘苯撼置峰硅蹭梧淑颓舒驰局chp73 数据的设计chp73 数据的设计An Introduction to Database System数据模型的优化(续)数据模型的优化(续)水平分解什么是水平分解把(基本)关系的元组分为若干子集合,定义每个子集合为一个子关系,以提高系统的效率。水平分解的适用范围满足“80/20原则”的应用。 一个大关系中,经常被使用的数据只是关系的一部分,约20%,可以把经常使用的数据分解出来,形成一个子关系。并发事务经常存取不相交的数据。 如果关系R上具有n个事务,而且多数事务存取的数据不相交,则R可以分解为少于或等于n个子关系,使得每个事务存取的数据对应一个关

20、系。犊漠抡右宪汽热汉琉断节挂斥擎皖踩这鞭谣亨乙袁瘁悼杜挤卖乖除查桩悬chp73 数据的设计chp73 数据的设计An Introduction to Database System数据模型的优化(续)数据模型的优化(续)垂直分解什么是垂直分解把关系模式R的属性分解为若干子集合,形成若干子关系模式。垂直分解的原则是,经常在一起使用的属性从R中分解出来形成一个子关系模式。垂直分解的适用范围是否进行垂直分解,取决于分解后R上的所有事务的总效率是否得到了提高。漂宾口琅莆伸双琅乒橇捻榨孪企淄算往披识沼著数荷腰凄镐扑络庚麦庇困chp73 数据的设计chp73 数据的设计An Introduction to

21、 Database System7.4 逻辑结构设计逻辑结构设计7.4.1 E-R图向关系模型的转换图向关系模型的转换7.4.2 数据模型的优化数据模型的优化7.4.3 设计用户子模式设计用户子模式哮宠铺涂鸡控蝶息守冀稽岛秒梧围蒙呢房京阔蒸佬丑确肥固躬享响婚苔品chp73 数据的设计chp73 数据的设计An Introduction to Database System7.4.3 设计用户子模式设计用户子模式v将概念模型转换为全局逻辑模型后,还应该根据局部应用需求,结合具体DBMS的特点,设计用户的外模式。v目前,关系数据库管理系统一般都提供了视图(View)概念,可以利用这一功能设计更符合

22、局部用户需要的用户外模式。弃苍瓮收烦酒栖焚费每眩啡心旁休荔桨窄笑裸线唬团汞揉浅贫坑洼团斋陀chp73 数据的设计chp73 数据的设计An Introduction to Database System设计用户子模式(续)设计用户子模式(续)v定义用户外模式时应该注重的问题 包括三个方面: (1) 使用更符合用户习惯的别名 (2) 针对不同级别的用户定义不同的视图 ,以 满足系统对安全性的要求。 (3) 简化用户对系统的使用。舟梅肪担虞衅敢溃戍错胜宪肖丁沸血诱君颓尤裹窗确晚陶奸谈洒佯喇懂雅chp73 数据的设计chp73 数据的设计An Introduction to Database Sys

23、tem设计用户子模式(续)设计用户子模式(续)例例 关系模式产品(产品号,产品名,规格,单价,生产车间,生产负责人,产品成本,产品合格率,质量等级),可以在产品关系上建立两个视图: 为一般顾客建立视图: 产品1(产品号,产品名,规格,单价) 为产品销售部门建立视图: 产品2(产品号,产品名,规格,单价,车间,生产负责人)顾客视图中只包含允许顾客查询的属性销售部门视图中只包含允许销售部门查询的属性生产领导部门则可以查询全部产品数据可以防止用户非法访问不允许他们查询的数据,保证系统的安全性舷睬衰檄标疟桶饲的窄泊缉吻堪绩芜早狗硷轮邮惦说献掷赫汾伦伏苫售腰chp73 数据的设计chp73 数据的设计A

24、n Introduction to Database System逻辑结构设计逻辑结构设计小结小结v任务将概念结构转化为具体的数据模型v逻辑结构设计的步骤将概念结构转化为一般的关系、网状、层次模型将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型转换对数据模型进行优化设计用户子模式棒糊账辰月观残涝褥更械媒晦绷覆院炔响猪恃国深攫尼譬黍鲤惦砾袒梨冲chp73 数据的设计chp73 数据的设计An Introduction to Database System逻辑结构设计小结逻辑结构设计小结vE-R图向关系模型的转换内容vE-R图向关系模型的转换原则曼绑挖请垛万七帐德汐膜谚饼浚疵聪姻九演助

25、捏体椿告肮顶铸溉蹈焰刚岁chp73 数据的设计chp73 数据的设计An Introduction to Database System逻辑结构设计小结逻辑结构设计小结v优化数据模型的方法 1. 确定数据依赖。 2. 对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。 3. 确定各关系模式分别属于第几范式。 4. 分析对于应用环境这些模式是否合适,确定是否要对它们进行合并或分解。 5. 对关系模式进行必要的分解或合并。欠斑辉任李擒浆社无梆抚膨所贺系望辐刁赫了舌森孔场仟终棚蒲坍致唬瞬chp73 数据的设计chp73 数据的设计An Introduction to Database S

26、ystem逻辑结构设计小结逻辑结构设计小结v设计用户子模式 1. 使用更符合用户习惯的别名。 2. 针对不同级别的用户定义不同的外模式,以满足系统对安全性的要求。 3. 简化用户对系统的使用。耻疗族么刚冈榔芦腋邹共懒聚翻签钝资辫滇邦辱近桑辰蜀盲炳挣釜甭橇痊chp73 数据的设计chp73 数据的设计An Introduction to Database System第七章第七章 数据库设计数据库设计7.1 数据库设计概述数据库设计概述7.2 需求分析需求分析7.3 概念结构设计概念结构设计7.4 逻辑结构设计逻辑结构设计7.5 数据库的物理设计数据库的物理设计7.6 数据库的实施和维护数据库的

27、实施和维护7.7 小结小结依璃啃沽诊饮系帅扼伸忧闹扦瓤缀怨耘聂娱疤混该溅绢就染蹈臼序铝峪具chp73 数据的设计chp73 数据的设计An Introduction to Database System7.5 数据库的物理设计数据库的物理设计v数据库的物理设计数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统。数据库的物理设计就是为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程。载才隧镀冶抹腐褂遂中授颠哀常会坡猎洛胞嫡嫉满突惯声施竹准缕聚彤窗chp73 数据的设计chp73 数据的设计An Introduction to Database S

28、ystem数据库的物理设计数据库的物理设计(续续)v数据库物理设计的步骤.确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构; .对物理结构进行评价,评价的重点是时间和空间效率 如果评价结果满足原设计要求,则可进入到物理实施阶段,否则,就需要重新设计或修改物理结构,有时甚至要返回逻辑设计阶段修改数据模型。劝蔬搜配逝甘侗真亚缆蔽恐飘黑认寻醇局勺肢砾雷试都论暇顽惮熄凑棍幢chp73 数据的设计chp73 数据的设计An Introduction to Database System数据库的物理设计数据库的物理设计(续续)数据库物理设计数据库物理设计确定数确定数据库的据库的物理结物理结构构

29、评价数据评价数据库的物理库的物理结构结构逻辑结逻辑结构设计构设计数据库数据库实施实施物理物理模型模型逻辑逻辑模型模型皮今新垂良吱察轧作迭绦撩刀显缕蚁蟹佰附陋挠沂夕颤东呛袭娄塞特浦膝chp73 数据的设计chp73 数据的设计An Introduction to Database System7.5 数据库的物理设计数据库的物理设计7.5.1 数据库物理设计的内容和方法数据库物理设计的内容和方法7.5.2 关系模式存取方法选择关系模式存取方法选择7.5.3 确定数据库的存储结构确定数据库的存储结构7.5.4 评价物理结构评价物理结构捞侯匣梧膜掳升譬俄韭匈提嘻肮求霹皖崩隙肤仅捂式累扣黎飞诡椭差盒驰

30、chp73 数据的设计chp73 数据的设计An Introduction to Database System7.5.1 数据库物理设计的内容和方法数据库物理设计的内容和方法v没有通用的物理设计方法可遵循,只能给出一般的设计内容和原则。v设计物理数据库结构的准备工作首先,对要运行的事务进行详细分析,获得选择物理数据库设计所需要的参数。其次,要充分了解所用RDBMS的内部特征,特别是系统提供的存取方法和存储结构。注:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。靡理址基任蚌腰巴牌狱玛途浅嵌纺蕊挟巩淤石酵典谰族谱或色朵溪歌失胃chp73 数据的设计ch

31、p73 数据的设计An Introduction to Database System数据库的物理设计的内容和方法(续)数据库的物理设计的内容和方法(续)v选择物理数据库设计所需参数 对于数据库查询事务,需要得到如下信息:查询的关系; 查询条件所涉及的属性; 连接条件所涉及的属性; 查询的投影属性。 也翅万蛆湾升桑踊疙守崇枫紫娟旷暮挑讯咕扁拙钓虏崇根骑辣东茁痰捻骑chp73 数据的设计chp73 数据的设计An Introduction to Database System数据库的物理设计的内容和方法(续)数据库的物理设计的内容和方法(续)v选择物理数据库设计所需参数(续)对于数据更新事务,需

32、要得到如下信息:被更新的关系;每个关系上的更新操作条件所涉及的属性; 修改操作要改变的属性值。 除此之外,还需要知道每个事务在各关系上运行的频率和性能要求。改荤愤掺嘻辱燃轨邻粕竭矣湾桂阮繁渭霜钥圃余彩婆免吊昔弓弥溺八来葫chp73 数据的设计chp73 数据的设计An Introduction to Database System数据库的物理设计的内容和方法(续)数据库的物理设计的内容和方法(续)v关系数据库物理设计的内容为关系模式选择存取方法(建立存取路径); 设计关系、索引等数据库文件的物理存储结构。稳拙拳荧保培巧至乖啼步哲犀钳棘滇垃十堪场稗业穷吱线蛤谜铀寐盼沛霄chp73 数据的设计ch

33、p73 数据的设计An Introduction to Database System7.5 数据库的物理设计数据库的物理设计7.5.1 数据库物理设计的内容和方法数据库物理设计的内容和方法7.5.2 关系模式存取方法选择关系模式存取方法选择7.5.3 确定数据库的存储结构确定数据库的存储结构7.5.4 评价物理结构评价物理结构择禾雾支骡唐落秉笛巨怨佛沟胜少鹿淫煎菩禁坍漓严伴颊剑经拜嗜褂饿榴chp73 数据的设计chp73 数据的设计An Introduction to Database System7.5.2 关系模式存取方法选择关系模式存取方法选择v数据库系统是多用户共享的系统,对同一个关

34、系要建立多条存取路径才能满足多用户的多种应用要求v物理设计的任务之一就是要确定选择哪些存取方法,即建立哪些存取路径。顾叛揽垒非臻遗扮隔艇菏渝锗箔浑徐淘瞧治峻碘邀贩匣牢己纺顷祈清杭酒chp73 数据的设计chp73 数据的设计An Introduction to Database System关系模式存取方法选择(续)关系模式存取方法选择(续)v存取方法是快速存取数据库中数据的技术。vDBMS常用的存取方法有三类:索引方法目前主要是B+树索引方法B+树索引方法是数据库中经典的存取方法,使用最普遍。 聚簇(Cluster)方法HASH方法犬步匈襄佩照萨赔娱天乱瓤蛛旬咱婉绞茎段庙速退沥粉呼倚钦乍沛舰

35、屋絮chp73 数据的设计chp73 数据的设计An Introduction to Database System一、索引存取方法的选择一、索引存取方法的选择v所谓“选择索引存取方法”,实际上就是根据应用要求确定 对哪些属性列建立索引 对哪些属性列建立组合索引 对哪些索引要设计为唯一索引哀赴葡牌霍打习喻鹊遥隙宏募纳堤播橡聊孝碴舅糕娄幻胰坑坞搓惺苫砖猴chp73 数据的设计chp73 数据的设计An Introduction to Database System索引存取方法的选择(续)索引存取方法的选择(续)v选择索引存取方法的一般规则如果一个(或一组)属性经常在查询条件中出现,则考虑在这个(

36、或这组)属性上建立索引(或组合索引);如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引;如果一个(或一组)属性经常在连接操作的连接条件中出现,则考虑在这个(或这组)属性上建立索引。薛躇绦促订士爸剿碍其惭箕踢颇娟泄改移卓事茧距挫畏床火乓尉烯甫斟古chp73 数据的设计chp73 数据的设计An Introduction to Database System索引存取方法的选择(续)索引存取方法的选择(续)v关系上定义的索引数并不是越多越好,系统为维护索引要付出代价,查找索引也要付出代价。v关系上定义的索引数过多,会带来较多的额外开销 维护索引的开销 查找索引的开销袖妮

37、渡桓贬氢折必涣卉乏扣账鄂足邯靛倔酞驶花停束壮酗翼殉歌锦算耗杭chp73 数据的设计chp73 数据的设计An Introduction to Database System二、聚簇存取方法的选择二、聚簇存取方法的选择v聚簇为了提高某个属性(或属性组)的查询速度,把这个或这些属性(称为聚簇码,cluster key)上具有相同值的元组集中存放在连续的物理块称为聚簇。磺窜跳棉么篮蒂吟涌翰您袜日若蒂雷讫裤谁疟疼究葱侗附囤娄永耸隘钾鹏chp73 数据的设计chp73 数据的设计An Introduction to Database System聚簇存取方法的选择(续)聚簇存取方法的选择(续)v聚簇的用

38、途1. 大大提高按聚簇码进行查询的效率 例:假设学生关系按所在系建有索引,现在要查询信息系的所有学生名单。信息系的500名学生分布在500个不同的物理块上时,至少要执行500次I/O操作。如果将同一系的学生元组集中存放,则每读一个物理块可得到多个满足查询条件的元组,从而显著地减少了访问磁盘的次数。项贪腐硅溪麦瞧偏渴暑另敌肠备磁椰澄偶稀枝睬新恰突喻误糟笼舜帛谍是chp73 数据的设计chp73 数据的设计An Introduction to Database System聚簇存取方法的选择(续)聚簇存取方法的选择(续)2. 节省存储空间聚簇以后,聚簇码相同的元组集中在一起了,因而聚簇码值不必在每

39、个元组中重复存储,只要在一组中存一次就行了。沽汐液寄泌危族冤肩境赛概痹亲侦诈吻锤港磊悄考秩左积雅人虾灯晨舒拎chp73 数据的设计chp73 数据的设计An Introduction to Database System聚簇存取方法的选择(续)聚簇存取方法的选择(续)v聚簇的局限性1. 聚簇只能提高某些特定应用的性能。2. 建立与维护聚簇的开销相当大对已有关系建立聚簇,将导致关系中元组移动其物理存储位置,并使此关系上原有的索引无效,必须重建。当一个元组的聚簇码值改变时,该元组的存储位置也要做相应移动,聚簇码值要相对稳定,以减少修改聚簇码值所引起的维护开销。宿回枢意借欠趋邻七畸籽媒蕊搭浓振珍燃灯

40、黑喘别以舜滞微廖坍伏诸皮陡chp73 数据的设计chp73 数据的设计An Introduction to Database System聚簇存取方法的选择(续)聚簇存取方法的选择(续)v聚簇的适用范围1. 既适用于单个关系独立聚簇,也适用于多个关系组合聚簇例:假设用户经常要按系别查询学生成绩单,这一查询涉及学生关系和选修关系的连接操作,即需要按学号连接这两个关系,为提高连接操作的效率,可以把具有相同学号值的学生元组和选修元组在物理上聚簇在一起。这就相当于把多个关系按“预连接”的形式存放,从而大大提高连接操作的效率。焰简籍掳酷佯密璃饿姚槛浪疤窗朗钵蛛艾鬼宇百如神视捧瘦藩挣捡荫敖旺chp73 数

41、据的设计chp73 数据的设计An Introduction to Database System聚簇存取方法的选择(续)聚簇存取方法的选择(续)2. 当通过聚簇码进行访问或连接是该关系的主要应用,与聚簇码无关的其他访问很少或者是次要的,这时可以使用聚簇。尤其当SQL语句中包含有与聚簇码有关的ORDER BY,GROUP BY,UNION,DISTINCT等子句或短语时,使用聚簇特别有利,可以省去对结果集的排序操作。乳逾瓤牙埃插歼邪凶梢稳玉椰心证锈疫刁助缘怖劝背禽册笔说反樱严奶君chp73 数据的设计chp73 数据的设计An Introduction to Database System聚簇

42、存取方法的选择(续)聚簇存取方法的选择(续)v选择聚簇存取方法,就是确定需要建立多少个聚簇,每个聚簇中包括哪些关系。v设计候选聚簇对经常在一起进行连接操作的关系可以建立聚簇;如果一个关系的一组属性经常出现在相等比较条件中,则该单个关系可建立聚簇;如果一个关系的一个(或一组)属性上的值重复率很高,则此单个关系可建立聚簇。即对应每个聚簇码值的平均元组数不太少。太少了,聚簇的效果不明显。该逸砒否嗜律襄羞暖蓟琢拜明柞瓷速州蔗靳船某瞎丸蜡副置旦嘴蕉囤辗投chp73 数据的设计chp73 数据的设计An Introduction to Database System聚簇存取方法的选择(续)聚簇存取方法的选

43、择(续)v优化聚簇设计(检查候选聚簇中的关系,取消其中不必要的关系)从聚簇中删除经常进行全表扫描的关系;从聚簇中删除更新操作远多于连接操作的关系;不同的聚簇中可能包含相同的关系,一个关系可以在某一个聚簇中,但不能同时加入多个聚簇。 要从这多个聚簇方案(包括不建立聚簇)中选择一个较优的,即在这个聚簇上运行各种事务的总代价最小。舔炉檄阶背想氰愉娘旺吕麦湿姜涡饭略鹏脊卡雅鉴汲鹤剿唱藐闻乐绵戏杏chp73 数据的设计chp73 数据的设计An Introduction to Database System三、三、HASH存取方法的选择存取方法的选择v选择HASH存取方法的规则当一个关系满足下列两个条件

44、时,可以选择HASH存取方法该关系的属性主要出现在等值连接条件中或主要出现在相等比较选择条件中;该关系的大小可预知,而且不变; 或 该关系的大小动态改变,但所选用的DBMS提供了动态HASH存取方法。靶饯浮栏逻揣耙铺谚慰扩梧席缅毋毁顷侦业纠别娠殊矿挨眩梦钓娃害尼苗chp73 数据的设计chp73 数据的设计An Introduction to Database System7.5 数据库的物理设计数据库的物理设计7.5.1 数据库物理设计的内容和方法数据库物理设计的内容和方法7.5.2 关系模式存取方法选择关系模式存取方法选择7.5.3 确定数据库的存储结构确定数据库的存储结构7.5.4 评价

45、物理结构评价物理结构狙枚辱熔咳徽蛮皑馅弯夜穿散泊纸辛紧炉腐悍恋骚分蚂杀祸珠营榔秦伺湿chp73 数据的设计chp73 数据的设计An Introduction to Database System7.5.3 确定数据库的存储结构确定数据库的存储结构v确定数据库物理结构的内容1. 确定数据的存放位置和存储结构 关系 索引 聚簇 日志 备份2. 确定系统配置腮钢民榆轿晦丧莹乒齐磅恐桌戊漆钮埔赂爵疥晦峭枚侣男笔序斥戚片川厕chp73 数据的设计chp73 数据的设计An Introduction to Database System1. 确定数据的存放位置确定数据的存放位置v确定数据的存放位置和存储

46、结构,要综合考虑三方面的因素:存取时间存储空间利用率维护代价 这三个方面常常是相互矛盾的,必须进行权衡,选择一个折中方案。 例如:消除一切冗余数据虽能够节约存储空间和减少维护代价,但往往会导致检索代价的增加。 辗倡戚踢贞妹仅抽优户瑟糕麻算即说趋欧德像厦膜句据旗逛晓梆逼熟症句chp73 数据的设计chp73 数据的设计An Introduction to Database System确定数据的存放位置(续)确定数据的存放位置(续)v基本原则根据应用情况将易变部分与稳定部分分开存放存取频率较高部分与存取频率较低部分,分开存放椿吻攫梢仁换潜藉骏堆做临遭告听澡半炸蛀恒垛蠢隋吼谗栗茵彤寻绵甚眼chp7

47、3 数据的设计chp73 数据的设计An Introduction to Database System确定数据的存放位置(续)确定数据的存放位置(续)例如:如果计算机有多个磁盘或磁盘阵列 ,可以考虑将表和索引分别放在不同的磁盘上,在查询时,由于磁盘驱动器并行工作,可以提高物理I/O读写的效率。 乓弘垢仙嗡交要圆撩赎渠员搽闺仑郴蚁习滤软迭登奶荤壕构弗庇泉褪褒植chp73 数据的设计chp73 数据的设计An Introduction to Database System确定数据的存放位置(续)确定数据的存放位置(续)例(续):可以将比较大的表分别放在两个磁盘上,以加快存取速度,这在多用户环境下

48、特别有效。可以将日志文件与数据库对象(表、索引等)放在不同的磁盘,以改进系统的性能。睛烂兼妄务哨倚守奈虐卷差鹿坡贪席苞笔谗裂歉拿郎诗怜找岭言白豫访毁chp73 数据的设计chp73 数据的设计An Introduction to Database System2. 确定系统配置确定系统配置vDBMS产品一般都提供了一些系统配置变量: 同时使用数据库的用户数 同时打开的数据库对象数 内存分配参数 使用的缓冲区长度、个数 存储分配参数 . 在物理设计时,对系统配置变量的调整只是初步的,在系统运行时,还要根据系统实际运行情况做进一步的调整,以期切实改进系统的性能。参趋露咆保仟坚溃巧赵购痰次廖捌即瞩鉴

49、宴沙壤萌镐咕遏络铃倦闻旋膝寝chp73 数据的设计chp73 数据的设计An Introduction to Database System7.5 数据库的物理设计数据库的物理设计7.5.1 数据库物理设计的内容和方法数据库物理设计的内容和方法7.5.2 关系模式存取方法选择关系模式存取方法选择7.5.3 确定数据库的存储结构确定数据库的存储结构7.5.4 评价物理结构评价物理结构棠登客佛襄挣匣啄公极罩畏叛妒者雷皖甜穷蔗僳帚贤滋科袜屯汰若荫肩蝇chp73 数据的设计chp73 数据的设计An Introduction to Database System7.5.4 评价物理结构评价物理结构v评

50、价内容对数据库物理设计过程中产生的多种方案进行细致的评价,从中选择一个较优的方案作为数据库的物理结构。铰蝶漂腥粉谰颧璃泥苍珍押醋光吱窥甜臼饯远蔷莫财庞领捷寺汾捏引垣陋chp73 数据的设计chp73 数据的设计An Introduction to Database System评价物理结构评价物理结构(续续)v评价方法(完全依赖于所选用的DBMS )定量估算各种方案 存储空间 存取时间 维护代价对估算结果进行权衡、比较,选择出一个较优的合理的物理结构;如果该结构不符合用户需求,则需要修改设计。禾氰恕臀物众告糕层寒玩好设账幅嘉亚屹虚咽柴域雷筷石盏铱狙傅戴布柬chp73 数据的设计chp73 数据

51、的设计An Introduction to Database System第七章第七章 数据库设计数据库设计7.1 数据库设计概述数据库设计概述7.2 需求分析需求分析7.3 概念结构设计概念结构设计7.4 逻辑结构设计逻辑结构设计7.5 数据库的物理设计数据库的物理设计7.6 数据库的实施和维护数据库的实施和维护7.7 小结小结耐雾淤踊翼臭雅支警希癌裳怖控树鹃浓进凶应狠兢固薯攻器幕仙压卧讣腮chp73 数据的设计chp73 数据的设计An Introduction to Database System7.6数据库实施和维护数据库实施和维护7.6.1 数据的载入和应用程序的调试数据的载入和应用

52、程序的调试7.6.2 数据库的试运行数据库的试运行 7.6.3 数据库的运行和维护数据库的运行和维护 戮介菠弘轰蚊拓嘿手桔臼汗祸吃新腰比区歹未翔孰派斯庄逸筑脾博铆咒瞩chp73 数据的设计chp73 数据的设计An Introduction to Database System7.6.1 数据的载入和应用程序的调试数据的载入和应用程序的调试v 数据的载入 v 应用程序的编码和调试谊骄傲瞄协掩翁宛割胚么挨抑尧儡骇祥甄撑恨湿杨耳官据袁督肋谓律猛颈chp73 数据的设计chp73 数据的设计An Introduction to Database System 数据的载入数据的载入 v数据库结构建立好

53、后,就可以向数据库中装载数据了。组织数据入库是数据库实施阶段最主要的工作。v数据装载方法人工方法计算机辅助数据入库予瑶琵物启酌境阴焦书汰酝竟蛛疹反娃涨锤才莹坪迹蛔猎车匈络衣珊胞早chp73 数据的设计chp73 数据的设计An Introduction to Database System应用程序的编码和调试应用程序的编码和调试v数据库应用程序的设计应该与数据设计并行进行v在组织数据入库的同时还要调试应用程序 剃抒核熄饭盂擒独制灸望凯烦崎入盔缝埔矩箭微罢甜兜方稼且拌酪摩英缕chp73 数据的设计chp73 数据的设计An Introduction to Database System7.6数据

54、库实施和维护数据库实施和维护7.6.1 数据的载入和应用程序的调试数据的载入和应用程序的调试7.6.2 数据库的试运行数据库的试运行 7.6.3 数据库的运行和维护数据库的运行和维护 愈灵驰置材茹疹懒绷凭描捷响碉补宠欺疏颗抵靳诺越兄窗闭廉宅伸坠矛混chp73 数据的设计chp73 数据的设计An Introduction to Database System7.6.2 数据库的试运行数据库的试运行v在原有系统的数据有一小部分已输入数据库后,就可以开始对数据库系统进行联合调试,称为数据库的试运行 v数据库试运行主要工作包括:1)功能测试实际运行数据库应用程序,执行对数据库的各种操作,测试应用程序

55、的功能是否满足设计要求 如果不满足,对应用程序部分则要修改、调整,直到达到设计要求2)性能测试测量系统的性能指标,分析是否达到设计目标如果测试的结果与设计目标不符,则要返回物理设计阶段,重新调整物理结构,修改系统参数,某些情况下甚至要返回逻辑设计阶段,修改逻辑结构 拣毒遁周浮仔斧涛滓条挂记嗽地礼泊涉渊断劳钙旧杜友承基榔崎喷哨穆沽chp73 数据的设计chp73 数据的设计An Introduction to Database System数据库的试运行(续)数据库的试运行(续)强调两点:v分期分批组织数据入库 重新设计物理结构甚至逻辑结构,会导致数据重新入库。由于数据入库工作量实在太大,费时、

56、费力,所以应分期分批地组织数据入库先输入小批量数据供调试用待试运行基本合格后再大批量输入数据逐步增加数据量,逐步完成运行评价贞游份轿捣孙遏菇售孽骗细懂牌译竹丁门那忌额习替溶目拄芽享踪溅厨攘chp73 数据的设计chp73 数据的设计An Introduction to Database System数据库的试运行(续)数据库的试运行(续)v数据库的转储和恢复在数据库试运行阶段,系统还不稳定,硬、软件故障随时都可能发生系统的操作人员对新系统还不熟悉,误操作也不可避免因此必须做好数据库的转储和恢复工作,尽量减少对数据库的破坏。活时礼戏缉玩杰湃坯釉穴梆羔莉彻椒甘芋采罐配晴钎铝出牟宝某蓄咒流顶chp7

57、3 数据的设计chp73 数据的设计An Introduction to Database System7.6数据库实施和维护数据库实施和维护7.6.1 数据的载入和应用程序的调试数据的载入和应用程序的调试7.6.2 数据库的试运行数据库的试运行 7.6.3 数据库的运行和维护数据库的运行和维护 蜗聂瓦将硕矮煤拱甫媳彤矾蔗掣卵纲朴砖抛侨魄妙鼻擞庆哪谍稼济枝签砂chp73 数据的设计chp73 数据的设计An Introduction to Database System7.6.3 数据库的运行与维护数据库的运行与维护v数据库试运行合格后,数据库即可投入正式运行。v数据库投入运行标志着开发任务的

58、基本完成和维护工作的开始v对数据库设计进行评价、调整、修改等维护工作是一个长期的任务,也是设计工作的继续和提高。应用环境在不断变化数据库运行过程中物理存储会不断变化叭披化邵侣壤擅狄籽蔬邦轮鼓习扔淹卫汹益喝扼躁葵柱故播傈恫贮王就傍chp73 数据的设计chp73 数据的设计An Introduction to Database System数据库的运行与维护(续)数据库的运行与维护(续)v在数据库运行阶段,对数据库经常性的维护工作主要是由DBA完成的,包括: 1.数据库的转储和恢复2.数据库的安全性、完整性控制3.数据库性能的监督、分析和改进4.数据库的重组织和重构造漠凭蒲矢桓沫葬泛鲤圆码彪粉鼠

59、奥测育悍哭垮雾伟拢汉纤靡蓬洛抽碟谊锅chp73 数据的设计chp73 数据的设计An Introduction to Database System数据库的运行与维护(续)数据库的运行与维护(续)v数据库的重组织和重构造重组织的形式全部重组织部分重组织只对频繁增、删的表进行重组织重组织的目标提高系统性能缝壶历议鲁垒斌集脚痴乙顶囊帝纳育穷诌瘟扬卿猜理舜笼忍酸策沙吏懈氦chp73 数据的设计chp73 数据的设计An Introduction to Database System数据库的运行与维护(续)数据库的运行与维护(续)重组织的工作按原设计要求重新安排存储位置回收垃圾减少指针链数据库的重组织

60、不会改变原设计的数据逻辑结构和物理结构既泊赞傀殴织渺摄样芬讶霍谓爸怔崩垄炳拖浑荣陨条佛柒豺插铬当邻伸藏chp73 数据的设计chp73 数据的设计An Introduction to Database System数据库运行与维护(续)数据库运行与维护(续)数据库重构造根据新环境调整数据库的模式和内模式增加新的数据项改变数据项的类型改变数据库的容量增加或删除索引修改完整性约束条件杠颂屋至赡远鸟夫幢案颖哄协抑册鹅趴辅稿橱弯光旋亢子奶响衰钧受纹机chp73 数据的设计chp73 数据的设计An Introduction to Database System第七章第七章 数据库设计数据库设计7.1

61、数据库设计概述数据库设计概述7.2 需求分析需求分析7.3 概念结构设计概念结构设计7.4 逻辑结构设计逻辑结构设计7.5 数据库的物理设计数据库的物理设计7.6 数据库的实施和维护数据库的实施和维护7.7 小结小结斧瞬瑟誓敞谋罩枕唾葡封版砂谭呈独粱骡嫉弱迎句谎措憋员嘘我殆莆可惠chp73 数据的设计chp73 数据的设计An Introduction to Database System7.7 小结小结v数据库的设计过程需求分析概念结构设计逻辑结构设计物理设计实施和维护毡瓦炊囊总钎技莲谗贩琵霓涅悄十耐彦汐问遂侥矾峰割盟镣功殆施动虱绎chp73 数据的设计chp73 数据的设计An Intro

62、duction to Database System小结(续)小结(续)v数据库各级模式的形成数据库的各级模式是在设计过程中逐步形成的需求分析阶段综合各个用户的应用需求(现实世界的需求)概念设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型),用E-R图来描述董肛睦节钙园下玛丸哟踏龟瑞玲挥洞穆抓内集错癸儿督饶吏罐船尤诌愚结chp73 数据的设计chp73 数据的设计An Introduction to Database System小结(续)小结(续)在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式在物理设计阶段根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式光缮厩含铃初锨舌谁蝉垂竹跪丢赊核谜撬诲盏唇裂频嘉霞卒巧屈碗废拱秒chp73 数据的设计chp73 数据的设计An Introduction to Database System

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号