当前位置:首页 > 数据库试卷及答案
(3) 在Customer上基于CusName列创建非惟一索引;在Product上基于
ProName列创建惟一索引;在ProOut上基于SaleDate列创建聚集的、惟一索引。(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)在ProOut表上设置外键,保证录入时的产品代码都在产品表中存在
的。(3分)
USE Sales
GO
ALTER TABLE ProOut
ADD CONSTRAINT FK_ ProOut_ProNo FOREIGN KEY
(ProNo)
REFERENCES Product(ProNo)
GO
(5)创建一规则限定只能录入大于0的值,然后将其绑定到ProOut表上
Quantity列。(3分)
CREATE RULE RU_ProOut as @x>0
EXEC sp_bindrule RU_ProOut, 'ProOut. Quantity’
(6)查询销售数量超过100的产品号。(3分)
Select ProNo
from ProOut group by ProNo
having sum(Quantity)>100
(7) 创建一自定义函数sumMoney,要求能够利用该函数计算出销售金额,
网络数据库 试题第5页(共8页)
并进行测试,利用该函数计算出每种产品(ProNo)的销售金额。(5分)
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) 查询购买了产品号“P0002”的客户编号、客户名和电话,查询结果按
客户名降序排列。(5分)
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) 在查询的基础上创建一张新表Cus,要求显示客户“C004”在2008年
购买的产品号、数量。(6分)
select CusNo, sum(Quantity)
from ProOut
where CusNo = ’C004’ and SaleDate > '2007-12-31'
(10)
分)
create view viewPro
创建视图viewPro,要求显示每种产品的销售量和销售金额(6
as
select PO.ProNo,sum(Quantity) as '销售量',sum(Quantity *price)
网络数据库 试题第6页(共8页)
as '销售金额'
from Product as P, ProOut as PO where P.ProNo=PO.ProNo group by PO.ProNo,price
(11)
创建存储过程p_Pro, 要求能够根据指定的客户编号,统计该客
户购买每种产品的产品号、数量。(8分)
CREATE PROCEDURE p_Pro
@ CusNo VARCHAR(8) AS
Select CusNo ,ProNo,sum(Quantity)
from ProOut
where CusNo =@ CusNo group by CusNo, ProNo
(12)
创建一个触发器t_Stocks,要求当插入、更新、删除销售表
(ProOut)的销售记录时,根据销售数量(Quantity)的变化,能更新产品表(Product)中相应的库存数量(Stocks) (8分)
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)
备份该数据库Stu_info。(4分)
create table customer
( cusno char(10) primary key, cusname char(20), address char(20) , tel char(20) )
网络数据库 试题第7页(共8页)
create table product
( prono char(10) primary key, proname char(20), price char(20) , stocks int )
create table proout ( saledate datetime , cusno char(10), prono char(10) , quantity int,
foreign key (cusno) references customer (cusno), foreign key (prono) references product (prono), )
方法一:使用企业管理器
选中数据库Sales,右击,选“所有任务”子菜单,然后点击“备
份数据库”命令,在“备份”选项中选中“数据库-完全”。
网络数据库 试题第8页(共8页)
共分享92篇相关文档