收藏 分销(赏)

SQL网络数据库-2套期末考试卷AB试卷模拟测试卷-带答案.doc

上传人:丰**** 文档编号:3158012 上传时间:2024-06-21 格式:DOC 页数:12 大小:314.36KB
下载 相关 举报
SQL网络数据库-2套期末考试卷AB试卷模拟测试卷-带答案.doc_第1页
第1页 / 共12页
SQL网络数据库-2套期末考试卷AB试卷模拟测试卷-带答案.doc_第2页
第2页 / 共12页
点击查看更多>>
资源描述
2016-2017学年第一学期期末考查试卷(A卷) 课程名称: 网络数据库 考试班级: 计算机应用技术(网络系统管理)1501 计算机应用技术(网站建设与图像处理)1501 题 号 一 二 三 四 总分 得 分 评分人 一、数据库设计题(共50分) 1、以“library”为名称创建一个数据库。该数据库中包含一个主数据文件tsdata.mdf,存放路径为“d:\data\”;一个事务日志文件tslog.ldf,存放路径为“d:\data\”。其他设置自定。(6分) 请截图(数据库文件属性): 2、在上题创建好的数据库中,按如下要求创建三张表。(每个表正确创建得8分,共24分) 表1 书籍表:用来存储书籍的基本信息 字段名称 数据类型 长度 是否为空 说明 序号 int 非空 初始值和增量均为1 图书编号 char 10 非空 主键 书名 varchar 50 非空 作者 varchar 20 非空 价格 Money 空 出版社 varchar 50 非空 出版日期 smalldatetime 空 库存量 int 非空 >=0 请截图(对象资源管理器,一直展开到“列”,有约束设置的展开至“键”和“约束”): 表2读者表:用来存储读者的基本信息 字段名称 数据类型 长度 是否为空 约束 借书证号 char 10 非空 主键 姓名 varchar 20 非空 性别 char 2 非空 默认值为“男” 单位 varchar 50 空 联系电话 char 11 空 请截图(对象资源管理器,一直展开到“列”,有约束设置的展开至“键”和“约束”): 表3 借阅表:存储读者借阅的信息 字段名称 数据类型 长度 是否为空 约束 图书编号 char 10 非空 外键,参照书籍表 借书证号 char 10 非空 外键,参照读者表 借书日期 smalldatetime 非空 还书日期 smalldatetime 空 归还否 char 2 否 请截图(对象资源管理器,一直展开到“列”,有约束设置的展开至“键”和“约束”): 3、在“library”数据库中插入以下记录。(每小题4分,共12分) (1)在书籍表中插入以下数据: 图书编号 书名 作者 价格 出版社 出版日期 库存量 J1 计算机基础 刘大石 29 机械工业出版社 2014/2/1 5 J2 数据库应用教程 李刚 32 电子工业出版社 2014/9/1 8 (2)在读者表中插入以下数据: 借书证号 姓名 性别 单位 联系电话 10001 柯思扬 男 信息系 13837482123 10002 孙一明 男 管理系 13978621278 (3)在借阅表中插入以下数据: 图书编号 借书证号 借书日期 还书日期 归还否 J1 10001 2015/6/3 2015/12/3 否 J2 10001 2015/6/3 2015/12/3 否 请截图(打开数据表): 4、为读者表创建一个“姓名”列的非聚集索引文件。(4分) 请截图(索引属性): 5、创建“读者借阅信息”视图,包括借书证号、姓名、书名、还书日期等信息。(4分) 请截图(打开视图): 二、查询设计题(每小题5分,共25分) 1、在library数据库中查询“孙一明”的相关信息。 请粘贴T-SQL查询语句: 2、查询信息系或电子系的读者信息。 请粘贴T-SQL查询语句: 3、查找书名以“计算机”打头的所有图书和作者。 请粘贴T-SQL查询语句: 4、查找姓名为“柯思扬”借阅书本的书名。 请粘贴T-SQL查询语句: 5、查询借书证号为“10001”所借书本的本数,显示借书证号和借书本数,并按借书证号升序排序。(4分) 请粘贴T-SQL查询语句: 三、填空题(每空2分,共10分) 1、读者还书存储过程:ReturnBook的创建,若读者没有借阅此书,则显示‘对不起,你没有借阅此书,故而无法进行此次还书操作,请核实!’信息。 use Library go create _____________________ @no char(10),@bid char(10) as if not exists(_________________________________________________________) begin print'对不起,你没有借阅此书,故而无法进行此次还书操作,请核实!' end 2、在借阅表中创建一个触发器:tri_Book,若要借的书已无库存,则无法进行借书操作,即无法在‘借阅表’中插入记录。 create ______________________ on ______________ for insert as declare @btotal varchar(10),@bborrowed varchar(10) select @bborrowed=图书编号 from inserted select @btotal=库存量 from 书籍表 where 图书编号=@bborrowed if(_______________) begin rollback transaction print '借阅失败!' print'对不起,此书已经没有库存,无法进行本次借书操作!' end go 四、程序题(共15分) 1、读者还书存储过程:ReturnBook_1的创建,成功还书时将归还否字段的‘否’改成‘是’,还书日期为当前时间,显示“成功地向图书馆归还!”。 2、用借书证号和图书编号为“10001”和“j1” 来验证存储过程。 系 年级 专业 班级 姓名 学号 . ……………………密……………………………………封………………………………线……………………………… 浙江东方职业技术学院 2016-2017学年第一学期期末考查试卷(B卷) 课程名称: 网络数据库 考试班级: 计算机应用技术(网络系统管理)1501 计算机应用技术(网站建设与图像处理)1501 题 号 一 二 三 四 总分 得 分 评分人 一、单选题(每题2分,共20分) ( )1、下列不能启动SQL Server服务的方法: A、使用SQL Server配置管理器 B、使用Windows的管理工具 C、使用 net start mssqlserver 命令 D、在查询编辑器中编写T-SQL程序 ( )2、部分匹配查询中有关通配符“%”的正确的叙述是 。 A、“%”代表多个字符 B、“%”可以代表零个或多个字符 C、“%”不能与“_”一同使用 D、“%”代表一个字符 ( )3、在SELECT子句中,如果想要返回结果集中不包含相同的行,应该使用 关键字。 A、TOP B、AS C、DISTINCT D、JOIN ( )4、 是表中用来唯一标识的每行记录。 A、外键 B、主键 C、索引 D、数据库完整性 ( )5、SQL 中,"GRADE NOT BETWEEN 60 AND 90"的语义是 。 A、GRADE<60 OR GRADE>90 B、GRADE<= 60 OR GRADE>= 90 C、GRADE<>60 AND GRADE<>90 D、GRADE<>60 OR GRADE<>90 ( )6、 简称DBA。 A、数据库管理员 B、数据库 C、数据库管理系统 D、计算机硬件 ( )7、在SQL中,可以使用 语句执行恢复数据库的操作。 A、BACKUP DATABASE B、RESTORE DATABASE C、CREATE DARABASE D、DROP DATABASE ( )8、设一个班级可选修多门课程,一门课程可被多个班级选修,班级与课程之间是 。 A、一对一的联系 B、一对多的联系 C、多对一的联系 D、多对多的联系 ( )9、SQL Server2005的数据库中主数据文件的扩展名是        。 A、.mdf B、.ndf C、.ldf D、.dbf ( )10、当表中引入 时,会提高记录的查询速度。 A、外键 B、主键 C、索引 D、数据库完整性 二、数据库设计题(共40分) 根据如下E-R图,将其转换为逻辑数据库。 学生 课程 选修 学号 姓名 性别 班级 成绩 课程号 学分 课程名 m n 1、转换成如下关系表(关系表参考:表名(字段1,字段2,…))(6分) 2、确定关系中的主键,分别为: 、 、 。(6分) 3、创建一个名字为“stu_course”的数据库。要求主数据文件名为“student_data.mdf”,其他参数自定义。(数据库成功创建得4分) 请截图(数据库文件属性): 4、根据1中的关系表,在stu_course库中创建数据表。(每个表正确创建得6分,共18分) 请截图(对象资源管理器,一直展开到“列”): 5、创建立一个“课程名”列的非聚集索引文件。(5分) 请截图(索引属性): 6、创建学生成绩视图,包括学号、姓名、课程名、成绩等信息。(5分) 请截图(打开视图): 三、查询设计题(共25分) 1、附加数据库companyinfo(数据库文件在paperB中)。(附加成功得5分) 请截图(对象资源管理器): 2、查询雇员表employee中薪水超过3000元的雇员的姓名和薪水。(5分) 请粘贴T-SQL查询语句: 3、查询雇员表employee中所有姓“章”的雇员的信息。(5分) 请粘贴T-SQL查询语句: 4、在产品表product中按产品的种类分类,求出各种类型产品的价格总和、平均单价以及各类产品的种类数。(5分) 请粘贴T-SQL查询语句: 5、查询所有订购了“鼠标”产品的公司信息。(5分) 请粘贴T-SQL查询语句: 四、填空题(每空3分,共15分) 1、创建存储过程P2,它能够根据用户给定的类别ID统计具有该ID的产品名称数,并将产品名称数返回给用户。 /*创建存储过程*/ CREATE PROCEDURE P2 @category int , @ProductNum smallint OUTPUT AS SET = ( SELECT FROM product WHERE 类别ID = @category ) PRINT @ProductNum /*执行存储过程*/ DECLARE @category int ,@ProductNum smallint SET @category = 1 EXEC P2 SELECT @ProductNum 2、创建一个修改触发器,用于防止用户修改表employee的雇员ID。 CREATE TRIGGER employee_Update ON employee FOR AS IF UPDATE (雇员ID) BEGIN RAISERROR ('你不能更新这一列',10,1) END XXXXX学院 2016-2017学年第一学期期末考查试卷参考答案 (A卷) 课程名称: 网络数据库 考试班级: XXXXXXXXXXXXXXXXXXXXXXX 一、数据库设计题(共50分) 1、以“library”为名称创建一个数据库。该数据库中包含一个主数据文件sdata.mdf,存放路径为“d:\data\”;一个事务日志文件slog.ldf,存放路径为“d:\data\”。其他设置自定。(6分) 2、在上题创建好的数据库中,按如下要求创建三张表。(每个表正确创建得8分,共24分) 3、在“library”数据库中插入以下记录。(每小题4分,共12分) 请截图(打开数据表): 4、为读者表创建一个“姓名”列的非聚集索引文件。(4分) 请截图(索引属性): 5、创建“读者借阅信息”视图,包括借书证号、姓名、书名、还书日期等信息。(4分) 请截图(打开视图,展开至列): 二、查询设计题(每小题5分,共25分) 1. select * from 读者表where 姓名='孙一明' 2. a select * from 读者表where 单位in ('信息系','电子系') 6 3. select 书名,作者from 书籍表where 书名like '计算机%' 4.select 书名from 书籍表where 图书编号in (select 图书编号from 借阅表where 借书证号= (select 借书证号from 读者表where 姓名='柯思扬')) 5. select b.借书证号,count(*) 借书本数 from 书籍表a,借阅表b where a.图书编号=b.图书编号and 借书证号='10001' group by b.借书证号 order by b.借书证号 三、填空题(每空2分,共10分) 1、procedure 2、select * from 借阅表 where 借书证号=@no and 图书编号=@Bid 3、trigger tri_Book 4、借阅表for insert 5、@btotal=0begin 四、程序题(共15分) 1、读者还书存储过程:ReturnBook_1的创建,成功还书时将归还否字段的‘否’改成‘是’,还书日期为当前时间,显示“成功地向图书馆归还!”。 2、用借书证号和图书编号为“10001”和“j1” 来验证存储过程。 create procedure ReturnBook_1 @no varchar(10),@Bid varchar(30) as if exists(select * from 借阅表where 借书证号=@no and 图书编号=@Bid and 归还否='否') begin Update 借阅表set 归还否='是',还书日期=getdate() where 借书证号=@no and 图书编号=@Bid Select '成功地向图书馆归还' end go EXEC ReturnBook_1 '10001','j1' XXXXXX学院 2016-2017学年第一学期期末考查试卷参考答案 (B卷) 课程名称: 网络数据库 考试班级: XXXXXXXXXXXXXXXXXXXX 一、单选题(每题2分,共20分) 1 2 3 4 5 6 7 8 9 10 D B C D A A B B A C 二、数据库设计题(共40分) 根据如下E-R图,将其转换为逻辑数据库。 学生 课程 选修 学号 姓名 性别 班级 成绩 课程号 学分 课程名 m n 1、转换成如下关系表(关系表参考:表名(字段1,字段2,…))(6分) 学生(学号,姓名,性别,班级) 课程(课程号,课程名,学分) 选修(学号,课程名,成绩) 2、确定关系中的主键,分别为:学号、课程号、学号与课程号。(6分) 3、创建一个名字为“stu_course”的数据库。要求主数据文件名为“student_data.mdf”,其他参数自定义。(数据库成功创建得4分) 4、根据1中的关系表,在stu_course库中创建数据表。(每个表正确创建得6分,共18分) 5、创建立一个“课程名”列的非聚集索引文件。(5分) 6、创建学生成绩视图,包括学号、姓名、课程名、成绩等信息。(5分) 三、查询设计题(共25分) 1、附加数据库companyinfo(数据库文件在paperB中)。 (附加成功得5分) 2、查询雇员表employee中薪水超过3000元的雇员的姓名和薪水。(5分) Select 姓名,薪水 from employee Where 薪水>3000 3、查询雇员表employee中所有姓“章”的雇员的信息。(5分) Select * from employee Where 姓名 LIKE ‘章’ 4、在产品表product中按产品的种类分类,求出各种类型产品的价格总和、平均单价以及各类产品的种类数。(5分) Select sum(价格 ),avg(价格),count(名称) From product Group by 种类 5、查询所有订购了“鼠标”产品的公司信息。(5分) Select * from company join product on company.公司号= product. 公司号 Where名称=’鼠标’ 四、填空题(每空3分,共15分) 1、创建存储过程P2,它能够根据用户给定的类别ID统计具有该ID的产品名称数,并将产品名称数返回给用户。 /*创建存储过程*/ CREATE PROCEDURE P2 @category int , @ProductNum smallint OUTPUT AS SET ProductNum = ( SELECT count(产品名称) FROM product WHERE 类别ID = @category ) PRINT @ProductNum /*执行存储过程*/ DECLARE @category int ,@ProductNum smallint SET @category = 1 EXEC P2 @category SELECT @ProductNum 2、创建一个修改触发器,用于防止用户修改表employee的雇员ID。 CREATE TRIGGER employee_Update ON employee FOR update AS IF UPDATE (雇员ID) BEGIN rollback RAISERROR ('你不能更新这一列',10,1) END 12
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服