-----
-- - -- - - -- - -- - -- - -- - -- -: --业---专 ---- - -- - -- - -- - -- - -- - -- : 级 年 线 - 封 : 院-学 密 - - -- - -- -: ---名--姓 ---- -- - -- - - -- - -- - -- - -- - -- - -: ---号--学
----国防科技大学2008-2009学年春季学期
《数据库技术基础》考试试卷
考试形式: 开卷 考试时间: 150 分钟 满分: 100 分。
题 号 一 二 三 四 五 六 七 八 九 总分 得 分 评阅人 注意:1、所有答题都须写在此试卷纸密封线右边,写在其它纸上一律无效。 2、密封线左边请勿答题,密封线外不得有姓名及相关标记。
得分 一、问答题(共3小题,每小题5分,共15分)
1、有如下查询Q1和Q2: Q1:SELECT * FROM R; Q2:(SELECT * FROM R)
INTERSECT (SELECT * FROM R);
Q1和Q2是否产生同样的结果,为什么?
2、比较完整性约束中的主键约束(PRIMARY KEY)和唯一性约束(UNIQUE),至少说明它们的两个不同之处。
第 1 页 (共 12 页)
3、什么是事务的ACID性质?
得分 三、解答题(共5小题,每小题4分,共20分)
得分 TRUE (T)、FALSE (F)和UNKNOWN (U)作为变量X、Y和Z的全部可能取值,用T、F和U填写下表。
X U U U U U
Y T F F T U
Z T F T U U
(X AND Y) OR (NOT Z)
二、填空题(共5小题,每小题1分,共5分)
考虑如下关系表,每个关系的主键用下划线标明。
employee(EID, name, salary, DNo)表示雇员ID、姓名、工资、所在的部门编号。 department(DNo, DeptName, MgrID)表示部门编号、部门名称和该部门的经理ID。 project(PNo, location, ProjName)表示项目的编号、地点、项目名称。 HourLog(EID, PNo, hours)表示雇员(EID)第 2 页 (共 为项目12 页) (PNo)工作的小时数(hours)。
----- -- - -- - -- - - -- - -- - -- - -- : ---业---专 ---- - -- - -- - -- - -- - -- - -- : 级 年 线 - 封 : 院-学 密 - - -- - -- -: ---名--姓 ---- -- - -- - - -- - -- - -- - -- - -- - -:
---号---学---假定每个部门只有1个经理,每个雇员可以参加多个项目(包括
0个),每个项目至少有1个雇员参加,HourLog关系列出了雇员参加的项目的工作小时数。
1、用关系代数表达查询:找出为一个项目工作时数超过100的雇员的ID和姓名。
2、用关系代数表达查询:找出没有参加任何项目的雇员的姓名。
3、用SQL表达查询:找出是部门D10并且参加项目P345的雇员姓名和ID。
第 3 页 (共 12 页)