《数据库原理与应用》期末复习.ppt
数据库原理与应用,期末复习,第1章 绪论,理解数据、数据库、DBMS、DBS的概念DBMS的主要功能了解数据管理技术发展的三个阶段及特点数据库系统的特点数据模型的组成要素理解实体和三类联系,E-R图的绘制理解层次、网状、关系模型的表示及其特点理解数据库系统结构的三级模式和两级映像,第2章 关系数据库标准语言SQL,SQL的概念和特点 建表,删除表,理解索引的适用 数据查询SELECT语句的使用(包括各个子句,连接和子查询)数据的增insert、删delete、改update 理解视图的概念特点、视图的建立和操作,第3章 关系数据库,关系的相关概念(域、笛卡尔积、关系、主码、候选码、主属性、非主属性、全码等)关系操作,基本关系操作、关系操作的特点 理解关系的三类完整性约束 关系代数的运算(选择、投影、连接、除),第4章 数据库安全性,了解数据库安全性控制的相关技术 了解存取控制的内容和方法 自主存取控制方法的操作 理解用户、角色、权限等概念,第5章 数据库完整性,理解数据库完整性的概念和常用机制 掌握三类完整性约束的实现 理解触发器的概念、作用和实现,第6章 关系数据理论,1NF的要求和存在问题 理解非平凡/平凡的函数依赖,部分函数依赖,多值依赖 理解2NF,3NF,BCNF,4NF的要求,并能按要求进行模式分解,理解数据库设计的基本步骤及各阶段的任务绘制E-R图及合并分E-R图掌握逻辑结构设计(E-R图向关系模型的转换)索引及聚簇索引的使用特点,第7章 数据库设计,第9章 数据库恢复技术,理解事务的概念和特性 了解四类故障的概念 恢复机制的两个关键问题 理解建立冗余数据的常用方式 了解事务故障、系统故障、介质故障的恢复方式,第10章 并发控制,理解串行执行和并发执行的概念 理解并发控制带来的不一致性问题 两类封锁类型及其操作实现 理解死锁、活锁的概念,死锁的诊断和排除方法 理解并发调度的可串行化/非串行化调度/冲突可串行化调度 理解两段锁协议并使用 理解封锁的粒度 了解意向锁的概念,试卷格式和题型分布,一、填空题(每空1分,共20分)基本概念(各章)二、判断题(正确标,错误标,每题1分,共10分)基本概念(各章)三、单项选择题(每题2分,共30分)基本概念(各章)四、设计题(每题6分,共24分)SQL语句、关系代数操作、视图设计、关系规范化处理五、应用题(第1题8分,第2题8分,共16分)E-R图设计、并发控制,典型试题分析(设计题),1.有如下三个关系模式:S(SNO,SNAME,AGE,SEX)属性含义是学号、姓名、年龄、性别;SC(SNO,CNO,GRADE)属性含义分别是学号、课程号、成绩;C(CNO,CNAME)属性含义分别是课程号、课程名。用SQL语言完成下列操作:(1)求选修C4(课程号)的学生的平均年龄;(2)删除所有选修C1(课程号)课程的选课记录;,解答:,(1)SELECT AVG(AGE)FROM S WHERE SNO IN(SELECT SNO FROM SC WHERE CNO=C4)或 SELECT AVG(AGE)FROM S,SC WHERE S.SNO=SC.SNO AND CNO=C4(2)DELETE FROM SC WHERE CNO=C1,典型试题分析(设计题),2.有如下四个关系模式:学生:S(SNO,SN,AGE,SEX)属性是学号、姓名、年龄、性别;课程:C(CNO,CN,PCNO)属性是课程号、课程名、先修课课程号;教师:T(ENO,EN,DEPT)属性是教师号、教师名、所属系;成绩:SC(SNO,CNO,ENO,G)属性是学号、课程号、教师号、成绩。试用关系代数完成下列操作:(1)求选修所有课程的学生的学号;(2)查询选修了电子商务课程的学生的学号和姓名;,解答:,(1)或者(2),典型试题分析(设计题),3.设有如下关系 学生:Student(Sno,Sname,Sex,Sage,Sdept)属性含义分别为学号、姓名、性别、年龄、系;课程:Course(Cno,Cname,Cpno,Ccredit)属性含义分别为课程号、课程名、先修课程号、学分;选修:SC(Sno,Cno,Grade)属性含义分别为学号、课程号、成绩。试用SQL语言完成下列操作。(1)在SC表中插入一条选课记录:学号:03004,课程号:3,成绩:88;(2)建立一个视图S_G,包括学生的学号,选课门数,平均成绩;,解答:,(1)INSERT INTO SC VALUES(03004,3,88)(2)CREATE VIEW S_G(Sno,C,A)AS SELECT SNO,COUNT(*),AVG(GRADE)FROM SC GROUP BY SNO,典型试题分析(设计题),4.设有关系模式:TEACHER(教师编号,教师姓名,电话,所在部门,借阅图书编号,书名,借书日期,还书日期,备注)试完成以下分析:(1)教师编号是候选码吗?说明理由。(2)该关系模式是否存在部分函数依赖?如果存在,请写出至少两个?,解答:,(1)教师编号不是候选码。候选码为(教师编号,借阅图书编号,借书日期),因为教师编号不能惟一标识一个记录。(2)存在部分函数依赖;教师姓名,电话,所在部门对候选码是部分函数依赖,因为教师姓名,电话,所在部门只完全函数依赖于教师编号;书名对码是部分函数依赖,因为它完全函数依赖于借阅图书编号。,典型试题分析(应用题),1、学生包括学号,姓名,性别,年龄等基本信息;课程包括课程编号,课程名等;教师包括教师代号,姓名,性别,职称等;上述实体存在如下联系:一个学生可以选修多门课程,一门课程可为多个学生选修;一个教师可讲授多门课程,一门课程由一个教师讲授;试完成以下问题:(1)画出这个数据库的E-R图。(2)将E-R模型转化为适当的关系模型,并给出候选关键字。,解答:,(1)E-R图:(2)关系模式 学生(学号,姓名,性别,年龄)课程(课程号,课程名,教师号)教师(教师号,姓名,性别,职称)选修(学号,课程号,成绩),典型试题分析(应用题),2、考虑下列两个事务:T1:READ(A)T2:READ(B)READ(B)READ(A)IF A=0 THEN B:=B+1 IF B=0 THEN A:=A+1;WRITE(B)WRITE(A)设数据库的一致性要求是A=0 or B=0,A、B的初值为0。(1)写出这两个事务并发执行所有可能的正确结果;(2)写一个遵守两段锁协议且不发生死锁的并发调度策略;(3)写一个遵守两段锁协议发生死锁的并发调度策略。,解答:,(1)两个事务并发调度的正确结果有两种 T1-T2:执行结果 B=1,A=0 T2-T1:执行结果 A=1,B=0,解答:,(2),解答:,(3),