




已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理二数据库原理二课程课程 复习、习题分析复习、习题分析 董 健 全 * 第5章 规范化设计 一、本章重要概念 (1)关系模式的冗余和异常问题。 (2)FD的定义、逻辑蕴涵、闭包、推理规则、与关键码的联 系; 平凡的FD;属性集的闭包;推理规则的正确性和完备 性;FD集的等价;最小依赖集。 (3)无损分解的定义、性质、测试;保持依赖集的分解。 (4)关系模式的范式:1NF,2NF,3NF,BCNF。分解成 2NF、3NF模式集的算法。 (5)MVD、4NF、JD和5NF的定义。 二、本章的重点篇幅 (1)教材中P107-112的例5.2例5.9。 (基本概念的例子)。 (2)教材中P113-115的例5.105.12。 (无损联接和保持FD的例子)。 (3)教材中P116-119的例5.13例5.16。 (分解成2NF、3NF、BCNF的例子)。 三、要求掌握 (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模式集。 5.5 设关系模式R(ABCD),如果规定,关系中B值与D值之间是一 对多联系,A值与C 值之间是一对一联系。试写出相应的函数依赖。 解:从B值与D值之间有一对多联系,可写出函数依赖: DB 从A值与C值之间是一对一联系,可写出函数依赖: AC 和 CA 5.7 设关系模式R(ABCD),F是R上成立的FD集, F= AB,CB ,则相对于F,试写出关系模式R的关键码。 并说明理由。 解:R的关键码为ACD。 因为从已知的F,只能推出ACDABCD。 (ACD)+=ABCD 5.8 设关系模式R(ABCD),F是R上成立的FD集, F=AB,BC, 试写出属性集BD的闭包(BD)+。 试写出所有左部是B的函数依赖(即形为“B?”)。 解:从已知的F,可推出BDBCD,所以(BD)+=BCD。 由于B+=BC,因此左部是B的FD有四个: B,BB,BC,BBC。 5.11 设关系模式R(ABC),F是R上成立的FD集, F= AC,BC ,试分别求F在模式AB和AC上的投影。 答:AB(F)=(即不存在非平凡的FD) AC(F)= AC 5.14 设关系模式R(ABCD),F是R上成立的FD集, F= AB,BC,AD,DC ,= AB,AC,BD 是R的一个分解。相对于F,是无损分解吗?为什么? 试求F在的每个模式上的投影。保持F吗?为什么? 答: 通过测试过程(表格法:略)可以知道,相对于F是损失分解。 AB(F)= AB ,AC(F)= AC ,BD(F)=。 显然,分解不保持FD集F,丢失了: BC、AD和DC等三个FD。 518 设有一个记录各个球队队员每场比赛进球数的关系模式 R(队员编号,比赛场次,进球数,球队名,队长名) 如果规定每个队员只能属于一个球队,每个球队只有一个队长。 试写出关系模式R的基本FD和关键码。 说明R不是2NF模式的理由,并把R分解成2NF模式集。 进而把R分解成3NF模式集,并说明理由。 解: 根据每个队员只能属于一个球队, 可写出FD: 队员编号球队名 根据每个球队只有一个队长,可写出FD: 球队名队长名 “每个队员每场比赛只有一个进球数”,这条规则也是成 立的。因此还可写出FD: (队员编号,比赛场次)进球数 R的关键码为 (队员编号,比赛场次)。 R中存在这样的FD: (队员编号,比赛场次)(球队名,队长名) 队员编号 (球队名,队长名) 由于前一个FD是局部依赖,所以R不是2NF模式。 R应分解成: R1(队员编号,球队名,队长名) R2(比赛场次,队员编号,进球数) 此时,R1和R2都是2NF模式。 (3)R2(比赛场次,队员编号,进球数)已是3NF模式。 但在R1(队员编号,球队名,队长名)中,存在两个FD: 队员编号 球队名 球队名 队长名 关键码为队员编号,存在传递依赖,因此R1不是3NF模式。 R1应分解成: R11(队员编号,球队名) R12(球队名,队长名) 这样,=R11, R12, R2,其中每个模式均是3NF模式集。 BCNF模式定义: 如果关系模式 R1NF,并且R中每个属性都 不传递依赖于R的候选键,那么称R是BCNF的模式。 由BCNF的定义得出如下结论: 1、非主属性对码完全函数依赖; 2、主属性对不包含它的码也是完全函数依赖; 3、没有属性完全依赖非码的任何属性组。 如果数据库模式中每个关系模式都是BCNF, 称其为BCNF的数据库模式。 例如:关系模式 R(C, S, Z) 其中 C:城市名称 S :街道名称 Z : 邮政编码 假定:F= CS Z, Z C CS Z: 表示地址(城市和街道)决定邮政编码; Z C:表示邮政编码决定城市名称。 R的候选码为: CS 和 SZ。 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) 能解决冗余问题,而且R1,R2都是BCNF模式集。 但丢失了CSZ,数据语义将会引起新的矛盾。 第7章 数据库设计 一、本章重要概念 (1)DBS生存期及其7个阶段的任务和工作,DBD过程的输入 和输出。 (2)需求分析的步骤、数据流图,数据字典的内容和作用。 (3)概念设计的重要性、主要步骤。逻辑设计阶段的主要步骤。 (4)ER模型的基本元素,属性的分类,联系的元数、连通词、 基数。采用ER方法的概念设计步骤。 (5)ER模型到关系模型的转换规则。采用ER方法的逻辑设计 步骤。 (6)ER模型的扩充:弱实体,超类和子类。 (7)规范化理论对数据库设计的指导意义。 总体需求 处理需求 DBMS特征 硬件和 OS特征 输入: 数据库设计步骤:工作: 规规 划划 需求分析需求分析 概念设计概念设计 逻辑设计逻辑设计 物理设计物理设计 系统可行性研究,专家论证;编 写可行性分析报告,领导审批 收集用户需求;编写需求分析报告 (数据流图DFD和数据字典DD) 设计概念模型(ER模型) 把ER模型转换成关系模型 设计DB物理结构(存储结构 和存储方法) 输出:完整的DB结构, 应用程序的设计准则。 运行和维护运行和维护 二、本章的重点篇幅 (1)教材中P163-165的转换规则和实例。 (2)教材中P159-160的ER模型实例。 三、要求掌握 (1)基本概念、定义、方法; (2)根据用户的需求,进行ER模型设计; (3)根据转换规则,将ER模型转换为关系模型。 规范化理论是数据库设计的指南和工具,具体地讲可在以下 三个方面起重要作用: 1. 在数据库需求分析阶段用函数依赖的概念来分析和表示各数 据项之间的联系; 2. 在概念设计阶段,用规范化理论消除初步ER图中冗余的联系; 3. 在ER图向关系模型转换过程中,用模式分解的概念和算法指 导逻辑设计。 第8章 数据库管理 一、本章重要概念 (1)事务的定义,COMMIT和ROLLBACK的语义, 事务的ACID性质,事务的状态变迁图。 (2)存储器类型,稳定存储器的实现,数据传送过程。 (3)恢复的定义、基本原则和实现方法,故障的类型, 检查点机制,REDO和UNDO操作,运行记录优先原则。 (4)并发操作带来的三个问题,X锁、PX协议、PXC协议, S锁、PS协议、PSC协议,活锁、饿死和死锁,并发调 度,串行调度,并发调度的可串行化,两段封锁法,SQL中 事务的存取模式和隔离级别。 (5)完整性的定义,完整性子系统的功能,完整性规则的组 成。SQL中的三大类完整性约束,SQL3中的触发器技术。 (6)安全性的定义、级别,权限,SQL中的安全性机制(视 图、SQL用户权限及操作) 二、本章的重点篇幅 (1)检查点机制的方法和恢复算法。(教材中P.175-176) (2)并发操作带来的三个问题,封锁带来的三个问题,并发 调度的可串行化。 (教材P.177-179) (3)SQL中完整性约束的实现,断言、触发器(SQL3)。 (教材P.185-191) SQL Server 触发器的使用 (教材P.298-300) (4)安全性中的授权语句、回收语句(教材P.193、194)。 三、要求掌握 (1)恢复、并发控制、完整性和安全性的基本概念、定义 和方法; (2)采用检测点技术进行数据恢复的分析方法; (3)并发调度的可串行化(包括事务的调度、串行调度、 并发调度)分析方法; (4)根据用户的需求,能用多种方法定义完整性约束; (5)授权和回收语句的使用。 问 题: (1) 事务的COMMIT语句和ROLLBACK语句各做什么事情? (2) COMMIT操作和检查点时的操作有什么联系? (3) 应该如何恰当协调这两种操作才有利于DB的恢复? (1) 事务的COMMIT语句和ROLLBACK语句各做什么事情? 答:COMMIT语句表示事务执行成功地结束(提交),此时告诉系 统,DB要进入一个新的正确状态,该事务对DB的所有更新都已 交付实施(写入磁盘)。 ROLLBACK语句表示事务执行不成功地结束(应该“回退”),此 时告诉系统,已发生错误,DB可能处在不正确的状态,该事务 对DB的所有更新必须被撤消,DB应恢复该事务到初始状态。 (2) COMMIT操作和检查点时的操作有什么联系? 在COMMIT和检查点技术联合使用时,COMMIT 操作就不一定保证事务对DB的修改写到磁盘,而要到 检查点时刻才保证写磁盘。在系统恢复时,那些已经 执行了COMMIT操作但修改仍留在内存缓冲区的事务 需要做恢复工作,利用日志重做(REDO)事务对DB 的修改。 (3) 应该如何恰当协调这两种操作才有利于DB的恢复? 在事务执行时,应在日志中记下事务的开始标记、 结束标志以及事务对DB的每一个修改。在系统恢复时 ,要在日志中检查故障点与最近一个检查点之间,哪些 事务执行了COMMIT操作(这些事务应重做),哪些 事务还未结束(这些事务应撤销)。 问 题: DB的并发控制与恢复有什么关系? 如果采用封锁机制,事务并发操作时有可能产生死锁。 为解除死锁状态,要抽取某个事务作牺牲品, 把它撤消掉,做回退操作,这就属于DB的恢复范畴。 8.19 设教学数据库的关系如下: S(SNO,SNAME,AGE,SEX) SC(SNO,CNO,GRADE) C(CNO,CNAME,TEACHER) 试用多种方法定义下列完整性约束: 在关系S中插入的学生年龄值应在1625岁之间。 在关系SC中插入元组时,其SNO值和CNO值必须分别在S和C中出现。 在关系C中删除一个元组时,首先要把关系SC中具有同样CNO值的元组 全部删去。 在关系S中把某个SNO值修改为新值时,必须同时把关系SC中那些同样的 SNO值也修改为新值。 解:这里每个约束用一种方式定义。 (1)用检查子句定义: CHECK(AGE BETWEEN 16 AND 25); (2)在关系SC的定义中,用外键子句定义: FOREIGN KEY(SNO) REFERENCES S(SNO); FOREIGN KEY(CNO) REFERENCES C(CNO); (3)在关系SC的定义中,用外键子句定义: FOREIGN KEY(CNO) REFERENCES C(CNO) ON DELETE CASCADE; (4)在关系SC的定义中,用外键子句定义: FOREIGN KEY(SNO) REFERENCES S(SNO) ON UPDATE CASCADE; 8.20 在教学数据库中的关系S、SC、C中,试用SQL的断言 机制定义下列两个完整性约束: 每位教师开设的课程不能超过10门。 (2)不允许男同学选修WU老师的课程。 (3)每门课程最多50名男同学选修 (4)学生必须在选修Maths课后,才能选修其他课程。 (5)每个男学生最多选修20门课程。 解: 每位教师开设的课程不能超过10门。 CREATE ASSERTION ASSE5 CHECK (10=ALL(SELECT COUNT(CNO) FROM C GROUP BY TNAME) (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=男); (3)每门课程最多50名男同学选修. CREATE ASSERTION ASSE3 CHECK (50=ALL(SELECT COUNT(SC.SNO) FROM S, SC WHERE S.SNO=SC.SNO AND SEX= 男 GROUP BY CNO); 这样就能很容易地写出断言: 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课后,才能选修其他课程。 这个约束可用下列形式表达: “不存在一个学生的选课,这个学生没学过Maths课”。 (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); 触发器(SQL3): (教材P.185-191) SQL Server 触发器的使用: 1 、教材举例 (教材P.298-300) 2、实验要求: (教材P.304) SQL安全性机制: 授权语句、回收语句的使用- 教材P.193: 例8.15 例8.16 第9章 分布式数据库系统 本章重要概念: 分布式数据库DDB、DDBS、DDBMS 的定义; 分布式数据库系统的特点、优缺点和分类; 分布式数据库的数据存储; 分布式数据库的模式结构和特点。 分布式系统 :通过通信网络相连接的结点(场地)集合 ,每个结点都拥有集中式数据库的计算机系统。 场地1: 场地2: 通信网络 DB2 计算机2 T1 T2 T3 DB1 计算机1 T1 T2 T3 DB3 计算机3 T1 T2 T3 场地1 场地3 场地2 局部内部级 局部概念级 集中式数据库原有部分 局部概念模式 局部内模式 局部概念模式局部概念模式 局部内模式局部内模式 局部 数据库 局部 数据库 局部 数据库 映象5 全局外部级 全局概念级 分片级 分配级 映象4 全局外模式 全局外模式 全局概念模式 分片模式 分片模式分片模式 分配 模式 分配 模式 分配 模式 映象1 映象2 映象3 分 布 式 数 据 库 增 加 部 分 例:全局关系R的分片与分配情况:R划分成四个逻辑片段:R1,R2,R3,R4,并以 冗余方式将这些片段分配到网络的三个场地上生成了三个物理映象:S1,S2,S3。 R1 R2 R3 R4 R R11 R21 S1(场地1) R12 R22 S2(场地2) R23 R33 R43 S3(场地3) 全局关系 逻辑片段 物理映象 全局外模式 全局概念模式 分片模式 分配模式 局部概念模式 局部内模式 映象1: (逻辑逻辑 数据独立性) 映象2: 分片透明性 映象3: 位置透明性 映象4: 局部数据模型透明性 映象5: (物理数据独立性) 用户(全局应用) 数据库 分布式DB 增加的结构 集中式DB 原有的结构 分 布 透 明 性 DDB中的映象和数据独立性: 第10章 对象数据库系统 一、本章重要概念 (1)新一代DBS的两条途径:ORDBS和OODBS。 (2)平面关系模型,嵌套关系模型,复合对象模型,引用类型, 对象联系图的成分及表示方法,数据的泛化/细化,继承性。 (3)OO的数据类型系统:基本类型,五种复合类型,引用类型。 (4)对象关系模型的定义,两个级别的继承性,引用类型的定 义,ORDB的查询语言,路径表达式,嵌套与解除嵌套。 二、本章的重点篇幅: (1)对象联系图,带泛化边的对象联系图。 (教材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) 三、要求掌握 (1)基本概念、定义和方法; (2)根据用户的需求, 设计对象联系图; (3)根据已知的对象联系图, 用ORDB定义语言,设计数据库; (4)用ORDB的查询语言, 表达用户的需求; (5)根据已知的ORDB定义, 画对象联系图。 10.6 图10.1是有关教师(Faculty)、系(Department)和系主任 (Director)信息的对象联系图。 (1)试用ORDB的定义语言,定义这个数据库。 (2)试用ORDB的查询语言,分别写出下列查询的SELECT语句: 检索精通俄语(Russian)的教师工号和姓名。 检索复旦大学出访过瑞士(Switzerland)并且精通日语 (Japanese)的系主任。 (大学名) university (系名) dname works_for staff dire Dno(系主任编号) countries (出访过的国家) Languages (精通的外语) fanem(姓名) fno(工号) Director Department Faculty 解:(1)试用ORDB的定义语言,定义这个数据库: CREATE TYPE MyString char varying; CREATE TABLE department(university 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; (2)试用ORDB的查询语言,分别写出下列查询的SELECT语句: 检索精通俄语(Russian)的教师工号和姓名。 SELECT fno, fname FROM faculty WHERE Russian in languages; 检索复旦大学出访过瑞士(Switzerland)并且精通日语 (Japanese)的系主任。 SELECT D.dno, D.fname FROM director as D WHERE D.works_for.university=Fudan University AND Switzerland in D.countries AND Japanese in D.languages; 10.8 下图是有关学生(student)和学习(study)信息的对象联系图。 (1)试解释这个对象联系图。 (2)试用ORDB的定义语言,定义这个数据库。 (3)试用ORDB的查询语言,分别写出下列查询的SELECT语句: 检索每个学生的学习课程和成绩。 检索至少有一门课程的求学地与籍贯在同一城市的学生学号和姓名。 studystudent (课程名) coursename (成绩)grade (求学地)city (大学)university studies student city(籍贯) sname(姓名) sno(身份证号) 解:(1)试解释这个对象联系图: * 对象student包含: 身份证号、姓名、籍贯和学习(studies)等属性; * 对象study包含: 课程名、成绩、求学地、大学以及学生(student)等属性。 * 对象student和study之间的联系为1:N。 (2)试用ORDB的定义语言,定义这个数据库 CREATE TYPE MyString char varying; CREATE TABLE student(sno integer, sname MyString, city MyString, studies setoff(ref(study); CREATE TABLE study(coursename MyString, grade integer, city MyString, university MyString, student ref(student); (3)试用ORDB的查询语言,分别写出下列查询: 检索每个学生的学习课程和成绩。 SELECT A.sname, B.coursename, B.grade FROM student as A, A.studies as B; 检索至少有一门课程的求学地与籍贯在同一城市的 学生学号和姓名。 SELECT A.sno, A.sname FROM student as A, A.student as B WHERE A.city=B.city; 第
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年淮北市法院系统招聘真题
- 2025年陆丰市属事业单位考试试卷
- 2025年潍坊职业学院高层次高技能人才引进(招聘)(10人)考前自测高频考点模拟试题及完整答案详解
- 2025年西北(西安)电能成套设备有限公司招聘(4人)模拟试卷及完整答案详解1套
- 2025江苏泰州市姜堰中医院招聘卫生专业技术人员30人考前自测高频考点模拟试题及答案详解(有一套)
- 2025内蒙古工业大学事业编制人员招聘20人考前自测高频考点模拟试题及完整答案详解
- 2025福建福州大学先进制造学院(晋江市福大科教园区发展中心)招聘高层次人才13人模拟试卷完整答案详解
- 2025年潍坊市寒亭区人民检察院公开招聘工作人员模拟试卷及答案详解(历年真题)
- 2025江苏南通市通州区机关车辆管理中心驾驶员招聘2人模拟试卷及答案详解(考点梳理)
- 2025广西广西民族大学招聘1人(国际合作与交流处外事科工作人员)模拟试卷(含答案详解)
- 2025小学道德与法治开学第一课(思想政治理论教育课)
- 公关经理培训课程
- 异博定治疗方案
- 申请法院司法赔偿申请书
- 锻造操作机安全检查表模版
- 400字作文稿纸可修改模板
- 迪尔凯姆社会学主义的巨擎汇总课件
- 防排烟系统施工安装全程验收记录
- 家庭经济困难学生认定申请表
- 阀门安装及阀门安装施工方案
- YY 9706.240-2021医用电气设备第2-40部分:肌电及诱发反应设备的基本安全和基本性能专用要求
评论
0/150
提交评论