一、选择题(每小题2分,共20分)
- 数据库系统的核心是(B)。
A.数据库
B.数据库管理系统
C.数据模型
D.软件工具 - 一间宿舍可以住多个学生,则实体宿舍和学生之间的联系是(B)。
A.一对一联系
B.一对多联系
C.多对一联系
D.多对多联系 - SQL Sever提供的单行注释语句的注释符是(C)。
A./*
B.*/
C.- -
D.// - 在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是(D)。
A.外模式
B.内模式
C.存储模式
D.模式 - 把对关系SPJ的属性QTY的修改权授予用户李勇的T-SQL语句是(C)。
A. GRANT QTY ON SPJ TO ‘李勇’
B. GRANT UPDATE(QTY) ON SPJ TO ‘李勇’
C. GRANT UPDATE (QTY) ON SPJ TO 李勇
D. GRANT UPDATE ON SPJ (QTY) TO 李勇 - 在关系模式中,满足2NF的模式,(D)。
A.可能是1NF
B.必定是BCNF
C.必定是3NF
D.必定是1NF - SQL语言是(C)语言。
A.层次数据库
B.网络数据库
C.关系数据库
D.非数据库 - 事务的隔离性是指(A)。
A.一个事务内部的操作及使用的数据对并发的其他事务是隔离的
B.事务一旦提交,对数据库的改变是永久的
C.事务中包括的所有操作要么都做,要么都不做
D.事务必须是使数据库从一个一致性状态变到另一个一致性状态 - 在数据库设计中,E-R图产生于(D)。
A.需求分析阶段
B.物理设计阶段
C.逻辑设计阶段
D.概念设计阶段 - 设有一个关系:dept(dno,dname),如果要找出倒数第三个字母为w,并且至少包含4个字母的dname,则查询条件子句应写成where dname like(C)。
A.’_ _ w _ %’
B.’_ % w _ ’
C.’_ w _ _’
D.’_ w _ %’
二、填空题(每空1分,共10分)
- 数据库 是长期存储在计算机内的、有组织、可共享的数据集合。
- 关系数据模型由 关系数据结构 、 关系操作 和 关系完整性约束 三部分组成。
- 关系代数中专门的关系运算包括: 选择 、投影、连接和除法。
- 已知关系R(A,B,C,D)和R上的函数依赖集F={A→CD,C→B},则R∈ 2 NF。
- 设有学生表S(学号,姓名,班级)和学生选课表SC(学号,课程号,成绩),为维护数据一致性,表S与SC之间应满足 参照 完整性约束。
- 在T-SQL中,调用存储过程所使用的命令是 execute或exec 。
- 并发控制的主要方法是 封锁 机制。
- 当数据库被破坏后,如果事先保存了数据库副本和 日志文件 ,就有可能恢复数据库。
三、计算及简答题(每小题6分,共24分)
- 说明视图与基本表的区别和联系。
答:视图是从一个或几个基本表导出的表,它与基本表不同,它是一个虚表,数据库中只存放视图的定义,而不存放视图对应的数据,这些数据存放在原来的基本表中,当基本表中的数据发生变化,从视图中查询出的数据也就随之改变。视图一经定义就可以像基本表一样被查询、删除,也可以在一个视图之上再定义新的视图,但是对视图的更新操作有限制。
- 设有两个关系R和S,它们的形式如下,求R∪S,R-S,Π(1,2)S。
R
A | B | C |
---|---|---|
5 | 9 | 6 |
1 | 3 | 2 |
2 | 8 | 1 |
7 | 2 | 5 |
S
A | B | C |
---|---|---|
5 | 9 | 6 |
2 | 8 | 1 |
7 | 1 | 5 |
答:①R∪S
A | B | C |
---|---|---|
5 | 9 | 6 |
1 | 3 | 2 |
2 | 8 | 1 |
7 | 2 | 5 |
7 | 1 | 5 |
②R-S
A | B | C |
---|---|---|
1 | 3 | 2 |
7 | 2 | 5 |
③Π(1,2)S
A | B |
---|---|
5 | 9 |
2 | 8 |
7 | 1 |
- 设某商业集团数据库中有一关系模式R如下:
R (商店编号,商品编号,数量,部门编号,负责人)
如果规定:
①每个商店的每种商品只在一个部门销售;
②每个商店的每个部门只有一个负责人;
③每个商店的每种商品只有一个库存数量。
试回答下列问题:
(1)根据上述规定,写出关系模式R的基本函数依赖;
(2)找出关系模式R的候选码;
(3)试问关系模式R最高已经达到第几范式?如果R不属于3NF,请将R分解成3NF模式集。
答:(1)有三个函数依赖:
(商店编号,商品编号) →部门编号
(商店编号,部门编号) →负责人
(商店编号,商品编号) →数量。
(2)R的候选码是 (商店编号,商品编号)。
(3)R最高达到2NF,因为R中存在着非主属性“负责人”对候选码 (商店编号、商品编号)的传递函数依赖,所以R属于2NF,但R不属于3NF。
将R分解成:
R1 (商店编号,商品编号,数量,部门编号)
R2 (商店编号,部门编号,负责人)。
- 用T-SQL语言编写函数AvgResult,计算课程号为123的课程的平均成绩。
已知tScore表结构如下:
tScore(学号,课程号,成绩)
要求:
①传入参数课程号:@cno varchar(10);
②返回成绩平均值:@avg real;
③写出函数调用语句。
答:
create function AvgResult(@cno varchar(10))
returns real
as
begin
declare @avg real
select @avg=avg(成绩) from tScore
where 课程号 = @cno
return @avg
end
select dbo.AvgResult(‘123’)
四、综合题(每小题4分,共36分)
- 设有一个工程供应数据库系统,包括如下四个关系模式:
S(Sno,Sname, Status,City);
P(Pno,Pname,Color,Weight);
J(Jno,Jname,City);
SPJ(Sno,Pno,Jno,Qty);
供应商表S由供应商号Sno char(6)、供应商名Sname char(10)、状态Status int、城市City char(20)组成;
零件表P 由零件号、零件名、颜色、重量组成;
工程项目表J由项目号、项目名、城市组成;
供应情况表SPJ由供应商号、零件号、项目号、供应数量组成;
(1)用关系代数查询没有使用天津供应商生产的红色零件的工程号;
(2)用T-SQL语句建立“供应商”S表(主码必须定义);
(3)用SQL查询所有红色零件的零件号和零件名,显示列名为Pno,Pname;
(4)用SQL查询各颜色零件的平均重量,并按重量降序排列,显示列名为Color,AvgWeight;
(5)用SQL查询项目号为J1的工程使用的各种零件的名称和数量,显示列名为Pname,Number;
(6)用SQL语句将全部红色零件改为蓝色;
(7)用SQL语句将(S2,P4,J6,400)插入供应情况表;
(8)用SQL语句建立在城市上海的工程项目视图J_Shanghai,并要求进行修改和插入操作时仍需保证该视图只有上海的项目,列名同J表;
(9)用T-SQL语句建立在J表建立触发器J_insert,当有新项目插入时,打印"XXX已插入!","XXX"为项目名Jname varchar(10)。
答:
(1)
(2)
create table S
(Sno char(6) primary key,
Sname char(10),
Status int,
City char(20))
(3)
select Pno,Pname
from P
where Color=‘红’
(4)
select Color,AVG(Weight) as AvgWeight
from P
group by Color
order by AvgWeight desc
(5)
select Pname,Number
from P,SPJ
where P.Pno=SPJ.Pno and P.no=‘J1’
(6)
update P
set Color=‘蓝’
where Color=‘红’
(7)
insert into SPJ
values(‘S2’,‘P4’,‘J6’,400)
(8)
create view J_Shanghai
as
select *
from J
where City=‘上海’
with check option
(9)
create trigger J_insert
on J
after insert
as
declare @ Jn varchar(10)
select @Jn=Jname from inserted
print @Jn+‘已插入!’
五、设计题(每小题5分,共10分)
- 设有商店和顾客两个实体,“商店”有属性商店编号、商店名、地址、电话,“顾客”有属性顾客编号、姓名、地址、年龄、性别。
假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。
(1)试画出E-R图,注明属性和联系类型;
(2)将E-R模型转换成关系模式,要求关系模式主码加下划线表示。
答:
(1)
(2)
顾客(顾客编号,姓名,地址,年龄,性别)
商店(商店编号,商店名,地址,电话)
购物(顾客编号,商店名称,日期,消费金额)