南通农院07--08学年度第2学期期末考试试卷(A卷)
网络专业级网络数据库课程
题号一二三四五总分统分人
得分
一.选择题:本大题共13小题;每小题2分,共26分。
在每小题给出的四个选择中,只有一项是符合题目要求
的,把所选择项前的字母填在下表中对应的题号下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1.()是位于用户和操作系统之间的一层数据管理软件。数据库在建立、
使用和维护时由其统一管理、统一控制。
A. DB B.DBMS C.DBS D.DBA
2. SQL语言允许使用通配符进行字符串匹配的操作,其中‘%’可以表示
()
A、零个字符
B、1个字符
C、多个字符
D、以上都可以
3.下列哪一个数据库不是SQL Server 2000的系统数据库()
A.master数据库 B.msdb数据库
C.pubs数据库 D.model数据库
4.下列四项中,可以直接用于表示概念模型的是( )。
得分评卷人
密
封
线
内
不
要
答
题
,
班
级
、
姓
名
、
学
号
必
须
写
在
密
封
线
内
。
班
级
姓
名
学
号
…
…
…
…
…
…
…
…
…
…
密
…
…
…
…
…
…
…
…
…
…
…
…
封
…
…
…
…
…
…
…
…
…
…
…
…
线
…
…
…
…
…
…
…
…
…
…
…
…
A. 网状模型
B.关系模型
C.层次模型
D.实体-联系(E-R)模型
5.下列四项中说法不正确的是( )
A. 数据库避免了一切数据的重复
B.数据库中的数据可以共享
C. 数据库减少了数据冗余
D.数据库具有较高的数据独立性
6.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是( )
A.多对多
B.一对一
C.多对一
D.一对多
7.关系数据库中空值(NULL)相当于( )
A. 零(0)
B. 空白
C. 零长度的字符串
D. 没有输入
8.事务有多个性质,其中不包括( )
A.隔离性
B. 不可撤消
C.原子性
D. 一致性
9.一个电视经销商在表Tvtype 中维护库存的Tvs信息,下述哪条语句能显示价格最昂贵的三种电视机的信息?( )
A. select top3 cDiscription from Tvtype order by iprice asc
B. select cDiscription from Tvtype where max(iprice)>3
C. select top3 cDiscription from Tvtype order by iprice desc
D. select cDiscription max(iprice) from Tvtype order by iprice
10.假如采用关系数据库系统来实现应用,在数据库设计的( )阶段,需要将E-R模型转换为关系数据模型。
A.概念设计
B.物理设计
C. 运行阶段
D. 逻辑设计
11.取出关系中的某些列,并消去重复的元组的关系运算称为( )
A.取列运算
B. 投影运算
C.连接运算
D. 选择运算
12.一家航空公司把一年中飞行距离(idistancetravelled)超过10000里的客户信息转移到一张称为flyersclub 的表中,他们的详细情况被记录在表flyers ( )
A. insert into flyersclub from flyers where idistancetravelled>=10000
B. insert flyersclub (idistancetravelled) values from flyers where idistancetravelled>=10000
C.insert into flyersclub from flyers where (idistancetravelled)values>=10000
D. select * into flyersclub from flyers where
idistancetravelled >=10000
13. 系统死锁属于( )
A.事务故障
B.程序故障
C.系统故障
D.介质故障
二.填空题:本大题共9小题,14个填空;每空1分,共14分。
答案请写在试题中的横线上。
1.数据库系统中常用的三种数据模型有层次模型、__________和__________。
2.SQL语言由数据定义语言、和组成。
3.使用命令可以增加数据库和事务日志的容量。
4.关系模式的三类完整性约束条件分别是__________、参照完整性约束和__________。
5.如果一个关系不满足2NF,则该关系一定也不满足__________(在1NF、2NF、3NF 范围内)。
6.关键字是能唯一标识每一行的列或列的组合。一个表可能有多个关键字,选定其中一个作为主关键字,其余的称为。
7. 索引有两种类型:和。
8.当在一个已经存放了数据的表上增加主键时,SQL Server会自动对表中的数据进行检查,以确保这些数据能够满足主键约束的要求。问:主键约束满足
和两个要求。
9. 将视图v_Course重命名为v_newCourse的SQL语句是:。
得分评卷人
三.操作题:本大题共13小题;各小题分值不等,共60分,请
按要求上机操作。
销售数据库Sales中存在这样的三张表:
1.客户表(Customer)
客户编号(CusNo) 姓名(CusName) 地址(Address) 电话(Tel)
C001 杨婷北京010-*******
C002 李和平上海021-********
C003 叶新成都024-*******
C004 冯辰诚上海021-********
产品编号(ProNo) 品名(ProName) 单价(price) 库存数量(Stocks) P0001 液晶电视5600.00 800
P0002 空调2390.00 460
P0003 洗衣机3700.00 600
P0004 电热水器890.00 120
3.销售表(ProOut)
销售日期
(SaleDate)
客户编号(CusNo) 产品编号(ProNo) 销售数量
(Quantity)
2007-10-27 C001 P0001 3
2007-11-06 C004 P0003 40
得分评卷人
2007-12-27 C001 P0003 5
2008-3-15 C002 P0002 12
2008-05-02 C003 P0002 21
2008-05-02 C003 P0001 9
2008-09-21 C004 P0001 30
2008-11-21 C004 P0001 73
按要求完成下列题目:
(1)建立销售数据库Sales的以上三个表。(3分)
(2)实现各表的实体完整性要求。(3分)
(3)在Customer上基于CusName列创建非惟一索引;在Product上基于ProName 列创建惟一索引;在ProOut上基于SaleDate列创建聚集的、惟一索引。(3分)
(4)在ProOut表上设置外键,保证录入时的产品代码都在产品表中存在的。(3分)
(5)创建一规则限定只能录入大于0的值,然后将其绑定到ProOut表上Quantity列。(3分)
(6)查询销售数量超过100的产品号。(3分)
(7)创建一自定义函数sumMoney,要求能够利用该函数计算出销售金额,并进行测试,利用该函数计算出每种产品(ProNo)的销售金额。(5分)
(8)查询购买了产品号“P0002”的客户编号、客户名和电话,查询结果按客户名降序排列。(5分)
(9)在查询的基础上创建一张新表Cus,要求显示客户“C004”在2008年购买的产品号、数量。(6分)
(10)创建视图viewPro,要求显示每种产品的销售量和销售金额(6分)(11)创建存储过程p_Pro, 要求能够根据指定的客户编号,统计该客户购买每种产品的产品号、数量。(8分)
(12)创建一个触发器t_Stocks,要求当插入、更新、删除销售表(ProOut)的销售记录时,根据销售数量(Quantity)的变化,能更新产品表(Product)中相应的库存数量(Stocks) (8分)
(13)备份该数据库Stu_info。(4分)
《网络数据库》期末试卷(一)
答案:
一.选择题
二.填空题
1 关系模型,网状模型 6 候选关键字
2 数据操作语言,数据控制语言7 聚集索引,非聚集索引
3 ALTER DATABASE 8 主键值要唯一,不允许为NULL值4
域完整性约束,实体(表)完整性约
束
9 Exec sp_ rename v_Course,v_newCourse
5 3NF
三.操作题
1.
(1) 建立数据库Sales的三个表客户表(Customer)、产品表(Product)、销
售表(ProOut)
(2)客户表(Customer)的主键为:客户编号(CusNo)
产品表(Product)的主键为:产品编号(ProNo)
销售表(ProOut)的主键为:销售日期(SaleDate)、客户编号(CusNo)、
产品编号(ProNo)
(3)CREATE INDEX IX_Customer ON Customer (CusName)
CREATE UNIQUE INDEX IX_Product ON Product (ProName)
CREATE UNIQUE CLUSTERED INDEX IX_ProOut ON ProOut (SaleDate)
(4)USE Sales
GO
1 2 3 4 5 6 7 8 9 10 11 12 13
B D
C
D A C D B C D B D A
ALTER TABLE ProOut
ADD CONSTRAINT FK_ ProOut_ProNo FOREIGN KEY (ProNo)
REFERENCES Product(ProNo)
GO
(5)CREATE RULE RU_ProOut as @x>0
EXEC sp_bindrule RU_ProOut, 'ProOut. Quantity’
(6)Select ProNo
from ProOut
group by ProNo
having sum(Quantity)>100
(7)create function sumMoney (@x Decimal,@y Decimal)
returns Decimal
as
begin
return(@x*@y)
end
go
--测试
select PO.ProNo,ProName,dbo.sumMoney (price, sum(Quantity)) as '销售金额'
from Product as P, ProOut as PO
where P.ProNo=PO.ProNo
group by PO.ProNo,ProName,price
(8)select P.CusNo, CusName,Tel
from ProOut as p, Customer as C
where P.ProNo=’P0002’ and P . CusNo = C . CusNo
order by CusName desc
(9)select CusNo, sum(Quantity)
from ProOut
where CusNo = ’C004’ and SaleDate > '2007-12-31'
(10)create view viewPro
as
select PO.ProNo,sum(Quantity) as '销售量',sum(Quantity *price) as '销售金额'
from Product as P, ProOut as PO
where P.ProNo=PO.ProNo
group by PO.ProNo,price
(11)CREATE PROCEDURE p_Pro
@ Cus No VARCHAR(8)
AS
Select Cus No ,ProNo,sum(Quantity)
from ProOut
where Cus No =@ Cus No
group by Cus No, ProNo
(12)create trigger t_Stocks on Product
for insert,delete,update
as
update Product set Stocks =Stocks -Quantity where ProNo=(select ProNo from INSERTED)
update Product set Stocks=Stocks+Quantity where ProNo=(select ProNo from DELETED)
(13)方法一:使用企业管理器
选中数据库Sales,右击,选“所有任务”子菜单,然后点击“备份数据库”命令,在“备份”选项中选中“数据库-完全”。