版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、上机实验题1相关知识:第6章第8章。目的:通过本实验,熟悉SQL Server 2012系统,掌握使用SQL Server管理控制器以及TSQL语句创建数据库和数据表的方法。实验内容:完成以下任务(1)创建一个数据库Library,其数据库文件存放在D:DB文件夹中。数据库的创建可以用以下SQL语句完成:CREATE DATABASE LibraryON ( NAME = Library, FILENAME = 'D:DBLibrary.MDF', SIZE = 10MB, MAXSIZE = 50MB, FILEGROWTH = 5MB)LOG ON ( NAME = Lib
2、rary , FILENAME = 'D:DBLibrary_Log.LDF', SIZE = 10MB, MAXSIZE = 20MB, FILEGROWTH = 5MB)数据库中包含如下4个关系表:depart(班号,系名)student(学号,姓名,性别,出生日期,班号)book(图书编号,图书名,作者,定价,出版社)borrow(学号,图书编号,借书日期)要求:depart表的“班号”列为主键,student表的“学号”列为主键,book表“图书编号”列为主键,borrow表的“学号”和“图书编号”列为主键。数据表的创建可以使用以下SQL语句完成:USE Library
3、CREATE TABLE depart(班号 int PRIMARY KEY,系名 char(20)CREATE TABLE student(学号 int PRIMARY KEY,姓名 char(10),性别 char(2),出生日期 datetime,班号 int)CREATE TABLE book(图书编号 char(10) PRIMARY KEY,图书名 char(40),作者 char(10),定价 float,出版社 char(30)CREATE TABLE borrow(学号 int,图书编号 char(10),借书日期 datetime,PRIMARY KEY CLUSTERED
4、(学号,图书编号)(2)使用SQL Server管理控制器或TSQL语句输入以下数据。 depart表包含如下数据:班号 系名- -0501 计算机系0502 计算机系0801 电子工程系0802 电子工程系 student表包含如下数据:学号 姓名 性别 出生日期 班号- - - - -1 张任 男 1995-01-02 0501 2 程华 男 1996-01-10 0501 3 张丽 女 1995-06-07 0502 4 王英 女 1994-12-10 0502 5 李静 男 1995-04-05 050210 许兵 男 1995-08-10 0801 11 张功 男 1995-06-0
5、2 0801 12 李华 男 1994-10-03 0801 13 马超 男 1996-02-03 0802 14 曾英 女 1994-03-06 0802 book表包含如下数据:图书编号 图书名 作者 定价 出版社- - - - -10011 C程序设计 李洪 24 清华大学出版社 10012 C程序设计 李洪 24 清华大学出版社 10013 C习题解答 李洪 12 清华大学出版社 10014 C习题解答 李洪 12 清华大学出版社10020 数据结构 徐华 29 人民邮电出版社 10021 数据结构 徐华 29 清华大学出版社 10023 高等数学 王涛 30 高等教育出版社 1003
6、4 软件工程 张明 34 机械工业出版社 20025 信息学 张港 35 清华大学出版社 20026 信息学 张港 35 清华大学出版社 20042 电工学 王民 30 人民邮电出版社 20056 操作系统 曾平 26 清华大学出版社 20057 操作系统 曾平 26 清华大学出版社 20058 操作系统 曾平 26 清华大学出版社 20067 数字电路 徐汉 32 高等教育出版社20140 数据库原理 陈曼 32 高等教育出版社20090 网络工程 黄军 38 高等教育出版社 borrow表包含如下数据:学号 图书编号 借书日期- - -1 10020 2013-12-051 20025 2
7、013-11-081 20059 2014-04-112 10011 2013-10-022 10013 2014-04-033 10034 2014-04-103 20058 2014-04-114 10012 2014-04-065 10023 2014-02-0310 20056 2014-02-0512 20067 2014-03-06相关TSQL语句如下:USE LibraryINSERT INTO depart VALUES(0501,'计算机系')INSERT INTO depart VALUES(0502,'计算机系')INSERT INTO d
8、epart VALUES(0801,'电子工程系')INSERT INTO depart VALUES(0802,'电子工程系')USE LibraryINSERT INTO student VALUES(1,'张任','男','1995-01-02',0501) INSERT INTO student VALUES(2,'程华','男','1996-01-10',0501) INSERT INTO student VALUES(3,'张丽','
9、;女','1995-06-07',0502) INSERT INTO student VALUES(4,'王英','女','1994-12-10',0502) INSERT INTO student VALUES(5,'李静','男','1995-04-05',0502)INSERT INTO student VALUES(10,'许兵','男','1995-08-10',0801) INSERT INTO student VA
10、LUES(11,'张功','男','1995-06-02',0801) INSERT INTO student VALUES(12,'李华','男','1994-10-03',0801) INSERT INTO student VALUES(13,'马超','男','1996-02-03',0802) INSERT INTO student VALUES(14,'曾英','女','1994-03-06',
11、0802) USE LibraryINSERT INTO book VALUES('10011','C程序设计','李洪',24,'清华大学出版社')INSERT INTO book VALUES('10012','C程序设计','李洪',24,'清华大学出版社') INSERT INTO book VALUES('10013','C习题解答','李洪',12,'清华大学出版社') INSERT INTO
12、 book VALUES('10014','C习题解答','李洪',12,'清华大学出版社')INSERT INTO book VALUES('10020','数据结构','徐华',29,'人民邮电出版社') INSERT INTO book VALUES('10021','数据结构','徐华',29,'清华大学出版社') INSERT INTO book VALUES('10023',&
13、#39;高等数学','王涛',30,'高等教育出版社') INSERT INTO book VALUES('10034','软件工程','张明',34,'机械工业出版社') INSERT INTO book VALUES('20025','信息学','张港',35,'清华大学出版社') INSERT INTO book VALUES('20026','信息学','张港',35,
14、39;清华大学出版社') INSERT INTO book VALUES('20042','电工学','王民',30,'人民邮电出版社') INSERT INTO book VALUES('20056','操作系统','曾平',26,'清华大学出版社') INSERT INTO book VALUES('20057','操作系统','曾平',26,'清华大学出版社') INSERT INTO bo
15、ok VALUES('20058','操作系统','曾平',26,'清华大学出版社') INSERT INTO book VALUES('20067','数字电路','徐汉',32,'高等教育出版社')INSERT INTO book VALUES('20080','数据库原理','陈曼',32,'高等教育出版社')INSERT INTO book VALUES('20090','
16、网络工程','黄军',38,'高等教育出版社')USE LibraryINSERT INTO borrow VALUES(1,'10020','2013-12-05')INSERT INTO borrow VALUES(1,'20025','2013-11-08')INSERT INTO borrow VALUES(1,'20059','2014-04-11')INSERT INTO borrow VALUES(2,'10011','2
17、013-10-02')INSERT INTO borrow VALUES(2,'10013','2014-04-03')INSERT INTO borrow VALUES(3,'10034','2014-04-10')INSERT INTO borrow VALUES(3,'20058','2014-04-11')INSERT INTO borrow VALUES(4,'10012','2014-04-06')INSERT INTO borrow VALUES
18、(5,'10023','2014-02-03')INSERT INTO borrow VALUES(10,'20056','2014-02-05')INSERT INTO borrow VALUES(12,'20067','2014-03-06')上机实验题2相关知识:第9章。目的:通过本实验,掌握使用T-SQL语言使用方法。实验内容:对于实验题1创建的Library数据库和表数据,编写程序实现如下功能并给出执行结果:(1)查询图书品种的总数目。(2)查询每种图书品种的数目。(3)查询各班的人数。(
19、4)查询各系的人数。(5)查询借阅图书学生的学号、姓名、书名和借书日期。(6)查询借有图书的学生学号和姓名。(7)查询每个学生的借书数目。(8)找出借书超过2本的学生学号、姓名和所借图书册数。(9)查询借阅了"操作系统"一书的学生,输出学号、姓名及班号。(10)查询每个班的借书总数。(11)若图书编号以前3位数字进行分类,查询每类图书的平均价。(12)查询平均价高于30的图书类别。(13)查询图书类别的平均价最高价。(14)假设借书期限为45天,查询过期未还图书编号、书名和借书人学号、姓名。(15)查询书名包括“工程”关键词的图书,输出书号、书名、作者(16)查询现有图书中
20、价格最高的图书,输出书名及作者(17)查询所有借阅“C程序设计”一书的学生学号和姓名,再查询所有借了“C程序设计”但没有借“C习题解答”的学生学号和姓名。(18)查询所有没有借书的学生学号和姓名。(19)查询每个系所借图书总数。(20)查询各出版社的图书总数。(21)查询各出版社的图书占图书总数的百分比(四舍五入到一位小数)。(22)查询各出版社的图书被借的数目。参考代码如下:(1)对应的程序如下:USE LibrarySELECT COUNT(DISTINCT(图书名) AS '图书品种数目' FROM book(2)对应的程序如下:USE LibrarySELECT 图书名
21、 AS '书名',COUNT(*) AS '数目' FROM bookGROUP BY 图书名执行结果如下:(3)对应的程序如下:USE LibrarySELECT 班号 AS '班号',COUNT(*) AS '人数' FROM studentGROUP BY 班号(4)对应的程序如下:USE LibrarySELECT sc.系名 AS '系名',COUNT(*) AS '人数' FROM student s,depart scWHERE s.班号=sc.班号GROUP BY sc.系名(5)对
22、应的程序如下:USE LibrarySELECT s.学号,s.姓名,b.图书名,bor.借书日期FROM student s,book b,borrow borWHERE s.学号=bor.学号 AND b.图书编号=bor.图书编号ORDER BY s.学号(6)对应的程序如下:USE LibrarySELECT s.学号,s.姓名FROM student sWHERE s.学号 IN (SELECT DISTINCT 学号 FROM borrow)(7)对应的程序如下:USE LibrarySELECT s.学号,s.姓名,COUNT(bor.学号) As '数目'FRO
23、M student s,borrow borWHERE s.学号=bor.学号GROUP BY s.学号,s.姓名(8)对应的程序如下:USE LibrarySELECT s.学号 '学号',s.姓名 '姓名',COUNT(bor.学号) As '借图书册数'FROM student s,borrow borWHERE s.学号=bor.学号GROUP BY s.学号,s.姓名HAVING COUNT(bor.学号)>=2(9)对应的程序如下:USE LibrarySELECT s.学号,s.姓名,s.班号 FROM student s,b
24、ook b,borrow borWHERE s.学号=bor.学号 AND b.图书编号=bor.图书编号 AND b.图书名='操作系统'ORDER BY s.班号(10)对应的程序如下:USE LibrarySELECT s.班号,COUNT(bor.学号) AS '总数'FROM student s,borrow borWHERE s.学号=bor.学号GROUP BY s.班号(11)对应的程序如下:USE LibrarySELECT SUBSTRING(图书编号,1,3) As '图书类别',CAST(AVG(定价) AS decima
25、l(4,1) AS '平均价'FROM bookGROUP BY SUBSTRING(图书编号,1,3)(12)对应的程序如下:USE LibrarySELECT SUBSTRING(图书编号,1,3) As '图书类别',CAST(AVG(定价) AS decimal(4,1) AS '平均价'FROM bookGROUP BY SUBSTRING(图书编号,1,3)HAVING AVG(定价)>30(13)对应的程序如下:USE LibrarySELECT MAX(平均价) AS '最高平均价'FROM (SELECT
26、SUBSTRING(图书编号,1,3) As '图书类别',CAST(AVG(定价) AS decimal(4,1) AS '平均价'FROM bookGROUP BY SUBSTRING(图书编号,1,3) a(14)对应的程序如下:USE LibraryPRINT '当前日期:'+CONVERT(char(10),GETDATE(),102)SELECT s.学号,s.姓名,bor.图书编号,b.图书名 FROM student s,book b,borrow borWHERE s.学号=bor.学号 AND b.图书编号=bor.图书编号
27、AND DATEDIFF(day,借书日期,GETDATE()>45(15)对应的程序如下:USE LibrarySELECT 图书编号,图书名,作者FROM bookWHERE 图书名 LIKE '%工程%' (16)对应的程序如下:USE LibrarySELECT 图书编号,图书名,作者FROM bookWHERE 定价=( SELECT MAX(定价) FROM book) (17)对应的程序如下:USE LibraryGOPRINT '借<C程序设计>的学生:'SELECT s.学号,s.姓名FROM student s,book b,borrow borWHERE s.学号=bor.学号 AND b.图书编号=bor.图书编号 AND b.图书名='C程序设计'GOPRINT '借<C程序设计>的但没借<C习题解答>的学生:'SEL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年职场新人如何应对职场人际关系的心理困扰模拟题目
- 2026年职场技能提升题库提升员工专业能力
- 2026年心理健康维护心理咨询基础知识考核题库
- 2026年生物科学基础知识考试题库与答案
- 2026年生物医学工程与技术专业预测模拟题
- 2025年六安幼儿园老师面试题库及答案
- 2025年ata招商银行冬季笔试及答案
- 2025年晋商银行信息部面试题库及答案
- 2025年宁波教师资格面试题库及答案
- 2025年央媒招聘笔试题及答案
- 第四版(2025)国际压力性损伤溃疡预防和治疗临床指南解读
- 非煤矿山行业企业班组长(含车间主任)工伤预防能力提升培训大纲
- 《特种设备使用单位落实使用安全主体责任监督管理规定》知识培训
- 口腔客服工作总结
- 老舍骆驼祥子第一章
- 康腾杯案例分析大赛作品
- 音乐作品制作与发行服务合同
- IT服务外包过渡期交接方案
- 三年级下册语文阅读理解(15篇)
- 关于大学生就业创业指导课程的调查问卷
- 单片机在线系统AY-MPU89S51E课件
评论
0/150
提交评论