课程目标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