当前位置:文档之家› 数据库原理二复习、习题分析2016

数据库原理二复习、习题分析2016


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)
(2)教材中P159-160的ER模型实例。
三、要求掌握 (1)基本概念、定义、方法; (2)根据用户的需求,进行ER模型设计; (3)根据转换规则,将ER模型转换为关系模型。
第八章
数据库管理
一、本章重要概念 (1)事务的定义,COMMIT和ROLLBACK的语义, 事务的ACID性质,事务的状态变迁图。 (2)存储器类型,稳定存储器的实现,数据传送过程。 (3)恢复的定义、基本原则和实现方法,故障的类型, 检查点机制,REDO和UNDO操作,运行记录优先原则。 (4)并发操作带来的三个问题,X锁、PX协议、PXC协议, S锁、PS协议、PSC协议,活锁、饿死和死锁,并发调 度,串行调度,并发调度的可串行化,两段封锁法,SQL中 事务的存取模式和隔离级别。 (5)完整性的定义,完整性子系统的功能,完整性规则的组 成。SQL中的三大类完整性约束,SQL3中的触发器技术。 (6)安全性的定义、级别,权限,SQL中的安全性机制(视 图、SQL用户权限及操作)
(4)ER模型的基本元素,属性的分类,联系的元数、连通词、
基数。采用ER方法的概念设计步骤。 (5)ER模型到关系模型的转换规则。采用ER方法的逻辑设计 步骤。 (6)ER模型的扩充:弱实体,超类和子类。
(7)规范化理论对数据库设计的指导意义。
数据库设计步骤:


工作:
输入:
总体需求
系统可行性研究 …, 专家论证;编 写可行性分析报告,领导审批
全部删去。
⑷ 在关系S中把某个SNO值修改为新值时,必须同时把关系SC中那些同样
的SNO值也修改为新值。
解:这里每个约束用一种方式定义。
(1)用检查子句定义:
CHECK(AGE BETWEEN 16 AND 25); (2)在关系SC的定义中,用外键子句定义: FOREIGN KEY(SNO) REFERENCES S(SNO);
(4)关系模式的范式:1NF,2NF,3NF,BCNF。分解成
2NF、3NF模式集的算法。
二、本章的重点篇幅 (1)教材中P107-112的例5.2—例5.9。 (基本概念的例子)。 (2)教材中P113-115的例5.10—5.12。 (无损联接和保持FD的例子)。 (3)教材中P116-119的例5.13—例5.16。 (分解成2NF、3NF、BCNF的例子)。
如果规定每个队员只能属于一个球队,每个球队只有一个队长。
① ② 试写出关系模式R的基本FD和关键码。 说明R不是2NF模式的理由,并把R分解成2NF模式集。

进而把R分解成3NF模式集,并说明理由。
解:① 根据每个队员只能属于一个球队, 可写出FD: 队员编号→球队名 根据每个球队只有一个队长,可写出FD:
分布式系统 :通过通信网络相连接的结点(场地)集合, 每个结点都拥有集中式数据库的计算机系统。
DB1 计算机1 □ T1 □ T2 □ T3
8.19 设教学数据库的关系如下:
S(SNO,SNAME,AGE,SEX) SC(SNO,CNO,GRADE) C(CNO,CNAME,TEACHER) 试用多种方法定义下列完整性约束: ⑴ 在关系S中插入的学生年龄值应在16~25岁之间。 ⑵ 在关系SC中插入元组时,其SNO值和CNO值必须分别在S和C中出现。 ⑶ 在关系C中删除一个元组时,首先要把关系SC中具有同样CNO值的元组
(4) 学生必须在选修Maths课后,才能选修其他课程。
这个约束可用下列形式表达:
“不存在一个学生的选课,这个学生没学过Maths课”。
这样就能很容易地写出断言: CREATE ASSERTION ASSE4 CHECK (NOT EXISTS( SELECT SNO FROM SC X WHERE NOT EXISTS
球队名→队长名
“每个队员每场比赛只有一个进球数”,这条规则也是 成 立的。因此还可写出FD:
(队员编号,比赛场次)→进球数
R的关键码为 (队员编号,比赛场次)。
② R中存在这样的FD:
(队员编号,比赛场次)→(球队名,队长名)
队员编号 →(球队名,队长名)
由于前一个FD是局部依赖,所以R不是2NF模式。 R应分解成: R1(队员编号,球队名,队长名)
R12(球队名,队长名)
这样,ρ={R11, R12, R2},其中每个模式均是3NF模式集。
BCNF模式定义: 如果关系模式 R1NF,并且R中每个属性都
不传递依赖于R的候选键,那么称R是BCNF的模式。
如果数据库模式中每个关系模式都是BCNF,
称其为BCNF的数据库模式。
由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模式集。
ON UPDATE CASCADE;
8.20 在教学数据库中的关系S、SC、C中,试用SQL的断言
机制定义下列两个完整性约束:
⑴ 每位教师开设的课程不能超过10门。 (2)不允许男同学选修WU老师的课程。 (3)每门课程最多50名男同学选修 (4)学生必须在选修Maths课后,才能选修其他课程。 (5)每个男学生最多选修20门课程。
需求分析
收集用户需求;编写需求分析报告 (数据流图DFD和数据字典DD)
处理需求
概念设计
设计概念模型(ER模型)
DBMS特征
逻辑设计
把ER模型转换成关系模型
硬件和 OS特征
物理设计
输出:完整的DB结构,
应用程序的设计准则。
设计DB物理结构(存储结构
和存储方法)
运行和维护
二、本章的重点篇幅
(1)教材中P163-165的转换规则和实例。
R2(比赛场次,队员编号,进球数)(比赛场次,队员编号,进球数)已是3NF模式。 但在R1(队员编号,球队名,队长名)中,存在两个FD: 队员编号 → 球队名
球队名 → 队长名
关键码为队员编号,存在传递依赖,因此R1不是3NF模式。
R1应分解成:
R11(队员编号,球队名)
触发器(SQL3):
SQL Server 触发器的使用: 1 、教材举例
(教材P.185-191)
(教材P.298-300)
2、实验要求:
(教材P.304)
SQL安全性机制:
授权语句、回收语句的使用---教材P.193: 例8.15 例8.16
第九章
本章重要概念:
分布式数据库系统
分布式数据库DDB、DDBS、DDBMS 的定义; 分布式数据库系统的特点、优缺点和分类; 分布式数据库的数据存储; 分布式数据库的模式结构和特点。
5.11 设关系模式R(ABC),F是R上成立的FD集, F={ A→C,B→C },试分别求F在模式AB和AC上的投影。 答:πAB(F)=φ(即不存在非平凡的FD) πAC(F)={ A→C }
5.14 设关系模式R(ABCD),F是R上成立的FD集,
F={ A→B,B→C,A→D,D→C },ρ={ AB,AC,BD } 是R的一个分解。相对于F,ρ是无损分解吗?为什么? 试求F在ρ的每个模式上的投影。ρ保持F吗?为什么? 答:
F={ A→B,C→B },则相对于F,试写出关系模式R的关键码。
并说明理由。
解:R的关键码为ACD。 因为从已知的F,只能推出ACD→ABCD。
(ACD)+=ABCD
5.8 设关系模式R(ABCD),F是R上成立的FD集,
F={A→B,B→C},
① 试写出属性集BD的闭包(BD)+。
② 试写出所有左部是B的函数依赖(即形为“B→?”)。 解:①从已知的F,可推出BD→BCD,所以(BD)+=BCD。 ② 由于B+=BC,因此左部是B的FD有四个: B→φ,B→B,B→C,B→BC。
解:⑴ 每位教师开设的课程不能超过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
5.5 设关系模式R(ABCD),如果规定,关系中B值与D值之间是一
对多联系,A值与C 值之间是一对一联系。试写出相应的函数依赖。
解:从B值与D值之间有一对多联系,可写出函数依赖:
DB 从A值与C值之间是一对一联系,可写出函数依赖:
AC 和 CA
5.7 设关系模式R(ABCD),F是R上成立的FD集,
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));
相关主题