无名公司SQL Server笔试题(二)

2014-11-23 21:52:06 · 作者: · 浏览: 27
e 30


4 Square 20


5 Square 30


6 Square 40


7 Circle 15


8 Circle 25


9 Circle 35


Periodically, the dimensions of the containers change. Frequently, the database users require the volume of a container. The volume of a container is calculated based on information in the shape and size tables.
You need to hide the details of the calculation so that the volume can be easily accessed in a SELECT query with the rest of the container information. What should you do


A. Create a user-defined function that requires ContainerID as an argument and returns the volume of the container.


B. Create a stored procedure that requires ContainerID as an argument and returns the volume of the container.


C. Add a column named volume to the container table. Create a trigger that calculates and stores volume in this column when a new container is inserted into the table.


D. Add a computed column to the container table that calculates the volume of the container.


填空题(1空1分共20分)


1、 如果设计的表不符合第二范式,可能会导致_______,________,_______。


2、 SQL是由_______语言,________语言,_______语言组成。


3、 SQL Server在两个安全级上验证用户,分别是______________,_____________________。


4、 自定义函数由___________函数,_______________函数,___________________函数组成。


5、 备份策略的三种类型是__________备份,_______________备份,___________________备份组成。


6、 启动一个显式事务的语句为__________,提交事务的语句为__________,回滚事务的语句为__________


7、 表的每一行在表中是惟一的实体属于__________完整性,使列的输入有效属于__________完整性,两个表的主关键字和外关键字的数据应该对应一致属于__________完整性。


简答题(共20分)


1、 在帮助中[ ,...n ] 意思是什么?(4分)


2、 请简述一下第二范式(4分)


3、 现有1销售表,它们结构如下:(4分)


id int (标识号)


codno char(7) (商品编码)


codname varchar(30) (商品名称)


spec varchar(20) (商品规格)


price numeric(10,2) (价格)


sellnum int (销售数量)


deptno char(3) (售出分店编码)


selldate datetime (销售时间)


要求:写出查询销售时间段在2002-2-15日到2002-4-29之间,分店编码是01的所有记录。


4、写一个存储过程,要求传入一个表名,返回该表的记录数(假设传入的表在数据库中都存在)(4分)


5、请简述UPDATE 触发器如何工作原理。(4分)


简答题:(共40分)


1、(5分)使用一条SQL语句找到重复的值及重复的次数:有一数据表ZD_ks,其中有字段BM,MC,。。。,请查询出在ZD_ks中BM有重复的值及重复的次数,没有的不要列出。如下表:
BM  DUPCOUNT
001   3
002   2


2、描述(5分)


表1 student 学生信息表


ID int 学生编号


Name varchar 学生姓名


Sex bit 性别(男0女1)


Class int 班级编号


表2 schedule 课程信息表


ID int 课程编号


Name varchar 课程名称


表3 Grade 成绩信息表


ID int 自动编号


UID int 学生编号


SID int 课程编号


Num int 考试成绩


(a)求各班的总人数(1分)


(b)求1班女生和男生的平均成绩(2分)


(c)各班”数据结构”(课程名称)不及格的人数(2分)


3、问题描述:(30分)


本题用到下面三个关系表:


CARD 借书卡。 CNO 卡号,NAME 姓名,CLASS 班级


BOOKS 图书。 BNO 书号,BNAME 书名,AUTHOR 作者,PRICE 单价,QUANTITY 库存册数


BORROW 借书记录。 CNO 借书卡号,BNO 书号,RDATE 还书日期


备注:限定每人每种书只能借一本;库存册数随借书、还书而改变。


要求实现如下15个处理:


1.找出借书超过5本的读者,输出借书卡号及所借图书册数。(2分)


2.查询借阅了”水浒”一书的读者,输出姓名及班级。(3分)


3.查询过期未还图书,输出借阅者(卡号)、书号及还书日期。(3分)


4.查询书名包括”网络”关键词的图书,输出书号、书名、作者。(2分)


5.查询现有图书中价格最高的图书,输出书名及作者。(2分)


6.查询当前借了”计算方法”但没有借”计算方法习题集”的读者,输出其借书卡号,并按卡号降序排序输出。(4分)


7.将”C01″班同学所借图书的还期都延长一周。(2分)


8.从BOOKS表中删除当前无人借阅的图书记录。(2分)


9.在BORROW表上建立一个触发器,完成如下功能:如果读者借阅的书名是”数据库技术及应用”,就将该读者的借阅记录保存在BORROW_SAVE表中(注ORROW_SAVE表结构同BORROW表)。(4分)


10.建立一个视图,显示”力01″班学生的借书信息(只要求显示姓名和书名)。(3分)


11.查询当前同时借有”计算方法”和”组合数学”两本书的读者,输出其借书卡号,并按卡号升序排序输出。(3分)