试卷
一、选择题
1.( )是存储在计算机内有结构的数据的集合。
A.数据库系统 B.数据库
C.数据库管理系统 D.数据结构
2.数据库的三级模式结构中,数据库对象—视图是( )
A.外模式 B.内模式 C.存储模式 D.模式
3.在下列关于关系表的陈述中,错误的是( )
A.表中任意两行的值不能相同 B.表中任意两列的值不能相同
C.行在表中的顺序无关紧要 D.列在表中的顺序无关紧要
5.SQL语句GRANT,可以支持RDBMS的什么技术的实现( )
A.安全性 B.完整性 C.并发控制 D.恢复
6.( )用来记录对数据库中数据进行的每一次更新操作。
A.后援副本 B.日志文件 C.数据库 D.缓冲区
7.对关系SC的属性GRADE的修改权授予用户ZHAO的SQL语句是( )
A.GRANT GRADE ON SC TO ZHAO
B.GRANT UPDATE (GRADE) ON SC TO ZHAO
C.GRANT UPDATE ON SC TO ZHAO
D.GRANT UPDATE ON SC (GRADE) TO ZHAO
8.以下不属于数据库的安全性控制方法有( )
A.加密 B.并发控制 C.存取控制 D.视图
9.一个关系模式R{x1,x2,x3,x4},假定该关系存在着如下函数依赖:x1,x2→x3,x2→x4,则该关系属于( )
A.1NF B.2NF C.3NF D.BCNF
10.如果事务T已在数据R上加了X锁,则其他事务在数据R上( )
A.只可加X锁 B.只可加S锁
C.可加S锁或X锁 D.不能加任何锁
二、判断题
1. 关系是关系数据模型的唯一数据结构。
2. 数据的完整性是指数据库中数据的全面性。
3. 数据库的三级模式结构中,模式是描述数据库中数据的全局逻辑结构。
4. 在关系数据库中,每个关系必须有唯一的候选码。
5. 在数据库设计过程中,概念结构设计独立于DBMS。
6. 在数据库故障恢复中,要先写数据,再写日志。
7. 关系代数的运算对象是关系,运算结果也是关系。
8. 如果一个关系模式的候选码仅含有一个属性,则该关系模式一定属于2NF。
9. 一个并发事务的调度是可串行化的,则该调度一定是冲突可串行化的。
- 数据库的安全性是指数据的正确性与相容性。
三、应用题
1.(24分)设数据库中有3个关系:
职工表(职工工号,姓名,年龄,性别,籍贯)
工作表(职工工号,公司编号,工资)
公司表(公司编号,公司名称,公司所在城市)
分别表示为:
EMP(E#, ENAME, AGE, SEX, ECITY)
WORKS(E#, C#, SALARY)
COMP(C#, CNAME, CITY)
请分别用关系代数表达式实现下列1—3小题,用SQL语句实现4-7小题。
(1)查询“百度”公司所在的城市。
(2)查询工资不超过1万元的职工姓名及年龄。
(3)查询在“百度”公司工作的女职工姓名。
(4)用SQL完成以上第一小题的查询要求。
(5)查询在每个公司工作的职工人数,按(C#, NUM)显示,分别表示公司编号、职工人数,并按公司编号升序排序。
(6)创建在上海城市的公司工作的职工信息视图,视图名为View_Emp。
(7)添加一个公司记录,其中公司信息为(‘C8‘,‘腾讯’,‘北京’)
(8)将所有在“腾讯公司”工作的职工加薪5﹪。
(9)将所有在“百度公司”工作的职工解聘。
(10)添加一个职工宿舍关系 ,该关系中的属性有宿舍编号,宿舍楼栋,宿舍人数,关系结构为dormitory(D#,ROOFTREE, COUNT),考虑该关系属性的合理数据类型,并定义所有的完整性。
2、根据给出的关系代数表达式的语法树,利用关系代数表达式的优化算法对该语法树进行优化,画出优化后的标准语法树。
在供应关系数据库S_P_J中有供应商表S,零件表P,工程项目表J,及供应情况表SPJ四个表。以下是“没有使用天津供应商生产的红色零件的工程号JNO” 对应的关系代数表达式为:
(1)用SQL语言表示上述关系代数。(4分)
(2)先将关系代数转化成语法树, 并对其进行优化处理,画出优化后的标准语法树。(6分)
3.(18分)关系模式R(A,B,C,D,E)函数依赖集
F={AB
→
\to
→D,B
→
\to
→CD,DE
→
\to
→B,C
→
\to
→D,D
→
\to
→A}。
(1)求(AB)F+,并说明AB是否为关系模式的候选码?
(2)求出R的最小函数依赖集。
4.(8分)某航空售票系统负责所有本地起飞航班的机票销售,并设有多个机票销售网点。各售票网点使用相同的售票程序,售票事务的操作有:
R(A,x) 返回航班A当前的剩余机票数给变量x
W(A,x) 当前数据库中航班A的剩余机票数置为x
若两个售票网点同时销售航班A的机票,在数据库服务器端可能出现如下的
调度:R1(A,x),R2(A,X),W1(A,x-1),W2(A,x-2);
(1)假设当前航班A剩余10张机票,上诉调度的执行结果是否正确,如果错误请指出产生错误的原因?
(2)请利用封锁技术,给出一个正确的并发调度。
四、综合题
以下图中显示一张交通违章处罚通知书,根据这张通知书所提供的信息,设计一个E-R模型,并将这个E-R模型转换成关系数据模型,要求标注主码和外码。
交通违章通知书: 编号:TZ11719
(注:一张违章通知书可能有多项处罚,例如:警告+罚款)
(1)试画出ER图,并在图上注明属性、联系的类型。
(2)将上述E-R图转换为等价的关系模式,并标出主码与外码。
答案
一、选择题
1-5:BABDA;6-10:BBBAD
二、判断题
- 关系是关系数据模型的唯一数据结构。( √ )
- 数据的完整性是指数据库中数据的全面性。( × )
- 数据库的三级模式结构中,模式是描述数据的全局逻辑结构。( √ )
- 在关系数据库中,每个关系必须有唯一的候选码。( × )
- 在数据库设计过程中,概念结构设计独立于DBMS。( √ )
- 在数据库故障恢复中,要先写数据,再写日志。( × )
- 关系代数的运算对象是关系,运算结果也是关系。( √ )
- 一个关系模式的候选码仅含有一个属性,则该关系模式一定属于2NF。(√ )
- 一个并发事务的调度是可串行化的,则该调度一定是冲突可串行化的。(× )
- 数据库的安全性是指数据的正确性与相容性。( × )
三、应用题
1.(24分)设数据库中有3个关系:
职工表(职工工号,姓名,年龄,性别,籍贯)
工作表(职工工号,公司编号,工资)
公司表(公司编号,公司名称,公司所在城市)
分别表示为:
EMP(E#, ENAME, AGE, SEX, ECITY)
WORKS(E#, C#, SALARY)
COMP(C#, CNAME, CITY)
请分别用关系代数表达式实现下列1—3小题,用SQL语句实现4-7小题。
(1)查询“百度”公司所在的城市。
π C I T Y ( σ C N A M E = ′ 百 度 ′ ( C O M P )) π_{CITY}(σ_{CNAME}='百度'(COMP)) πCITY(σCNAME=′百度′(COMP))
(2)查询工资不超过1万元的职工姓名及年龄。
Π E N A M E , A G E ( ( σ s a l a r y < = 10000 ( W O R K S )) ⋈ E M P ) Π_{ENAME,AGE} ((σ_{salary}<=10000(WORKS))⋈EMP) ΠENAME,AGE((σsalary<=10000(WORKS))⋈EMP)
(3)查询在“百度”公司工作的女职工姓名。
Π E N A M E ( ( σ C N A M E = ′ 百 度 ′ ( C O M P ) ⋈ W O R K S ⋈ σ s e x = ′ 女 ′ ( E M P ) ) ) Π_{ENAME}((σ_{CNAME}='百度'(COMP)⋈WORKS ⋈σ_{sex}='女'(EMP))) ΠENAME((σCNAME=′百度′(COMP)⋈WORKS⋈σsex=′女′(EMP)))
(4)用SQL完成以上第一小题的查询要求。
SELECT CITY
FROM COMP
WHERE CNAME=‘百度’
(5)查询在每个公司工作的职工人数,按(C#, NUM)显示,分别表示公司编号、职工人数,并按公司编号升序排序。
SELECT C#,COUNT(*) NUM
FROM WORKS
GROUP BY C#
ORDER BY C# ASC
(6)创建在上海城市的公司工作的职工信息视图,视图名为View_Emp。
CREATE VIEW View_Emp
AS
SELECT *
FROM EMP
WHERE E# IN
(SELECT E# FROM WORKS
WHERE C# IN
(SELECT C# FROM COMP
WHERE CITY=‘上海’)
)
(7)添加一个公司记录,其中公司信息为(‘C8‘,‘腾讯’,‘北京’)
INSERT INTO COMP
VALUES(‘C8’, ‘腾讯’,‘北京’)
(8)将所有在“腾讯公司”工作的职工加薪5﹪。
UPDATE WORKS
SET SALARY=SALARY*1.05
WHERE C# IN
(SELECT C# FROM COMP
WHERE CNAME=’腾讯公司’)
(9)将所有在“百度公司”工作的职工解聘。
CREATE TABLE DORMITORY(
D# CHAR(8) PRIMARY KEY,
ROOFTREE VARCHAR(10) NOT NULL,
COUNT INT CHECK(COUNT>0)
)
2、根据给出的关系代数表达式的语法树,利用关系代数表达式的优化算法对该语法树进行优化,画出优化后的标准语法树。
在供应关系数据库S_P_J中有供应商表S,零件表P,工程项目表J,及供应情况表SPJ四个表。以下是“没有使用天津供应商生产的红色零件的工程号JNO” 对应的关系代数表达式为:
(1)用SQL语言表示上述关系代数。
(2)先将关系代数转化成语法树, 并对其进行优化处理,画出优化后的标准语法树。
3.(18分)关系模式R(A,B,C,D,E)函数依赖集
F={AB
→
\to
→D,B
→
\to
→CD,DE
→
\to
→B,C
→
\to
→D,D
→
\to
→A}。
(1)求(AB)F+,并说明AB是否为关系模式的候选码?
结果是(BE)F+=ABCDE,BE是关系R的候选码,因为
(B)F+=ABCD
(E)F+=E
所以BE-F->U
(2)求出R的最小函数依赖集。
结果是 F m i n = B → C , D E → B , C → D , D → A F_{min}={ B \to C,DE \to B,C \to D,D \to A } Fmin=B→C,DE→B,C→D,D→A
4.(8分)某航空售票系统负责所有本地起飞航班的机票销售,并设有多个机票销售网点。各售票网点使用相同的售票程序,售票事务的操作有:
R(A,x) 返回航班A当前的剩余机票数给变量x
W(A,x) 当前数据库中航班A的剩余机票数置为x
若两个售票网点同时销售航班A的机票,在数据库服务器端可能出现如下的
调度:R1(A,x),R2(A,X),W1(A,x-1),W2(A,x-2);
(1)假设当前航班A剩余10张机票,上诉调度的执行结果是否正确,如果错误请指出产生错误的原因?
上诉调度是错误的。
上诉调度的结果是A=8,两个事物串行调度的结果是A=7,所以该调度不是个可串行化的调度。
(2)请利用封锁技术,给出一个正确的并发调度。
四、综合题
以下图中显示一张交通违章处罚通知书,根据这张通知书所提供的信息,设计一个E-R模型,并将这个E-R模型转换成关系数据模型,要求标注主码和外码。
交通违章通知书: 编号:TZ11719
(注:一张违章通知书可能有多项处罚,例如:警告+罚款)
(1)试画出ER图,并在图上注明属性、联系的类型。
(2)将上述E-R图转换为等价的关系模式,并标出主码与外码。
司机(_驾照号_,姓名,地址,邮编,电话)
PK=驾照号
机动车(_牌照号_,型号,制造厂,生产日期)
PK=牌照号
警察(_警察编号_,姓名)
PK=警察编号
处罚通知(_编号_,日期,时间,地点,驾照号,牌照号,警告,罚款,暂扣,警察编号)
PK=编号4
FK=_驾照号_,_牌照号_,_警察编号_