数据库技术基础模拟试题答案

上传人:M****1 文档编号:550510382 上传时间:2023-07-14 格式:DOCX 页数:13 大小:68.42KB
返回 下载 相关 举报
数据库技术基础模拟试题答案_第1页
第1页 / 共13页
数据库技术基础模拟试题答案_第2页
第2页 / 共13页
数据库技术基础模拟试题答案_第3页
第3页 / 共13页
数据库技术基础模拟试题答案_第4页
第4页 / 共13页
数据库技术基础模拟试题答案_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《数据库技术基础模拟试题答案》由会员分享,可在线阅读,更多相关《数据库技术基础模拟试题答案(13页珍藏版)》请在金锄头文库上搜索。

1、国防科技大学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是否产生同样的结果,为什么?答:如果R中有重复的记录时,Q1和Q2结果不一样。因为Q2中的IN

2、TERSECT 是集合运算,去除了重复的记录。2、比较完整性约束中的主键约束(PRIMARY KEY)和唯一性约束(UNIQUE), 至少说明它们的两个不同之处。答:每个表中只能有1个PRIMARY KEY属性或属性组,但是能够有多个 UNIQUE属性;PRIMARY KEY属性或属性组不能为 NULL,但UNIQUE属性可 以为NULL。3、什么是事务的ACID性质?答:“A”表示“原子性”,即事务的操作要么全部被执行,要么全部不被执行;“I”表示“独立性”,每个事务的执行必须显现为如同没有其他事务在同时执行;“D”表示“持久性”,即一旦事务已经完成,则该事务对数据库的影响就永远 不会消失;

3、“C”表示“一致性”,即要求事务的执行要保持数据库的一致性。二、填空题(共5小题,每小题1分,共5分)TRUE (T)、FALSE (F)和UNKNOWN (U)作为变量 X、Y和Z的全部可能取值,用T、F和U填写下表。XYZ(X AND Y) OR (NOT Z)UTTUUFFTUFTFUTUUUUUU得分三、解答题(共5小题,每小题4分,共20分)考虑如下关系表,每个关系的主键用下划线标明。employee(EID, name, salary, DNo)表示雇员ID、姓名、工资、所在的部门编 department(DNo, DeptName, MgrID)表示部门编号、部门名称和该部门的经

4、理解:ID。号。project(PNo, location, ProjName)表示项目的编号、地点、项目名称。HourLog(EID, PNo, hours)表示雇员(EID)为项目(PNo)工作的小时数(hours)。假定每个部门只有1个经理,每个雇员可以参加多个项目(包括0个),每个项 目至少有1个雇员参加,HourLog关系列出了雇员参加的项目的工作小时数。1、 用关系代数表达查询:找出为一个项目工作时数超过100的雇员的ID和 姓名。解:n(。(employee = 2;或:SELECT EID, nameFROM employeeWHERE EID IN (SELECT EIDFR

5、OM HourLogGROUP BY EIDHAVING COUNT(PNo) = 2);或:SELECT EID, nameFROM employeeWHERE EID IN (SELECT H1.EIDFROM HourLog H1, HourLog H2WHERE H1.EID = H2.EID ANDH1.PNo H2.PNo);或:SELECT Employee.EID, NameFROM Employee, Hourlog H1, Hourlog H2WHERE EMPLOYEE.EID = H1.EID ANDH1.EID = H2.EID ANDH1.PNo = ALL (SE

6、LECT hoursFROM HourLogWHERE PNo = H1.PNo);或:SELECT PNo, EIDFROM HourLogWHERE (PNo, hours) IN (SELECT PNo, MAX(hours)FROM HourLogGROUP BY PNo);得分四、说明题(共5分)参考题三中关系表employee的定义,简要说明如下触发器的含义。CREATE TRIGGER FooTriggerAFTER UPDATE OF salary ON EmployeeREFERENCINGOLD AS OldTuple,NEW AS NewTupleWHEN (OldTup

7、le.salary NewTuple.salary ANDOldTuple.name = Tom Smith)UPDATE EmployeeSET salary = OldTuple.salaryWHERE EID = NewTuple.EIDFOR EACH ROW;答:不能降低Tom Smith的的工资。得分五、解答题(共2小题,每小题5分,共10分)给定表Dept(dno, location)和表Emp(name, dno),其中Emp由如下SQL语句创 建。CREATE TABLE Emp(name char(15),dno int,FOREIGN KEY dno REFERENCES

8、 Dept(dno)ON DELETE SET NULLON UPDATE CASCADE);namednoTom111Mary111Jack222Henry222假设两个表有如下记录:Empdnolocation111Irvine222LA333SFDept1、说明执行如下查询后两个表中的记录:DELETE * FROM Dept WHERE Dno = 111;namednoTomNULLMaryNULLJack222Henry222解:Emp2、执行完1中查询后,dnolocation222LA333SFDept继续执行如下查询后两个表中还有什么记录?UPDATE Dept SET Dn

9、o = 444 WHERE Dno = 222;namednoTomNULLMaryNULLJack444Henry444解:Empdnolocation444LA333SFDept得分六、解答题(共2小题,每小题5分,共10分)考虑大学中的学生-课程-教师活动,其中:学生实体(Student)有学号(Sno)、姓名(Sname)、年龄(Sage)、专业(Speciality)等 属性;课程实体(Course)有课程编号(Cno)、课程名称(Cname)、学分(Credit)、先修课 程号(Cpno)等属性;教师实体(Instructor)有姓名(Iname)、职称(rank)、工资(sala

10、ry)等属性。根据你对现实世界中的Student-Course-Instructor活动的理解设计实体集和联系集,并定义其属性。1、设计一个E-R模型表达大学中的Student-Course-Instructor活动,对设计的 E-R模型可以进行必要的说明。2、将设计出的E-R图转换为关系数据库模式,其中要求对数据库模式附加如下约束:(a) 课程的先修课程号参照引用课程编号;(b) 教师的职称分为教授(professor)、副教授(associate professor)和助教(assistant professor)三类;(c) 教授的工资不少于10000、副教授的工资不少于8000、助教的

11、工资不少于 5000。解:CREATE Student(Sno INTEGER PRIMARY KEY,Sname CHAR(20),Sage INTEGER,Speciality CHAR(20);CREATE TABLE Course(Cno INTEGER PRIMARY KEY,Cname CHAR(20),Credit INTEGER,Cpno INTEGER,FOREIGN KEY (Cpno) REFERENCES Course(Cno);CREATE TABLE Instructor(Iname CHAR(20) PRIMARY KEY,Rank CHAR(20),Salary

12、 INTEGER,CHECK (Rank= Professor AND Salary=10000) OR(Rank=5Associate Professor AND Salary=8000) OR(Rank=5Assistant Professor AND Salary=5000);CREATE TABLE Choose(Sno INTEGER,Cno INTEGER,PRIMARY KEY (Sno, Cno),FOREIGN KEY Sno REFERENCES Student(Sno),FOREIGN KEY Cno REFERENCES Course(Cno);CREATE TABLE Teach(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号