版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PAGE PAGE 1220*-20*学年第*学期期末考查试卷(A卷)课程名称: 数据库 考试班级: 题 号一二三四总分得 分评分人一、数据库设计题(共50分)1、以“library”为名称创建一个数据库。该数据库中包含一个主数据文件tsdata.mdf,存放路径为“d:data”;一个事务日志文件tslog.ldf,存放路径为“d:data”。其他设置自定。(6分)请截图(数据库文件属性):2、在上题创建好的数据库中,按如下要求创建三张表。(每个表正确创建得8分,共24分)表1 书籍表:用来存储书籍的基本信息字段名称数据类型长度是否为空说明序号int非空初始值和增量均为1图书编号char10
2、非空主键书名varchar50非空作者varchar20非空价格Money空出版社varchar50非空出版日期smalldatetime空库存量int非空=0请截图(对象资源管理器,一直展开到“列”,有约束设置的展开至“键”和“约束”):表2读者表:用来存储读者的基本信息字段名称 数据类型 长度 是否为空约束借书证号char10非空主键姓名varchar20非空性别char2非空默认值为“男”单位 varchar50空联系电话char11空请截图(对象资源管理器,一直展开到“列”,有约束设置的展开至“键”和“约束”):表3 借阅表:存储读者借阅的信息字段名称 数据类型 长度 是否为空约束图书
3、编号char10非空外键,参照书籍表借书证号char10非空外键,参照读者表借书日期smalldatetime非空还书日期smalldatetime空归还否char2否请截图(对象资源管理器,一直展开到“列”,有约束设置的展开至“键”和“约束”):3、在“library”数据库中插入以下记录。(每小题4分,共12分)(1)在书籍表中插入以下数据:图书编号书名作者价格出版社出版日期库存量J1计算机基础刘大石29机械工业出版社2014/2/15J2数据库应用教程李刚32电子工业出版社2014/9/18(2)在读者表中插入以下数据:借书证号姓名性别单位联系电话10001柯思扬男信息系13837482
4、12310002孙一明男管理3)在借阅表中插入以下数据:图书编号借书证号借书日期还书日期归还否J1100012015/6/32015/12/3否J2100012015/6/32015/12/3否请截图(打开数据表):4、为读者表创建一个“姓名”列的非聚集索引文件。(4分)请截图(索引属性):5、创建“读者借阅信息”视图,包括借书证号、姓名、书名、还书日期等信息。(4分)请截图(打开视图):二、查询设计题(每小题5分,共25分)1、在library数据库中查询“孙一明”的相关信息。请粘贴T-SQL查询语句:2、查询信息系或电子系的读者信息。请粘贴T-SQL查询语句:3、
5、查找书名以“计算机”打头的所有图书和作者。请粘贴T-SQL查询语句:4、查找姓名为“柯思扬”借阅书本的书名。 请粘贴T-SQL查询语句:5、查询借书证号为“10001”所借书本的本数,显示借书证号和借书本数,并按借书证号升序排序。(4分)请粘贴T-SQL查询语句:三、填空题(每空2分,共10分)1、读者还书存储过程:ReturnBook的创建,若读者没有借阅此书,则显示对不起,你没有借阅此书,故而无法进行此次还书操作,请核实!信息。use Librarygocreate _no char(10),bid char(10)asif not exists(_)beginprint对不起,你没有借阅
6、此书,故而无法进行此次还书操作,请核实!end2、在借阅表中创建一个触发器:tri_Book,若要借的书已无库存,则无法进行借书操作,即无法在借阅表中插入记录。create _on _for insert asdeclare btotal varchar(10),bborrowed varchar(10)select bborrowed=图书编号 from insertedselect btotal=库存量 from 书籍表 where 图书编号=bborrowedif(_)beginrollback transactionprint 借阅失败!print对不起,此书已经没有库存,无法进行本次
7、借书操作!endgo四、程序题(共15分)1、读者还书存储过程:ReturnBook_1的创建,成功还书时将归还否字段的否改成是,还书日期为当前时间,显示“成功地向图书馆归还!”。2、用借书证号和图书编号为“10001”和“j1” 来验证存储过程。 20*-20*学年第*学期期末考查试卷(B卷)课程名称: 数据库 考试班级: 题 号一二三四总分得 分评分人一、单选题(每题2分,共20分)( )1、下列不能启动SQL Server服务的方法:A、使用SQL Server配置管理器 B、使用Windows的管理工具 C、使用 net start mssqlserver 命令 D、在查询编辑器中编写
8、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、GRADE90 B、GRADE= 90 C、GRADE60 AND GRADE90 D、GRA
9、DE60 OR GRADE90( )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 Server2016的数据库中主数据文件的扩展名是。A、mdf B、ndf C、ldf D、dbf ( )10、当
10、表中引入 时,会提高记录的查询速度。A、外键 B、主键 C、索引 D、数据库完整性二、数据库设计题(共40分)根据如下E-R图,将其转换为逻辑数据库。学生课程选修学号姓名性别班级成绩课程号学分课程名mn1、转换成如下关系表(关系表参考:表名(字段1,字段2,)(6分)2、确定关系中的主键,分别为: 、 、 。(6分)3、创建一个名字为“stu_course”的数据库。要求主数据文件名为“student_data.mdf”,其他参数自定义。(数据库成功创建得4分)请截图(数据库文件属性):4、根据1中的关系表,在stu_course库中创建数据表。(每个表正确创建得6分,共18分)请截图(对象资
11、源管理器,一直展开到“列”):5、创建立一个“课程名”列的非聚集索引文件。(5分)请截图(索引属性):6、创建学生成绩视图,包括学号、姓名、课程名、成绩等信息。(5分)请截图(打开视图):三、查询设计题(共25分)1、附加数据库companyinfo(数据库文件在paperB中)。(附加成功得5分)请截图(对象资源管理器):2、查询雇员表employee中薪水超过3000元的雇员的姓名和薪水。(5分)请粘贴T-SQL查询语句:3、查询雇员表employee中所有姓“章”的雇员的信息。(5分)请粘贴T-SQL查询语句:4、在产品表product中按产品的种类分类,求出各种类型产品的价格总和、平均
12、单价以及各类产品的种类数。(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 ca
13、tegory int ,ProductNum smallint SET category = 1 EXEC P2 SELECT ProductNum2、创建一个修改触发器,用于防止用户修改表employee的雇员ID。CREATE TRIGGER employee_UpdateON employeeFOR ASIF UPDATE (雇员ID)BEGIN RAISERROR (你不能更新这一列,10,1) ENDXXXXX学院20*-20*学年第*学期期末考查试卷参考答案 (A卷)课程名称: 数据库 考试班级: XXXXXXXXXXXXXXXXXXXXXXX一、数据库设计题(共50分)1、以“l
14、ibrary”为名称创建一个数据库。该数据库中包含一个主数据文件sdata.mdf,存放路径为“d:data”;一个事务日志文件slog.ldf,存放路径为“d:data”。其他设置自定。(6分)2、在上题创建好的数据库中,按如下要求创建三张表。(每个表正确创建得8分,共24分)3、在“library”数据库中插入以下记录。(每小题4分,共12分)请截图(打开数据表):4、为读者表创建一个“姓名”列的非聚集索引文件。(4分)请截图(索引属性):5、创建“读者借阅信息”视图,包括借书证号、姓名、书名、还书日期等信息。(4分)请截图(打开视图,展开至列):二、查询设计题(每小题5分,共25分)1.
15、 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.借
16、书证号order by b.借书证号三、填空题(每空2分,共10分)1、procedure2、select * from 借阅表 where 借书证号=no and 图书编号=Bid3、trigger tri_Book4、借阅表for insert 5、btotal=0begin四、程序题(共15分)1、读者还书存储过程:ReturnBook_1的创建,成功还书时将归还否字段的否改成是,还书日期为当前时间,显示“成功地向图书馆归还!”。2、用借书证号和图书编号为“10001”和“j1” 来验证存储过程。 create procedure ReturnBook_1no varchar(10),B
17、id varchar(30)asif exists(select * from 借阅表where 借书证号=no and 图书编号=Bid and 归还否=否)beginUpdate 借阅表set 归还否=是,还书日期=getdate()where 借书证号=no and 图书编号=Bid Select 成功地向图书馆归还endgoEXEC ReturnBook_1 10001,j1 XXXXXX学院20*-20*学年第*学期期末考查试卷参考答案 (B卷)课程名称: 数据库 考试班级: XXXXXXXXXXXXXXXXXXXX 一、单选题(每题2分,共20分)12345678910DBCDAA
18、BBAC二、数据库设计题(共40分)根据如下E-R图,将其转换为逻辑数据库。学生课程选修学号姓名性别班级成绩课程号学分课程名mn1、转换成如下关系表(关系表参考:表名(字段1,字段2,)(6分)学生(学号,姓名,性别,班级)课程(课程号,课程名,学分)选修(学号,课程名,成绩)2、确定关系中的主键,分别为:学号、课程号、学号与课程号。(6分)3、创建一个名字为“stu_course”的数据库。要求主数据文件名为“student_data.mdf”,其他参数自定义。(数据库成功创建得4分)4、根据1中的关系表,在stu_course库中创建数据表。(每个表正确创建得6分,共18分)5、创建立一个
19、“课程名”列的非聚集索引文件。(5分)6、创建学生成绩视图,包括学号、姓名、课程名、成绩等信息。(5分)三、查询设计题(共25分)1、附加数据库companyinfo(数据库文件在paperB中)。(附加成功得5分)2、查询雇员表employee中薪水超过3000元的雇员的姓名和薪水。(5分)Select 姓名,薪水 from employeeWhere 薪水30003、查询雇员表employee中所有姓“章”的雇员的信息。(5分)Select * from employeeWhere 姓名 LIKE 章4、在产品表product中按产品的种类分类,求出各种类型产品的价格总和、平均单价以及各类产品的种类数。(5分)Select
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论