版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、会计学1 数据库原理二复习习题分析数据库原理二复习习题分析 第第5章章 规范化设计规范化设计 一、本章重要概念一、本章重要概念 (1)关系模式的冗余和异常问题。)关系模式的冗余和异常问题。 (2)FD的定义、逻辑蕴涵、闭包、推理规则、与关键码的联的定义、逻辑蕴涵、闭包、推理规则、与关键码的联 系;系; 平凡的平凡的FD;属性集的闭包;推理规则的正确性和完备;属性集的闭包;推理规则的正确性和完备 性;性;FD集的等价;最小依赖集。集的等价;最小依赖集。 (3)无损分解的定义、性质、测试;保持依赖集的分解。)无损分解的定义、性质、测试;保持依赖集的分解。 (4)关系模式的范式:)关系模式的范式:1
2、NF,2NF,3NF,BCNF。分解成。分解成 2NF、3NF模式集的算法。模式集的算法。 (5)MVD、4NF、JD和和5NF的定义。的定义。 第1页/共60页 二、本章的重点篇幅二、本章的重点篇幅 (1)教材中)教材中P107-112的例的例5.2例例5.9。 (基本概念的例子)。(基本概念的例子)。 (2)教材中)教材中P113-115的例的例5.105.12。 (无损联接和保持(无损联接和保持FD的例子)。的例子)。 (3)教材中)教材中P116-119的例的例5.13例例5.16。 (分解成(分解成2NF、3NF、BCNF的例子)的例子) 。 第2页/共60页 三、要求掌握三、要求掌
3、握 (1)基本概念、定义、方法;)基本概念、定义、方法; (2)根据用户的需求,写出函数依赖)根据用户的需求,写出函数依赖; 求最小函数依赖集求最小函数依赖集; (3)已知关系模式)已知关系模式R(U)和和FD集集F,求关系模式求关系模式R的关键码;的关键码; (4)求属性集)求属性集X的闭包的闭包X+ ;求左部是;求左部是X的的FD; (5)判断)判断R分解成分解成 是否无损分解;是否保持是否无损分解;是否保持FD集;集; (6)判断关系模式)判断关系模式R是否是否2NF、3NF 、BCNF模式;模式; 若不是,把若不是,把R分解成分解成 2NF 、3NF 、BCNF模式集。模式集。 第3页
4、/共60页 5.55.5 设关系模式设关系模式R(ABCD),如果规定如果规定,关系中关系中B值与值与D值之间是一值之间是一 对多联系对多联系,A值与值与C 值之间是一对一联系。试写出相应的函数依赖。值之间是一对一联系。试写出相应的函数依赖。 解:从解:从B值与值与D值之间有一对多联系,可写出函数依赖:值之间有一对多联系,可写出函数依赖: DB 从从A值与值与C值之间是一对一联系值之间是一对一联系,可写出函数依赖:可写出函数依赖: AC 和和 CA 第4页/共60页 5.7 5.7 设关系模式设关系模式R(ABCD),),F是是R上成立的上成立的FD集,集, F= AB,CB ,则相对于,则相
5、对于F,试写出关系模式,试写出关系模式R的关键码。的关键码。 并说明理由。并说明理由。 解:解:R的关键码为的关键码为ACD。 因为从已知的因为从已知的F,只能推出,只能推出ACDABCD。 (ACD)+=ABCD 第5页/共60页 5.8 5.8 设关系模式设关系模式R R(ABCDABCD),),F F是是R R上成立的上成立的FDFD集,集, F=F=ABAB,BCBC, 试写出属性集试写出属性集BDBD的闭包的闭包(BD)(BD)+ +。 试写出所有左部是试写出所有左部是B B的函数依赖(即形为的函数依赖(即形为“BB?”)。)。 解:解:从已知的从已知的F F,可推出,可推出BDBC
6、DBDBCD,所以,所以(BD)(BD)+=BCD。 由于由于B B+=BC,因此左部是,因此左部是B B的的FDFD有四个:有四个: B,BBBB,BCBC,BBCBBC。 第6页/共60页 5.11 5.11 设关系模式设关系模式R(ABC),),F是是R上成立的上成立的FD集,集, F= AC,BC ,试分别求,试分别求F在模式在模式AB和和AC上的投影。上的投影。 答:答:AB(F)=(即不存在非平凡的(即不存在非平凡的FD) AC(F)= AC 第7页/共60页 5.14 设关系模式设关系模式R(ABCD),),F是是R上成立的上成立的FD集,集, F= AB,BC,AD,DC ,=
7、 AB,AC,BD 是是R的一个分解。相对于的一个分解。相对于F,是无损分解吗?为什么?是无损分解吗?为什么? 试求试求F在在的每个模式上的投影。的每个模式上的投影。保持保持F吗?为什么?吗?为什么? 答:答: 通过测试过程通过测试过程(表格法表格法:略略)可以知道,可以知道,相对于相对于F是损失分解。是损失分解。 AB(F)= AB ,AC(F)= AC ,BD(F)=。 显然,分解显然,分解不保持不保持FD集集F,丢失了,丢失了: BC、AD和和DC等三个等三个FD。 第8页/共60页 5 518 18 设有一个设有一个记录各个球队队员每场比赛进球数记录各个球队队员每场比赛进球数的关系模式
8、的关系模式 R(队员编号,比赛场次,进球数,球队名,队长名)(队员编号,比赛场次,进球数,球队名,队长名) 如果如果规定每个队员只能属于一个球队,每个球队只有一个队长规定每个队员只能属于一个球队,每个球队只有一个队长。 试写出关系模式试写出关系模式R的基本的基本FD和关键码。和关键码。 说明说明R不是不是2NF模式的理由,并把模式的理由,并把R分解成分解成2NF模式集。模式集。 进而把进而把R分解成分解成3NF模式集,并说明理由。模式集,并说明理由。 第9页/共60页 解:解: 根据每个队员只能属于一个球队,根据每个队员只能属于一个球队, 可写出可写出FD: 队员编号队员编号球队名球队名 根据
9、每个球队只有一个队长,可写出根据每个球队只有一个队长,可写出FD: 球队名球队名队长名队长名 “每个队员每场比赛只有一个进球数每个队员每场比赛只有一个进球数”,这条规则也是,这条规则也是 成成 立的。因此还可写出立的。因此还可写出FD: (队员编号,比赛场次)(队员编号,比赛场次)进球数进球数 R的关键码为的关键码为 (队员编号,比赛场次)(队员编号,比赛场次)。 第10页/共60页 R中存在这样的中存在这样的FD: (队员编号,比赛场次)(队员编号,比赛场次)(球队名,队长名)(球队名,队长名) 队员编号队员编号 (球队名,队长名)(球队名,队长名) 由于前一个由于前一个FD是局部依赖,所以
10、是局部依赖,所以R不是不是2NF模式。模式。 R应分解成应分解成: R1(队员编号队员编号,球队名,队长名),球队名,队长名) R2(比赛场次,队员编号比赛场次,队员编号,进,进 球数)球数) 此时,此时,R1和和R2都是都是2NF模式。模式。 第11页/共60页 (3)R2(比赛场次,队员编号比赛场次,队员编号,进球数)已是,进球数)已是3NF模式。模式。 但在但在R1(队员编号队员编号,球队名,队长名)中,存在两个,球队名,队长名)中,存在两个FD: 队员编号队员编号 球队名球队名 球队名球队名 队长名队长名 关键码为队员编号,存在传递依赖,因此关键码为队员编号,存在传递依赖,因此R1不是
11、不是3NF模式。模式。 R1应分解成:应分解成: R11(队员编号队员编号,球队名),球队名) R12(球队名球队名,队长名),队长名) 这样,这样,=R11, R12, R2,其中每个模式均是,其中每个模式均是3NF模式集。模式集。 第12页/共60页 BCNF模式模式定义:定义: 如果关系模式如果关系模式 R 1NF,并且,并且R中每个属性都中每个属性都 不传递依赖于不传递依赖于R的候选键的候选键,那么称那么称R是是BCNF的模式。的模式。 由由BCNFBCNF的定义得出如下结论:的定义得出如下结论: 1、非主属性对码完全函数依赖;、非主属性对码完全函数依赖; 2、主属性对不包含它的码也是
12、完全函数依赖;主属性对不包含它的码也是完全函数依赖; 3、没有属性完全依赖非码的任何属性组。、没有属性完全依赖非码的任何属性组。 如果数据库模式中每个关系模式都是如果数据库模式中每个关系模式都是BCNF, 称其为称其为BCNF的数据库模式。的数据库模式。 第13页/共60页 例如:关系模式例如:关系模式 R(C, S, Z) 其中其中 C:城市名称:城市名称 S :街道名称:街道名称 Z : 邮政编码邮政编码 假定:假定:F= CS Z, Z C CS Z: 表示地址表示地址(城市和街道城市和街道)决定决定邮政编码邮政编码; Z Z C: C:表示表示邮政编码邮政编码决定决定城市名称城市名称。
13、 R的候选码为:的候选码为: CS 和和 SZ。 第14页/共60页 R(C, S, Z)的候选码为:的候选码为:CS 和和 SZ。 由于由于F中存在中存在 Z C: 主属性主属性C对不包含它的码对不包含它的码SZ不是完全函数依赖,不是完全函数依赖, 所以所以R(C, S, Z)不是不是BCNF模式,但模式,但R(C, S, Z)是是3NF 由于关系由于关系R没有非主属性没有非主属性,也就不要考虑:也就不要考虑:非主属性对码的传递非主属性对码的传递或部分函数依赖或部分函数依赖问题。问题。 如果把如果把R(C, S, Z)分解为分解为: R1(S,Z) R2(Z, C) 能解决冗余问题,而且能解
14、决冗余问题,而且R1,R2都是都是BCNF模式集。模式集。 但丢失了但丢失了CSZ,数据语义将会引起新的矛盾。,数据语义将会引起新的矛盾。 第15页/共60页 第第7章章 数据库设计数据库设计 一、本章重要概念一、本章重要概念 (1)DBS生存期及其生存期及其7个阶段的任务和工作,个阶段的任务和工作,DBD过程的输入过程的输入 和输出。和输出。 (2)需求分析的步骤、数据流图,数据字典的内容和作用。)需求分析的步骤、数据流图,数据字典的内容和作用。 (3)概念设计的重要性、主要步骤。逻辑设计阶段的主要步骤。)概念设计的重要性、主要步骤。逻辑设计阶段的主要步骤。 (4)ER模型的基本元素,属性的
15、分类,联系的元数、连通词、模型的基本元素,属性的分类,联系的元数、连通词、 基数。采用基数。采用ER方法的概念设计步骤。方法的概念设计步骤。 (5)ER模型到关系模型的转换规则。采用模型到关系模型的转换规则。采用ER方法的逻辑设计方法的逻辑设计 步骤。步骤。 (6)ER模型的扩充:弱实体,超类和子类。模型的扩充:弱实体,超类和子类。 (7)规范化理论对数据库设计的指导意义。)规范化理论对数据库设计的指导意义。 第16页/共60页 总体总体需求需求 处理需求处理需求 DBMS特征特征 硬件和硬件和 OS特征特征 输入:输入: 数据库设计步骤数据库设计步骤:工作工作: 系统可行性研究系统可行性研究
16、,专家论证;编专家论证;编 写写可行性分析报告可行性分析报告,领导审批,领导审批 收集用户需求;编写收集用户需求;编写需求分析报告需求分析报告 (数据流图数据流图DFD和和数据字典数据字典DD) 设计概念模型(设计概念模型(ER模型模型) 把把ER模型转换成模型转换成关系模型关系模型 设计设计DB物理结构(存储结构物理结构(存储结构 和存储方法)和存储方法) 输出:输出:完整的完整的DB结构结构, 应用程序的设计准则。应用程序的设计准则。 第17页/共60页 二、本章的重点篇幅二、本章的重点篇幅 (1)教材中)教材中P163-165的转换规则和实例。的转换规则和实例。 (2)教材中)教材中P1
17、59-160的的ER模型实例。模型实例。 三、要求掌握三、要求掌握 (1)基本概念、定义、方法;)基本概念、定义、方法; (2)根据用户的需求,进行)根据用户的需求,进行ER模型设计;模型设计; (3)根据转换规则,将)根据转换规则,将ER模型转换为关系模型。模型转换为关系模型。 第18页/共60页 规范化理论是数据库设计的指南和工具,具体地讲可在以下规范化理论是数据库设计的指南和工具,具体地讲可在以下 三个方面起重要作用三个方面起重要作用: 1. 在数据库需求分析阶在数据库需求分析阶段段用函数依赖的概念来分析和表示各数用函数依赖的概念来分析和表示各数 据项之间的联系据项之间的联系; 2. 在
18、概念设计阶段在概念设计阶段,用规范化理论消除初步用规范化理论消除初步ER图中冗余的联系图中冗余的联系; 3. 在在ER图向关系模型转换过程中图向关系模型转换过程中,用模式分解的概念和算法指用模式分解的概念和算法指 导逻辑设计。导逻辑设计。 第19页/共60页 第第8章章 数据库管理数据库管理 一、本章重要概念一、本章重要概念 (1)事务的定义,)事务的定义,COMMIT和和ROLLBACK的语义,的语义, 事务的事务的ACID性质,事务的状态变迁图。性质,事务的状态变迁图。 (2)存储器类型,稳定存储器的实现,数据传送过程。)存储器类型,稳定存储器的实现,数据传送过程。 (3)恢复的定义、基本
19、原则和实现方法,故障的类型,)恢复的定义、基本原则和实现方法,故障的类型, 检查点机制,检查点机制,REDO和和UNDO操作,运行记录优先原则。操作,运行记录优先原则。 (4)并发操作带来的三个问题,)并发操作带来的三个问题,X锁、锁、PX协议、协议、PXC协议,协议, S锁、锁、PS协议、协议、PSC协议,活锁、饿死和死锁,并发调协议,活锁、饿死和死锁,并发调 度,串行调度,并发调度的可串行化,两段封锁法,度,串行调度,并发调度的可串行化,两段封锁法,SQL 中中 事务的存取模式和隔离级别。事务的存取模式和隔离级别。 (5)完整性的定义,完整性子系统的功能,完整性规则的组)完整性的定义,完整
20、性子系统的功能,完整性规则的组 成。成。SQL中的三大类完整性约束,中的三大类完整性约束,SQL3中的触发器技术。中的触发器技术。 (6)安全性的定义、级别,权限,)安全性的定义、级别,权限,SQL中的安全性机制(视中的安全性机制(视 图、图、SQL用户权限及操作用户权限及操作)第20页/共60页 二、本章的重点篇幅二、本章的重点篇幅 (1)检查点机制的方法和恢复算法。(教材中)检查点机制的方法和恢复算法。(教材中P.175-176) (2)并发操作带来的三个问题,封锁带来的三个问题,并发)并发操作带来的三个问题,封锁带来的三个问题,并发 调度的可串行化。调度的可串行化。 (教材(教材P.17
21、7-179) (3)SQL中完整性约束的实现,断言、触发器中完整性约束的实现,断言、触发器(SQL3)。 (教材(教材P.185-191) SQL Server 触发器的使用触发器的使用 (教材(教材P.298-300) (4)安全性中的授权语句、回收语句(教材)安全性中的授权语句、回收语句(教材P.193、194)。)。 第21页/共60页 三、要求掌握三、要求掌握 (1 1)恢复、并发控制、完整性和安全性的基本概念、定)恢复、并发控制、完整性和安全性的基本概念、定 义义 和方法;和方法; (2 2)采用检测点技术进行数据恢复的分析方法;)采用检测点技术进行数据恢复的分析方法; (3 3)并
22、发调度的可串行化(包括事务的调度、串行调度)并发调度的可串行化(包括事务的调度、串行调度 、 并发调度)分析方法;并发调度)分析方法; (4 4)根据用户的需求,能用多种方法定义完整性约束;)根据用户的需求,能用多种方法定义完整性约束; (5 5)授权和回收语句的使用。)授权和回收语句的使用。 第22页/共60页 问问 题:题: (1) (1) 事务的事务的COMMIT语句和语句和ROLLBACK语句各做什么事情?语句各做什么事情? (2) COMMIT(2) COMMIT操作和检查点时的操作有什么联系?操作和检查点时的操作有什么联系? (3) (3) 应该如何恰当协调这两种操作才有利于应该如
23、何恰当协调这两种操作才有利于DBDB的恢复的恢复? 第23页/共60页 (1) (1) 事务的事务的COMMITCOMMIT语句和语句和ROLLBACKROLLBACK语句各做什么事情?语句各做什么事情? 答:答:COMMITCOMMIT语句表示事务执行成功地结束(提交),此时告诉系语句表示事务执行成功地结束(提交),此时告诉系 统,统,DBDB要进入一个新的正确状态,该事务对要进入一个新的正确状态,该事务对DBDB的所有更新都已的所有更新都已 交付实施(写入磁盘)。交付实施(写入磁盘)。 ROLLBACKROLLBACK语句表示事务执行不成功地结束(应该语句表示事务执行不成功地结束(应该“回
24、退回退”),), 此此 时告诉系统,已发生错误,时告诉系统,已发生错误,DBDB可能处在不正确的状态,该事务可能处在不正确的状态,该事务 对对DBDB的所有更新必须被撤消,的所有更新必须被撤消,DBDB应恢复该事务到初始状态。应恢复该事务到初始状态。 第24页/共60页 (2) COMMIT (2) COMMIT操作和检查点时的操作有什么联系?操作和检查点时的操作有什么联系? 在在 C O M M I T 和 检 查 点 技 术 联 合 使 用 时 ,和 检 查 点 技 术 联 合 使 用 时 , COMMIT操作就不一定保证事务对操作就不一定保证事务对DB的修改写到磁的修改写到磁 盘盘,而要
25、到检查点时刻才保证写磁盘。在系统恢复,而要到检查点时刻才保证写磁盘。在系统恢复时时 ,那些已经执行了,那些已经执行了COMMIT操作但修改仍留在内存操作但修改仍留在内存缓缓 冲区的事务需要做恢复工作,利用日志重做冲区的事务需要做恢复工作,利用日志重做(REDO )事务对)事务对DB的修改。的修改。 第25页/共60页 (3) 应该如何恰当协调这两种操作才有利于应该如何恰当协调这两种操作才有利于DBDB的恢复的恢复 ? 在事务执行时,应在日志中记下事务的开始标记在事务执行时,应在日志中记下事务的开始标记 、结束标志以及事务对、结束标志以及事务对DB的每一个修改。在系统恢复的每一个修改。在系统恢复
26、 时,要在日志中检查故障点与最近一个检查点之间,时,要在日志中检查故障点与最近一个检查点之间, 哪些事务执行了哪些事务执行了COMMIT操作(这些事务应重做),操作(这些事务应重做), 哪些事务还未结束(这些事务应撤销)。哪些事务还未结束(这些事务应撤销)。 第26页/共60页 问问 题:题: DB的并发控制与恢复有什么关系?的并发控制与恢复有什么关系? 如果采用封锁机制,事务并发操作时有可能产生死锁如果采用封锁机制,事务并发操作时有可能产生死锁 。 为解除死锁状态,要抽取某个事务作牺牲品,为解除死锁状态,要抽取某个事务作牺牲品, 把它撤消掉,做回退操作,这就属于把它撤消掉,做回退操作,这就属
27、于DB的恢复范畴。的恢复范畴。 第27页/共60页 8.19 设教学数据库的关系如下:设教学数据库的关系如下: S(SNO,SNAME,AGE,SEX) SC(SNO,CNO,GRADE) C(CNO,CNAME,TEACHER) 试用多种方法定义下列完整性约束:试用多种方法定义下列完整性约束: 在关系在关系S中插入的学生年龄值应在中插入的学生年龄值应在1625岁之间。岁之间。 在关系在关系SC中插入元组时,其中插入元组时,其SNO值和值和CNO值必须分别在值必须分别在S和和C中出现。中出现。 在关系在关系C中删除一个元组时,首先要把关系中删除一个元组时,首先要把关系SC中具有同样中具有同样C
28、NO值的元组值的元组 全部删去。全部删去。 在关系在关系S中把某个中把某个SNO值修改为新值时,必须同时把关系值修改为新值时,必须同时把关系SC中那些同样中那些同样 的的SNO值也修改为新值。值也修改为新值。 第28页/共60页 解:这里每个约束用一种方式定义。解:这里每个约束用一种方式定义。 (1)用检查子句定义:)用检查子句定义: CHECK(AGE BETWEEN 16 AND 25);); (2)在关系)在关系SC的定义中,用外键子句定义:的定义中,用外键子句定义: FOREIGN KEY(SNO) REFERENCES S(SNO);); FOREIGN KEY(CNO) REFER
29、ENCES C(CNO);); (3)在关系)在关系SC的定义中,用外键子句定义:的定义中,用外键子句定义: FOREIGN KEY(CNO) REFERENCES C(CNO) ON DELETE CASCADE; (4)在关系)在关系SC的定义中,用外键子句定义:的定义中,用外键子句定义: FOREIGN KEY(SNO) REFERENCES S(SNO) ON UPDATE CASCADE; 第29页/共60页 8.20 在教学数据库中的关系在教学数据库中的关系S、SC、C中,试用中,试用SQL的断言的断言 机制定义下列两个完整性约束:机制定义下列两个完整性约束: 每位教师开设的课程不
30、能超过每位教师开设的课程不能超过10门。门。 (2)不允许男同学选修不允许男同学选修WU老师的课程。老师的课程。 (3)每门课程最多每门课程最多50名男同学选修名男同学选修 (4)学生必须在选修学生必须在选修Maths课后,才能选修其他课程。课后,才能选修其他课程。 (5)每个男学生最多选修每个男学生最多选修20门课程。门课程。 第30页/共60页 解:解: 每位教师开设的课程不能超过每位教师开设的课程不能超过10门。门。 CREATE ASSERTION ASSE5 CHECK (10=ALL(SELECT COUNT(CNO) FROM C GROUP BY TNAME) 第31页/共60
31、页 (2)不允许不允许男同学男同学选修选修WU老师的课程。老师的课程。 CREATE ASSERTION ASSE2 CHECK (NOT EXISTS ( SELECT * FROM SC WHERE CNO IN (SELECT CNO FROM C WHERE TNAME=WU) AND SNO IN (SELECT SNO FROM S WHERE SEX=男男); 第32页/共60页 (3)每门课程每门课程最多最多50名名男同学选修男同学选修. CREATE ASSERTION ASSE3 CHECK (50=ALL(SELECT COUNT(SC.SNO) FROM S, SC W
32、HERE S.SNO=SC.SNO AND SEX= 男男 GROUP BY CNO); 第33页/共60页 这样就能很容易地写出断言:这样就能很容易地写出断言: CREATE ASSERTION ASSE4 CHECK (NOT EXISTS( SELECT SNO FROM SC X WHERE NOT EXISTS (SELECT * FROM SC Y, C WHERE Y.CNO=C.CNO AND Y.SNO=X.SNO AND CNAME= Maths); (4) 学生必须在选修学生必须在选修Maths课后,才能选修其他课程。课后,才能选修其他课程。 这个约束可用下列形式表达:这
33、个约束可用下列形式表达: “不存在一个学生的选课,不存在一个学生的选课,这个学生这个学生没学过没学过Maths课课”。 第34页/共60页 (5)每个男学生每个男学生最多选修最多选修20门门课程。课程。 CREATE ASSERTION ASSE5 CHECK (20=ALL(SELECT COUNT(CNO) FROM S, SC WHERE S.SNO=SC.SNO AND SEX= 男男 GROUP BY S.SNO); 第35页/共60页 触发器触发器(SQL3): (教材(教材P.185-191) SQL Server 触发器的使用触发器的使用: 1 、教材举例、教材举例 (教材(教
34、材P.298-300) 2、实验要求:、实验要求: (教材(教材P.304) 第36页/共60页 第37页/共60页 第38页/共60页 分布式系统分布式系统 :通过通信网络相连接的结点(场地)集合通过通信网络相连接的结点(场地)集合 ,每个结点都拥有集中式数据库的计算机系统。,每个结点都拥有集中式数据库的计算机系统。 场地场地1 1: 场地场地2 2: 通 信 网 络 DB2 计算机2 T1 T2 T3 DB1 计算机1 T1 T2 T3 DB3 计算机3 T1 T2 T3 场地场地1 1 场地场地3 3 场地场地2 2 第39页/共60页 局部内部级局部内部级 局部概念级局部概念级 集中式
35、数据库原有部分集中式数据库原有部分 局部概念模式 局部内模式 局部概念模式局部概念模式 局部内模式局部内模式 局部 数据库 局部 数据库 局部 数据库 映象映象5 全局外部级全局外部级 全局概念级全局概念级 分片级分片级 分配级分配级 映象映象4 全局外模式 全局外模式 全局概念模式 分片模式 分片模式分片模式 分配 模式 分配 模式 分配 模式 映象映象1 映象映象2 映象映象3 分布式数据库增加部分分布式数据库增加部分 第40页/共60页 例例:全局关系全局关系R R的分片与分配情况:的分片与分配情况:R R划分成四个逻辑片段:划分成四个逻辑片段:R1,R2,R3,R4,R1,R2,R3,
36、R4,并以并以 冗余方式将这些片段分配到网络的三个场地上生成了三个物理映象:冗余方式将这些片段分配到网络的三个场地上生成了三个物理映象:S1,S2,S3S1,S2,S3 。 R1 R2 R3 R4 R R11 R21 S1(场地(场地1) R12 R22 S2(场地(场地2) R23 R33 R43 S3(场地(场地3) 全局关系全局关系 逻辑片段逻辑片段 物理映象物理映象 第41页/共60页 全局外模式全局外模式 全局概念模式全局概念模式 分片模式分片模式 分配模式分配模式 局部概念模式局部概念模式 局部内模式局部内模式 映象映象1: (逻辑数据独立性)(逻辑数据独立性) 映象映象2: 分片
37、透明性分片透明性 映象映象3: 位置透明性位置透明性 映象映象4: 局部数据模型透明性局部数据模型透明性 映象映象5: (物理数据独立性)(物理数据独立性) 用户用户( (全局应用全局应用) ) 数据库数据库 分布式分布式DBDB 增 加 的 结增 加 的 结 构构 集中式集中式DBDB 原有的结构原有的结构 分分 布布 透透 明明 性性 DDBDDB中的映象和数据独立性中的映象和数据独立性: : 第42页/共60页 第第10章章 对象数据库系统对象数据库系统 一、本章重要概念一、本章重要概念 (1)新一代)新一代DBS的两条途径:的两条途径:ORDBS和和OODBS。 (2)平面关系模型,嵌
38、套关系模型,复合对象模型,引用类型)平面关系模型,嵌套关系模型,复合对象模型,引用类型 , 对象联系图的成分及表示方法,数据的泛化对象联系图的成分及表示方法,数据的泛化/细化,继承性细化,继承性 。 (3)OO的数据类型系统的数据类型系统:基本类型,五种复合类型,引用类型基本类型,五种复合类型,引用类型 。 (4)对象关系模型的定义,两个级别的继承性,引用类型的定)对象关系模型的定义,两个级别的继承性,引用类型的定 义,义,ORDB的查询语言,路径表达式,嵌套与解除嵌套。的查询语言,路径表达式,嵌套与解除嵌套。 第43页/共60页 二、本章的重点篇幅:二、本章的重点篇幅: (1)对象联系图,带
39、泛化边的对象联系图)对象联系图,带泛化边的对象联系图。 (教材(教材P.219的图的图10.4,图,图10.5) (2)OO的类型系统。的类型系统。 (教材(教材P.220221) (3)ORDB的定义语言的定义语言。(教材教材P.222-226的例的例10.5例例10.8) (4)ORDB的查询语言的查询语言。(教材教材P.226-228的例的例10.9例例10.17) 第44页/共60页 三、要求掌握三、要求掌握 (1)基本概念、定义和方法;)基本概念、定义和方法; (2)根据用户的需求)根据用户的需求, 设计对象联系图;设计对象联系图; (3)根据已知的对象联系图)根据已知的对象联系图,
40、 用用ORDB定义语言定义语言,设计数据库;设计数据库; (4)用)用ORDB的查询语言的查询语言, 表达用户的需求;表达用户的需求; (5)根据已知的)根据已知的ORDB定义定义, 画对象联系图。画对象联系图。 第45页/共60页 10.6 10.6 图图10.110.1是有关教师(是有关教师(FacultyFaculty)、系()、系(DepartmentDepartment)和系主)和系主 任(任(DirectorDirector)信息的对象联系图。)信息的对象联系图。 (1 1)试用)试用ORDBORDB的定义语言,定义这个数据库。的定义语言,定义这个数据库。 (2 2)试用)试用OR
41、DBORDB的查询语言,分别写出下列查询的的查询语言,分别写出下列查询的SELECTSELECT语句:语句: 检索精通俄语(检索精通俄语(RussianRussian)的教师工号和姓名。)的教师工号和姓名。 检索复旦大学出访过瑞士(检索复旦大学出访过瑞士(SwitzerlandSwitzerland)并且精通日语)并且精通日语 (JapaneseJapanese)的系主任。)的系主任。 第46页/共60页 (大学名)(大学名) universityuniversity (系名)(系名) dnamedname works_forworks_for staffstaff diredire Dno(
42、Dno(系主任编号系主任编号) ) countriescountries (出访过的国家)(出访过的国家) Languages Languages (精通的外语)(精通的外语) fanemfanem(姓名)(姓名) fnofno(工号)(工号) DirectorDirector DepartmentDepartment FacultyFaculty 第47页/共60页 解:(解:(1)试用试用ORDBORDB的定义语言,定义这个数据库的定义语言,定义这个数据库: : CREATE TYPE MyString char varying; CREATE TABLE department(unive
43、rsity MyString, dname MyString, staff setof(ref(faculty), dire ref(director); CREATE TABLE faculty(fno integer, fname MyString, languages setof(MyString), countries setof(MyString), works_for ref(department); CREATE TABLE director(dno integer) Under faculty; 第48页/共60页 (2 2)试用)试用ORDBORDB的查询语言,分别写出下列查
44、询的的查询语言,分别写出下列查询的SELECTSELECT语句:语句: 检索精通俄语(检索精通俄语(RussianRussian)的教师工号和姓名。)的教师工号和姓名。 SELECT fno, fname FROM faculty WHERE Russian in languages; 检索复旦大学出访过瑞士(检索复旦大学出访过瑞士(SwitzerlandSwitzerland)并且精通日语)并且精通日语 (JapaneseJapanese)的系主任。)的系主任。 SELECT D.dno, D.fname FROM director as D WHERE D.works_for.univer
45、sity=Fudan University AND Switzerland in D.countries AND Japanese in D.languages; 第49页/共60页 10.8 10.8 下图是有关学生(下图是有关学生(studentstudent)和学习()和学习(studystudy)信息的对象联系图。)信息的对象联系图。 (1 1)试解释这个对象联系图。)试解释这个对象联系图。 (2 2)试用)试用ORDBORDB的定义语言,定义这个数据库。的定义语言,定义这个数据库。 (3 3)试用)试用ORDBORDB的查询语言,分别写出下列查询的的查询语言,分别写出下列查询的SEL
46、ECTSELECT语句:语句: 检索每个学生的学习课程和成绩。检索每个学生的学习课程和成绩。 检索至少有一门课程的求学地与籍贯在同一城市的学生学号和姓名。检索至少有一门课程的求学地与籍贯在同一城市的学生学号和姓名。 studystudystudentstudent (课程名)(课程名) coursenamecoursename (成绩)(成绩)gradegrade (求学地)(求学地)citycity (大学)(大学)universityuniversity studiesstudies studentstudent citycity(籍贯)(籍贯) snamesname(姓名)(姓名) sn
47、osno(身份证号)(身份证号) 第50页/共60页 解:(解:(1 1)试解释这个对象联系图试解释这个对象联系图: : * 对象对象studentstudent包含:包含: 身份证号、姓名、籍贯和学习(身份证号、姓名、籍贯和学习(studiesstudies)等属性)等属性; * 对象对象studystudy包含:包含: 课程名、成绩、求学地、大学以及学生(课程名、成绩、求学地、大学以及学生(studentstudent)等属性。)等属性。 * 对象对象studentstudent和和studystudy之间的联系为之间的联系为1:N1:N。 第51页/共60页 (2 2)试用试用ORDBO
48、RDB的定义语言,定义这个数据库的定义语言,定义这个数据库 CREATE TYPE MyString char varying;CREATE TYPE MyString char varying; CREATE TABLE student(sno integer,CREATE TABLE student(sno integer, sname MyString, sname MyString, city MyString, city MyString, studies setoff(ref(study); studies setoff(ref(study); CREATE TABLE study
49、(coursename MyString, CREATE TABLE study(coursename MyString, grade integer, grade integer, city MyString, city MyString, university MyString, university MyString, student ref(student); student ref(student); 第52页/共60页 (3 3)试用)试用ORDBORDB的查询语言,分别写出下列查询:的查询语言,分别写出下列查询: 检索每个学生的学习课程和成绩。检索每个学生的学习课程和成绩。 SELECT A.sname, B.coursename, B.gradeSELECT A.sname, B.coursename, B.grade FROM student as A, A.studies as B; FROM student as A, A.studies as B; 检索至少有一门课程的求学地与籍贯在同一城市的检索至少有一门课程的求学地与籍贯在同一城市的 学生学号和姓名。学生学号和姓名。 SELECT A.sno, A.snameSELECT A.sno
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 市场监督管理局廉政风险点排查及防控措施
- 2025年全球及中国肺癌机器人放射治疗行业头部企业市场占有率及排名调研报告
- 2025-2030全球电梯渐进式安全装置行业调研及趋势分析报告
- 网络安全与家庭信息保护文稿
- 玉溪2025年云南玉溪新平县总医院第一批编外人员招聘8人笔试历年参考题库附带答案详解
- 湖南2024年湖南省林业局直属事业单位招聘笔试历年参考题库附带答案详解
- 2025版个人独资企业股权转让合同范本与反垄断审查要求
- 武汉2025年湖北武汉理工大学管理人员招聘笔试历年参考题库附带答案详解
- 杭州2025年浙江杭州市临安区湍口镇人民政府招聘编外聘用人员笔试历年参考题库附带答案详解
- 文山云南文山砚山县八嘎乡人民政府招聘城乡社区服务岗位人员笔试历年参考题库附带答案详解
- 城市基础设施修缮工程的重点与应对措施
- 图像识别领域自适应技术-洞察分析
- 个体户店铺租赁合同
- 礼盒业务销售方案
- 术后肺炎预防和控制专家共识解读课件
- 二十届三中全会精神学习试题及答案(100题)
- 中石化高级职称英语考试
- 小学五年级英语阅读理解(带答案)
- 2024二十届三中全会知识竞赛题库及答案
- 仁爱版初中英语单词(按字母顺序排版)
- (正式版)YS∕T 5040-2024 有色金属矿山工程项目可行性研究报告编制标准
评论
0/150
提交评论