当前位置:文档之家› 数据库原理与应用复习资料全

数据库原理与应用复习资料全

数据库原理与应用2018年春季学期复习资料(仔细看复习资料,没有答案的题目,请自己解答)一、概念题(自己准备答案)1、封锁封锁就是事物T在对某个数据对象,例如表、记录等操作之前,先向系统发出请求,对其加锁。

加锁后事物T就对该数据对象有了一定的控制,在事物T释放它的锁之前,其他的事务不能更新此数据对象,封锁是实现并发控制的一个非常重要的技术。

封锁包含了排它锁和共享锁2、游标a允许定位在结果集的特定行b从结果集的当前位置检索一行或一部分行c支持对结果集中当前位置的行进行数据修改d提供不同级别的可见性支持3、并发控制是指当同时有多个事务在执行时,为了保证一个事物的执行不受其他事物的干扰所采取的措施,并发控制的的主要方法是加锁。

为了保证并发执行的事务是正确的,一般要求事物遵守两段锁协议。

4、关系完整性规则是对关系的某种约束条件,用于保证关系数据库中数据的正确性和可靠性,它包含了实体完整性规则、参照完整性规则、域完整性规则。

5、DBMS的主要功能。

主要功能包括数据定义功能、数据操作功能、数据库运行管理功能、数据库的建立和维护功能、学习资料数据通讯接口功能、数据组织、存储和管理功能。

6、数据库设计的基本步骤。

数据库设计的基本步骤分为系统需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库实施阶段、数据库运行和维护阶段7、简述产生死锁的原因以及预防死锁的三种方法。

一个事物若申请锁未被批准,则需要等待其他事务释放锁,当事务之前出现循环等待时,如果不加干预,则会一起等待下去,从而产生死锁。

预防死锁的方法:每个事物一次将所有要使用的数据全部加锁。

预先对数据对象规定一个封锁顺序,所有事务都按这个顺序封锁当事物申请锁未被批准时,不等待加锁而是让一些事物回滚重新执行。

8、请画出数据库系统的组成结构图。

9、最小函数依赖集函数依赖集F如果满足F中的每一个函数依赖的右部都是单个属性,对F中任一函数依赖X->A,F-{X->A}都不与F等价,对于F中的任意函数依赖X->A,{F-{X->A}}U{Z->A都不与F等学习资料价,其中Z为X的任一真子集10、外连接如果要求查询结果集中保留非匹配的元组,则为外连接, 分为为左外连接,右外连接,及完整外连接11、2NF\3NF2NF 指第二范式,如果关系模式R为第一范式,且R中每个非主属性完全函数依赖于R的主码,则称R属于2NF。

3NF指第三范式,如果关系模式R为第二范式,且R中每个非主属性都不传递函数依赖于R的主码,则称R属于3NF12、死锁\活锁死锁:两个或两个以上的事物互相申请对方加锁对象的排它锁,造成了循环等待。

活锁:多个事务申请对数据R申请加锁,而系统随机的加锁,导致某些事务长等待。

13、SQL中的三种表基本表、视图和导出表(临时表)14、数据库中术语英文缩写“RDBMS”和DML的中文意思RDBMS:关系数据库管理系统DML:数据操纵语言15、二级封锁协议、三级封锁协议二级封锁协议:一级封锁协议加上事物T对要读取的数据加S锁,读完后即释放S锁。

三级封锁协议:一级封锁协议加上事物T对要读取的数据加S锁,并指导事物结束才释放。

二、知识阐述学习资料1、在DBS中,DBMS和OS之间的关系是DBMS调用OS。

2、逻辑数据独立性是指“修改模式保持外模式不变”。

3、在SQL语言中,属于DML(数据操纵语言)的操作命令是UPDATE、SELECT、INSERT、DELETE。

4、系统故障会造成内存数据丢失。

5、任何一个满足2NF但不满足3NF的关系模式都不存在非主属性对候选键的传递依赖。

6、学校数据库中有学生和宿舍两个关系:学生(学号,姓名)和宿舍(楼名,房间号,床位号,学号)假设有的学生不住宿,床位也可能空闲。

如果要列出所有学生住宿和宿舍分配的情况,包括没有住宿的学生和空闲的床位,则应执行外联接7、在SQL中,“< ANY”与“<MAX”等价。

8、数据库中,数据的物理独立性是指“用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的”。

9、以二维表的形式表示关系之间的联系,属于关系模型中的数据结构功能。

10、基本表的某列中记录数量特别多、且数据相对稳定时,适于建立索引。

11、数据库表设计时,要尽量遵守数据库的范式标准。

12、数据库的备份包括系统数据库、用户数据库、事务日志。

13、SQL语句中,ORDER BY子句对查询结果进行排序。

14、数据库常用的数据模型有网状模型、层次模型、关系模型。

15、数据模型是由数据结构数据操作完整性约束三部分组成的。

16、在数据库的三级模式结构中,模式描述数据库中全体数据的全局逻辑结构和特征。

17、删除表中记录用delete语句,修改表结构用alter语句。

学习资料18、数据库系统中可能发生各种各样的故障,引起故障的原因大致可以分为几类,分别为:事务内部故障、系统故障、计算机病毒和介质故障。

19、在数据库概念结构设计中,各分E-R模型之间的冲突主要有:属性冲突、命名冲突和结构冲突。

三、设计题20、设有关系模式R (A,B,C,D,E),F是R上成立的FD集,F = { A→D,A→B},试写出关系模式R的候选键,并说明理由。

①R的候选键是ACE②理由:从已知的F,可导出A→ABD,再根据增广律,可得出ACE→ABCDE,即ACE值可决定全部属性值。

21、某医院病房计算机管理中需要如下信息:(自己准备答案)科室:科名,科地址,科电话,医生姓名病房:病房号,床位号,所属科室名医生:姓名,职称,所属科室名,年龄,工作证号病人:病历号,姓名,性别,诊断,主管医生,病房号。

其中,一人科室有多个病房,多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。

(1)请根据上述规则设计此数据库的E-R模型,要求在E-R图中注明属性和联系的类型。

(2)将E-R模型转换成关系模型,并指出每个关系模式的主码。

E-R图如下学习资料2关系模型22、设有系、教师、学生、课程等实体,其中每一个系包括系名、系址、系主任姓名、办公电话等属性,教师实体包括工作证号码、教师名、出生日期、党派等属性。

学生实体包括学号、姓名、出生日期、性别等属性。

课程实体包括课程号、课程名、预修课号等属性。

设一个系可以有多名教师,每个教师教多门课程,一门课程由一个教师教。

其中有的教师指导多个研究生。

每一个学生可选多门课程,每门课程只有一个预修课程,每一个学生选修一门课程有一个成绩,试根据以上语义完成下述要求。

(1)根据上述语义画出E-R图。

(2)将E-R模型转换成关系模型,并指出关系的主键和外键。

参考答案:学习资料系(系名、系址、系主任姓名、办公电话)教师(工作证号码、教师名、出生日期、党派,系名)课程(课程号、课程名、预修课号,工作证号码)学生(学号、姓名、出生日期、性别)选课(课程号,学号,成绩)23、现有一个未规范化的表,包含了项目、部件和已提供的数量信息。

学习资料要求:(1)写出基本函数依赖集,并找出候选码。

(2)判断最高达到第几范式,并说明理由。

(3)如果有必要,将其分解成3NF模式集。

答案:(1)FD={部件号→部件名,部件号→现有数量,项目代号→项目内容,项目代号→项目负责人,(项目代号,部件号)→已提供数量},候选码为(项目代号,部件号)。

(2)存在部件名属性对候选码的部分函数依赖,因此最高达到1NF。

(3)部件(部件号,部件名,现有数量)项目(项目代号,项目内容,项目负责人)提供(项目代号,部件号,已提供数量)24、假设某商业集团数据库中有一关系模式R如下:(自己准备答案)R (商店编号,商品编号,数量,部门编号,负责人)如果规定:学习资料(1) 每个商店的每种商品只在一个部门销售;(2) 每个商店的每个部门只有一个负责人;(3) 每个商店的每种商品只有一个库存数量。

试回答下列问题:(1)根据上述规定,写出关系模式R的基本函数依赖;(2)找出关系模式R的候选码;(3) 试问关系模式R最高已经达到第几范式?为什么?学习资料25、设有4个关系模式:供应商关系:S(SNO,SNAME,CITY),属性依次是供应商号、供应商名称和所在城市;零件关系:P(PNO,PNAME,COLOR),属性依次是零件号、零件名和颜色;工程关系:J(JNO,JNAME,CITY),属性依次是工程号、工程名和所在城市;供应关系:SPJ(SNO,PNO,JNO,QTY),属性依次是供应商号、零件号、工程号和数量。

用SQL语句实现下列操作:(1)查询S1号供应商为J1号工程提供零件的编号和供应数量,查询结果按零件号降序排列。

(2)查询由S1号供应商提供红色零件的工程号。

(3)查询与其提供零件的供应商所在城市为同一城市的工程号。

(4)统计每个供应商提供的零件总数。

(5)查询比J1号工程使用的零件数量多的工程号。

答案:(1)SELECT PNO,QTY FROM SPJ WHERE JNO=‘J1’ AND SNO=‘S1’学习资料ORDER BY PNO DESC(2)SELECT JNO FROM P JOIN SPJ ON(P.PNO=SPJ.PNO)WHERE COLOR=‘红’AND SNO=‘S1’(3)SELECT J.PNO FROM J JOIN SPJ ON(J.PNO=SPJ.PNO)JOIN SON(S.SNO=SPJ.SNO)WHERE J.CITY=S.CITY(4)SELECT SNO,SUM(QTY)FROM SPJ GROUP BY SNO(5)SELECT JNO FROM SPJ GROUP BY JNOHAVING SUM(QTY)>(SELECT SUM(QTY) FROM SPJ WHERE JNO=‘J1’)26、已知员工考勤数据库YGKQ包含JBQK(职工基本情况)数据表和QQLX(缺勤信息)数据表,表结构如表1和表2所示:(自己准备答案)表1 JBQK(职工基本情况表结构)表2 QQLX(缺勤类型信息表结构)学习资料请用SQL语句完成以下操作。

(1)查询每个职工的职工号、姓名、缺勤时间、缺勤天数和缺勤类型信息。

select * from JBQK(2)查询职工号为001的职工的姓名和缺勤天数。

Select xm,ts from JBQK where zgh=’001’(3)查询所有姓“张”的职工的职工号、缺勤天数。

select zhg,ts fr om JBQK where xm like ‘张’(4)找出所有缺勤天数在2~3天的职工号和缺勤名称。

select zgh,mc from JBQK,QQLX where JBQK.lx=QQLX.lx and ts between 2 and 3 (5)查询缺勤名称为“病假”的职工的职工号和姓名。

相关主题