湖文2021-2022学年度 上 学期 《数据库系统》试题

课程目标1:数据库基础知识应用(共20分)

湖北省某市某银行信息系统的数据库部分关系模式如下所示:

客户(客户号,姓名,性别,地址,邮编,电话)

账户(账户号,客户号,开户支行号,余额)

支行(支行号,支行名称,城市,资产总额)

交易(交易号,账户号,业务金额,交易日期)

其中,业务金额为正值表示客户向账户存款;为负值表示取款。

请回答如下问题:

1、创建账户关系的SQL语句,其中:账户号唯一识别一个账户,客户号为客户关系的唯一标识,且不能为空。账户余额不能小于1.00元,给出a,b处的内容(4分)

Create table 账户(

账户号 char(19) a ,

客户号 char(19) b ,

开户支行号char(19) NOT NULL ,

余额 float CHECK(余额>1.00));

2、余额 float CHECK(余额>1.00)的文字含义是什么?(2分)

3、交易关系模式的主键是什么?(2分)

4、阅读代码,用文字解释功能。(2分)

Create unique index index1 on 账户(客户号)

5、用文字解释下面语句的功能(2分)。

Create view view1 as

Select distinct 客户.*

From 客户,账户,支行,交易

Where 客户. 客户号=账户. 客户号 and 交易.账户号=账户.账户号 and 支行.城市='襄阳市’and 交易.交易日期LIKE’2021-11-%'and 账户.开户支行号=支行.支行号;

6、用文字解释下面语句的功能(2分)

Grand select,update,insert,delete

On table 交易

To 银行柜员

7、阅读代码,用文字解释功能 (4分)

CREATE PROCEDURE VALIDATE @USERNAME CHAR(20),@PASSWORD CHAR(20),@LEGAL BIT OUTPUT

AS

IF EXISTS(SELECT * FROM Account WHERE SNAME = @USERNAME AND PWD = @PASSWORD)

SELECT @LEGAL = 1

ELSE

SELECT @LEGAL = 0

8、写出程序员调用上面的PROCEDURE的代码(2分)

课程目标2:SQL应用(30分)

PTA随机题库25题选10题,每题3分。

课程目标3:数据库建模和设计(16分)

某旅行社管理系统涉及的部分信息如下:
景点:景点编号、景点名称、地点、景点描述
线路:线路编号、线路名称、线路描述
导游:工号、姓名、等级
团队:团队编号、人数、开始日期、截止日期

其中:
每条线路有多个景点组成,不同线路的景点存在交叉;
每条线路有多名导游,但一名导游只负责一条线路;
每条线路可同时存在多个旅游团队,但每个团队只旅游一条线路。

(1)利用word,画图工具用贴图形式,建立一个反映上述局部应用的ER模型,要求标注联系类型,(选择一个实体画出其属性,可省略其他的实体属性)。(10分)

(2)根据转换规则,将ER模型转换为关系模型,要求在每个关系模式后面,用文字标注每个关系模型的主键和外键(没有标注无)(6分)。

课程目标4:分析题(34分)

1、规范化分析。(16分)

1、数据库逻辑设计,现有如下关系模式:
Teacher(Tno, Tname, Tel, Dpartment, Bno,Bname, BorrowDate,ReDate, Backup)。
字段说明:
Tno–教师编号;
Tname–教师姓名;
Tel–电话;
Dpartment–所在部门;
Bno–图书编号;
Bname–书名;
BorrowDate–借书日期;
ReDate–还书日期;

Backup–备注;

Teacher(Tno, Tname, Tel, Dpartment, Bno,Bname, BorrowDate,ReDate, Backup)
语义如下:
每个教师有唯一的教师编号,
每本图书有唯一的图书编号,
一个教师可以借阅多本图书,
一本图书可以被多个教师多次借阅。
试回答:
(1)该关系模式设计存在什么问题?(2分)

(2)写出该关系模式的侯选码。(2分)

(3)写出该关系模式存在的函数依赖(4分)

(4)该关系模式最高满足第几范式?并说明理由。(3分)

(5)如果该关系模式不满足3NF,将该关系模式分解为满足3NF的关系模式集。(5分)

2、并发控制分析。(8分)

如图所示的事务调度,其中事务T1、T2仅对数据项A、B进行操作,问答以下问题:
在这里插入图片描述

1.事务T1、T2仅对数据项A、B进行操作,会发生什么,说出理由(2分)

2.叙述两段锁协议的内容,分析图中的调度是否满足两段锁协议?(4分)

3.如果要从事务T1,T2中进行回滚以解除死锁,从代价最小的角度考虑,应回滚事务的方案有四种:

方案1:回滚T1

方案2:回滚T2

方案3:回滚T1和T2

方案4:回滚T1或T2

你选择那种?说明理由。(2分)

3、湖北省襄阳市某银行信息系统的数据库部分关系模式如下所示:

客户(客户号,姓名,性别,地址,邮编,电话)

账户(账户号,客户号,开户支行号,余额)

支行(支行号,支行名称,城市,资产总额)

交易(交易号,账户号,业务金额,交易日期)

其中,业务金额为正值表示客户向账户存款;为负值表示取款。

请回答如下问题:

(1)、用文字解释下面关系代数的含义。(4分)

Π电话(σ姓名=‘张三’∧ 邮编=‘441100’(客户))

Π姓名,电话(σ交易日期=’2021-11-11’ ∧业务金额<0(客户∞账户∞交易))

(2)、已知某大学在该银行发放教职工工资,员工工资表employee(ID,name,salary),从下面段代码中任选一个,用文字解释其代码含义(4分)。

(3)、已知员工工资表中10536号员工的工资为8000元,依据下面代码写出一条可以让trigger执行的的SQL语句(2分)。

1.create trigger tr3
on employee
after update
as
declare @new_salary float,@old_salary float
select @old_salary=salary from deleted
select @new_salary=salary from inserted
if @new_salary-@old_salary<0
begin
rollback
end
2. creart trigger tr3
on employee
after update
as
if new. salary< old.salary
Then
rollback
end

猜你喜欢

转载自blog.csdn.net/qq_55795222/article/details/129523410
今日推荐