收藏 分销(赏)

数据库管理与开发---SQL数据库-A卷及答案.docx

上传人:二*** 文档编号:4575705 上传时间:2024-09-30 格式:DOCX 页数:6 大小:32.27KB 下载积分:5 金币
下载 相关 举报
数据库管理与开发---SQL数据库-A卷及答案.docx_第1页
第1页 / 共6页
本文档共6页,全文阅读请下载到手机保存,查看更方便
资源描述
20**-20**学年第*学期期末考查试卷(A卷) 课程名称:数据库考试班级: 题号 . —* 四 总分 得分 评分人 一、数据库设计题(共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 柯思扬 男 信息系 10002 孙 明 男 管理系 (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的创建,若读者没有借阅此书,贝U显示'对不起,你没有借 阅此书,故而无法进行此次还书操作,请核实!'信息。 use Librarygocreate @no char(10),@bid char( 10)asif not exists()begin print,对不起,你没有借阅此书,故而无法进行此次还书操作,请核实!’end2、在借阅表中创建一个触发器:tri_Book,若要借的书已无库存,则无法进行借书操作,即无法 在'借阅表'中插入记录。 createonfor insert asdeclare @btotal varchar( 10),@bborrowed varchar( 10)select @比00\)\¥£(1=图书编号 from insertedselect @btotal=库存量 from 书籍表 where 图书编号=@bborrowedif()begin rollback transactionprint,借阅失败!’print,对不起,此书己经没有库存,无法进行本次借书操作!’endgo四、程序题(共15分)1、读者还书存储过程:ReturnBook_l的创建,成功还书时将归还否字段的'否'改成'是',还 书日期为当前时间,显示“成功地向图书馆归还!气2、用借书证号和图书编号为“10001”和“jl”来验证存储过程。 该接 sa 逃度 渤V一否营分一夕击专旨 B i EJ音份 蠡据库上次SWB期 无 」教据库日志上次备份日期 无 ='I ® library 状态 正常 所有者 sa 创建日期 2015/6/5 07:19:45 大小 4 00 RB 可用空i目 1 82 HB 用户教 4 白教 曰维护 ■排序叔则Chin««_PRC_CI_AS 名称 澈据库的名称。 XXXXX学院 20**-20**学年第*学期期末考查试卷参考答案(A卷) 课程名称: 数据座考试班级: XXXXXXXXXXXXXXXXXXXXXXX一、数据库设计题(共50分)1、以“library”为名称创建一个数据库。该数据库中包含一个主数据文件sdata.mdf,存放路径为 “d:\data\”; 一个事务日志文件slog.ldf,存放路径为“d:\data\”。其他设置自定。(6分)取消 取消 取消 取消 I诵定 2、在上题创建好的数据库中,按如下要求创建三张表。(每个表正确创建得8分,共24分) 日□ dbo.书籍表 曰口列|T1 序号(int, not null) ?图书第号(PK, char(lO), not null) 国 书名(varchar(50), not null) 司 作者(varchar(20)f not null) 国价格(money, null) 国 出版社(varchar(50), not null) 隹]出版日期(smalldatetime, null) 国库存星(int, not null)日以疆f PK_书辱日□约束13 CK_书畀 □踪发器 日□素引A PK_书籍表(聚集)田□统计信息Bdbo.读者表曰口列,借书证号(PK, char(10), not null)[J]姓名(varchar(50), not null) 国 ffiSU (char(2), not null) [I]单位(varchar(50), null) U 联系电话(char(ll), null) 日口通f PK_读者表日□约束建]DF_读者表_性§!)国□ •触发器—SE:2 Idbo .借阅表曰以列 f 图书第号(FK, char(lO), not null) ?信书证号(FK, char(lO), not null) [J]借书日期(smalldatetime, not null) 国还书日期(smalldatetime, null) 匡]归还否(char(2), not null) f FK_借阅表_读者表 f FKJW阅表—书畀 □约束—4人sea3、在“library”数据库中插入以下记录。(每小题4分,共12分) 请截图(打开数据表): 序号 图书编号 书名 作者 价格 出版社 出版日期 库存里 1 jl 计算机基础 刘石 29.0000 机械工业出版社 2014/2/100^)0:00 5 2 j2 数据库应用教程 李刚 32.0000 电子工业出版社 2014/9/100:00:00 8 AAJLL MJLL NULL NULL NULL NULL NULL NULL 4、为读者表创建一个“姓名”列的非聚集索引文件。(4分) 请截图(索引属性): 借书证号 姓名 性别 单位 联系电话 10001 柯思扬 工程技术系 10002 孙一明 工商管理系 NULL NULL NULL NULL NULL 图书编号 借书证号 借书曰期 还书日期 归还否 jl 10001 2015/6/3 00:00:00 2015/12/3 00:0... 否1 j2_ 10001 2015/6/3 00:00:00 2015/12/3 00:0... 否 NULL AAJLL AAJLL NULL NULL 曰□索引血)PK_读者表(聚集)血姓名(不唯一,非聚集)5、创建“读者借阅信息”视图,包括借书证号、姓名、书名、还书日期等信息。(4分) 请截图(打开视图,展开至列): 日□视囹国□系统视囹日回 dbo.viewl日口列 言 信书证号(char(10), not null) 图姓名(varchar(50), not null) 匡]书名(varchar(50), not null) 匡]还书日期(smalldatetime, null) 国□触发器二、查询设计题(每小题5分,共25分)- select夫from 读者表where 姓名='列'一明'. a select * from读者表where单位in (,信息系,,,电子系,)6. select书名,作者from书籍表where书名like,计算机%,. select书名from书籍表where图书编号in(select图书编号from借阅表where借书证号= (select借书证号from读者表where姓名=,柯思扬,)). select b.借书证号,count (*)借书本数from书籍表a,借阅表bwhere a.图书编号=b .图书编号and借书证号=* 10001T group by b・借书证号order by b・借书证号三、填空题(每空2分,共10分)1> procedure2、select * from 借阅表 where借书证号=@no and图书编号=@Bid 3、trigger tri_Book4、借阅表for insert5、@btotal=Obegin四、程序题(共15分)1、读者还书存储过程:ReturnBook.m创建,成功还书时将归还否字段的'否'改成'是',还 书日期为当前时间,显示“成功地向图书馆归还!气2、用借书证号和图书编号为“10001 ”和“jl”来验证存储过程。 create procedure ReturnBook_l@no varchar(10),@Bid varchar (30)asif exists (select夫from借阅表where借书证号=@。。and图书编号=@Bid and归还否 =,否,)beginUpdate借阅表set归还否=,是七还书日期=getdate () where借书证号=@。0 and图书编号=@Bid Select,成功地向图书馆归还,endgoEXEC ReturnBook 1T10001 \ 1 jl1
展开阅读全文

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


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 数据库/数据算法

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

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

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

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

客服