资源描述
数据库系统系统原理试卷(一)
数据库系统系统原理试卷(一)
一、 选择题(20分,每小题2分)
1. 要保证数据库逻辑数据独立性,需要修改的是: C A.模式 B.C.模式与外模式的映射 D.
2.设关系R(A,B,C)和S(A,D),与自然连接R S等价的关系代数表达式是: D
A.σR.A=S.A(R×S) B. R S R.A=S.A
C. ∏R,A ,B.C,D(R×S) D. ∏B,C,S.A,D(σR.A=S.A(R×S))
3. 若某关系R(A, B, C, D)有函数依赖AB→C, C→D, D→A,那么R的所有超键的数量
是: D
A.3 B.4 C.6 D.7
4. 设关系R和S的结构相同,且各有100个元组,那么这两个关系的并操作结果的元组的个数为: B
A.200 B.小于等于200 C.100 D.小于等于100 5. 与操作“AGE NOT BETWEEN 15 AND 20”等价的式子是: D A.AGE >= 15 AND AGE <= 20 B.AGE <= 15 OR AGE >= 20 C.AGE > 15 AND AGE < 20 D.AGE < 15 OR AGE >20
6.关系prodsales(salesman,prodid,prodname,quantity,amount)表示销售员所销售
商品情况:销售员、货号、品名、销售数量及销售金额。一名销售员可销售多种商品,一种商品可由多名销售员销售。该关系违背下列最低范式是: B
A.1NF B.2NF C.3NF D.BCNF
7. 在DB技术,未提交的随后被撤消了的数据,称为: A
A. 脏数据 B. 报废的数据 C.过时的数据 D.撤消的数据
8. 设有关系模式R(A,B,C),F是R上成立的函数依赖集,F={A→B,C→B},将关系R
分解为R1(A,B)和R2(A,C),则分解后的函数依赖集为: D
A.依然保持原有的函数依赖集 B.丢失了A→B
C.丢失了B→C D.丢失了C→B 9.在数据库中,如果有8个不同实体集,它们之间存在着10个不同的二元联系(二元关系是指两个不同实体集间的联系),其中4个1∶N联系,6个M∶N联系,那么根据ER模型转换成关系模型的规则,这个ER结构转换成关系模式个数是: C A.8 B.12 C.14 D.18 10. 下面哪一种指令能撤销用户的授权: B
A Grant B Revoke C Commit D Privilege
二、填空题(10分,每小题2分)
1. 数据按 外模式 的描述提供给用户,按内模式的描述存储在磁盘中,而概念模式
提供了连接这两级的相对稳定的中间观点,并使得两级中任何一级的改变都不受另
1
一级的牵制。
2. 判断一个并发调度是否正确,可用 并发事务的可串行化 概念来衡量。 3. 在SQL语句中,与操作符“IN”等价的操作符是 =SOME 。 4. 缓冲区管理程序是由DBMS的 存储管理程序 实现的。
5. 在DBA给予某用户权限时,为让该用户可向其他用户授权,应加上的授权语句为
WITH GRANT OPTION 。
三、 名词解释(10分,每小题2分)
1.级联:当删除或修改参照表的一个元组造成了与参照表的不一致,则删除或修改参照表中所有造成不一致的元祖。[P.155]
2.属性集的闭包:设F为属性集U上的一组函数依赖,X,Y U, ={A|X→A能由F
根据Armstrong公理导出}, 称为属性集X关于函数依赖集F的闭包。[p.184] 3.最小函数依赖集:每一个函数依赖集F均等价于一个极小函数依赖集Fm。此Fm称为F的最小依赖集。[P.186]
4.外连接:将舍弃的元祖也保存在结果关系中,而在其他属性上填空值(Null),这种连接就叫做外连接。[P.58]
5.事务的持久性:指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
接下来的其它操作或故障不应该对其执行结果有任何影响。[P.279]
四、简答题(20分,前面3小题,每小题4分,最后一小题8分)
1. 设有关系R(A,B,C)和S(C,D,E),其元组如下所示:
计算∏B,E(R S),结果为:
A B C C D E B E 4 7 5 2 4 3 2 5 7 6 6 6 7 8 9 6 5 3 1 8 9 7 8 6 2 图A-1 解:结果如图A-1所示。
2. DBMS的完整性子系统主要功能是什么?
解:DBMS的完整性子系统主要功能有两个
⑴ 监督事务的执行,并测试是否违反了完整性规则。 ⑵ 若有违反则采取恰当的动作,如拒绝、报告违反情况、改正错误等方法来处理。
3. 设教学数据库中有三个基本表:
S(SNO,SNAME, AGE, SEX),其属性分别表示学号、学生姓名、年龄、性别。
2
C(CNO, CNAME, TEACHER),其属性分别表示课程号、课程名、上课教师名。 SC(SNO,CNO,GRADE),其属性分别表示学号、课程号、成绩。
试解释下列SQL语句的语义:
CREATE ASSERTION ASSE8 CHECK (30>=ALL(SELECT COUNT(SC.SNO) FROM S,SC
WHERE S.SNO=SC.SNO AND SEX=’F’ GROUP BY CNO));
解:这是一个断言,表示在关系S和SC中的数据应满足下列条件:
每门课程中的女同学选修人数最多是30人。
(注意:不能写成“每一个女同学选修课程的门数最多是30门”)
4.假设某商业集团数据库中有一关系模式R如下:
R (商店编号,商品编号,数量,部门编号,负责人) 如果规定:(1) 每个商店的每种商品只在一个部门销售; (2) 每个商店的每个部门只有一个负责人; (3) 每个商店的每种商品只有一个库存数量。 试回答下列问题:
(1) 根据上述规定,写出关系模式R的基本函数依赖; (2) 找出关系模式R的候选码;
(3) 试问关系模式R最高已经达到第几范式?为什么? 解:
⑴ R的基本函数依赖为
(商店编号,商品编号) →部门编号
(商店编号,部门编号) →负责人 (商店编号,商品编号) →数量
⑵ R的候选码是 (商店编号,商品编号)
⑶ 因为R中存在着非主属性“负责人”对候选码 (商店编号、商品编号)的传递函
数依赖,所以R属于2NF,R不属于3NF。
五、设计题(24分,每小题3分)
现有关系数据库如下:
学生(学号,姓名,性别,专业,奖学金)
课程(课程号,名称,学分); 学习(学号,课程号,分数) 用关系代数表达式实现下列1—4小题:
1.检索获得奖学金的所有学生所学课程的信息,包括学号、姓名、课程名和分数; 2.检索学习课程号为C2或C4的学生学号和姓名;
3.检索至少学习课程号为C2和C4的学生信息,包括学号、姓名和专业;
3
4.检索具有相同姓名的所有学生的信息,包括学号、姓名和专业。 用SQL语言实现下列5—8小题:
5.检索没有获得奖学金的所有学生所学课程的信息,包括学号、姓名、课程名和分数; 6.检索具有相同姓名的所有学生的信息,包括学号、姓名和专业;
7.对成绩没有不及格的学生,如果已经获得奖学金的,将奖学金再增加5%; 8.定义所学课程包含S3同学所学课程的学生学号的视图AAA。 解:
1.∏学号,姓名,课程名,分数 (σ
2.∏课程号,名称 ( σ
课号
奖学金>0 ( 学生 课程 学习 ) )
= ’C2 ’ OR 课号 = ’C4 ’ ( 学生 学习 ) )
3.∏学号,姓名,专业 ( 学生s1.学号=学生.学号 (σs1.课号 = ’C2’ AND s2.课号 = ’C4’ AND s1.学
号
= s2.学号 ( ρs1 ( 学习 ) × ρs2 ( 学习 ) ) ) )
4.∏学号,姓名,专业 ( σs1.学号s2.学号 AND s1.姓名= s1.姓名 ( ρs1 ( 学生 ) ρs2 ( 学
生 ) ) )
5. SELECT学生.学号,姓名,课程,和分数 FROM 学生,学习,课程
WHERE 学生.学号=学习.学号 AND 学习. 课程号=课程.课程号 AND 奖学金>0;
6. SELECT distinct s1.学号, s1.姓名, s1.专业 FROM 学生 as s1,学生 as s2
WHERE s1.学号s2.姓名
7. UPDATE 学生
SET 奖学金=奖学金*1.05 WHERE 学号not IN (SELECT 学号 FROM 学习
WHERE 分数=’2001-12-01’ and signdate=’2001-12-01’ and signdate=all (select max(cost) from V1)
(3) select empid, name, sum(quantity*single_price) as cost
from Salesman left outer join (sales_order inner join sales_item on sales_order.order#= Sales_item.order#) on empid=sales_id
where signdate>=’2001-12-01’ and signdate
6 / 6
展开阅读全文