【数据库原理及应用】期末复习汇总&高校期末真题试卷05

试卷

一、选择题

1.( )是存储在计算机内有结构的数据的集合。

A.数据库系统 B.数据库

C.数据库管理系统 D.数据结构

2.数据库的三级模式结构中,数据库对象—视图是( )

A.外模式 B.内模式 C.存储模式 D.模式

3.在下列关于关系表的陈述中,错误的是( )

A.表中任意两行的值不能相同 B.表中任意两列的值不能相同
C.行在表中的顺序无关紧要 D.列在表中的顺序无关紧要

image-20240404203334058

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. 数据库的安全性是指数据的正确性与相容性。

三、应用题

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” 对应的关系代数表达式为:

image-20240404203634203

(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图转换为等价的关系模式,并标出主码与外码。

image-20240404203816657

答案

一、选择题

1-5:BABDA;6-10:BBBAD

二、判断题

  1. 关系是关系数据模型的唯一数据结构。( √ )
  2. 数据的完整性是指数据库中数据的全面性。( × )
  3. 数据库的三级模式结构中,模式是描述数据的全局逻辑结构。( √ )
  4. 在关系数据库中,每个关系必须有唯一的候选码。( × )
  5. 在数据库设计过程中,概念结构设计独立于DBMS。( √ )
  6. 在数据库故障恢复中,要先写数据,再写日志。( × )
  7. 关系代数的运算对象是关系,运算结果也是关系。( √ )
  8. 一个关系模式的候选码仅含有一个属性,则该关系模式一定属于2NF。(√ )
  9. 一个并发事务的调度是可串行化的,则该调度一定是冲突可串行化的。(× )
  10. 数据库的安全性是指数据的正确性与相容性。( × )

三、应用题

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<=10000WORKS))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=COMPWORKSσ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” 对应的关系代数表达式为:

image-20240404203634203

(1)用SQL语言表示上述关系代数。

(2)先将关系代数转化成语法树, 并对其进行优化处理,画出优化后的标准语法树。

image-20240404205007828

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=BC,DEB,CD,DA

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)请利用封锁技术,给出一个正确的并发调度。

image-20240404205234761

四、综合题

以下图中显示一张交通违章处罚通知书,根据这张通知书所提供的信息,设计一个E-R模型,并将这个E-R模型转换成关系数据模型,要求标注主码和外码。
交通违章通知书:      编号:TZ11719
(注:一张违章通知书可能有多项处罚,例如:警告+罚款)

image-20240404203816657(1)试画出ER图,并在图上注明属性、联系的类型。

image-20240404205413978

(2)将上述E-R图转换为等价的关系模式,并标出主码与外码。

司机(_驾照号_,姓名,地址,邮编,电话)
 PK=驾照号
机动车(_牌照号_,型号,制造厂,生产日期)
 PK=牌照号
警察(_警察编号_,姓名)
 PK=警察编号
处罚通知(_编号_,日期,时间,地点,驾照号,牌照号,警告,罚款,暂扣,警察编号)
 PK=编号4
 FK=_驾照号_,_牌照号_,_警察编号_
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

温柔说给风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值