上机实验题一二.doc

上传人:李司机 文档编号:1087800 上传时间:2022-06-20 格式:DOC 页数:13 大小:380KB
返回 下载 相关 举报
上机实验题一二.doc_第1页
第1页 / 共13页
上机实验题一二.doc_第2页
第2页 / 共13页
上机实验题一二.doc_第3页
第3页 / 共13页
上机实验题一二.doc_第4页
第4页 / 共13页
上机实验题一二.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《上机实验题一二.doc》由会员分享,可在线阅读,更多相关《上机实验题一二.doc(13页珍藏版)》请在三一办公上搜索。

1、word上机实验题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 = Library , F

2、ILENAME = D:DBLibrary_Log.LDF, SIZE = 10MB, MAXSIZE = 20MB, FILEGROWTH = 5MB)数据库中包含如下4个关系表:depart(班号,系名)student(学号,某某,性别,出生日期,班号)book(图书编号,图书名,作者,定价,)borrow(学号,图书编号,借书日期)要求:depart表的“班号列为主键,student表的“学号列为主键,book表“图书编号列为主键,borrow表的“学号和“图书编号列为主键。数据表的创建可以使用以下SQL语句完成:USE LibraryCREATE TABLE depart(班号 int

3、 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(学号,图书编号)2使用SQL Server管理控制器或T

4、SQL语句输入以下数据。depart表包含如下数据:班号 系名- -0501 计算机系0502 计算机系0801 电子工程系0802 电子工程系student表包含如下数据:学号 某某 性别 出生日期 班号- - - - -1 X任 男 1995-01-02 0501 2 程华 男 1996-01-10 0501 3 X丽 女 1995-06-07 0502 4 王英 女 1994-12-10 0502 5 李静 男 1995-04-05 050210 许兵 男 1995-08-10 0801 11 X功 男 1995-06-02 0801 12 李华 男 1994-10-03 0801 13

5、 马超 男 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 高等教育10034 软件工程X明 34 机械工业20025 信息学X港 35 清华大学20026 信息学X港35 清华大学20042 电工学王民 30 人民邮

6、电20056 操作系统曾平 26 清华大学20057 操作系统曾平26 清华大学20058 操作系统曾平26 清华大学20067 数字电路徐汉 32 高等教育20140 数据库原理陈曼32 高等教育20090 网络工程 黄军 38 高等教育borrow表包含如下数据:学号图书编号 借书日期- - -1 10020 2013-12-051 20025 2013-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 1002

7、3 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 depart VALUES(0801,电子工程系)INSERT INTO depart VALUES(0802,电子工程系)USE LibraryINSERT INTO student VALUES(1,X任,男,1995-01-02,0501) INSERT INTO student

8、VALUES(2,程华,男,1996-01-10,0501) INSERT INTO student VALUES(3,X丽,女,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 VALUES(11,X功,男,1995-06-02,0801) INSERT INTO s

9、tudent VALUES(12,李华,男,1994-10-03,0801) INSERT INTO student VALUES(13,马超,男,1996-02-03,0802) INSERT INTO student VALUES(14,曾英,女,1994-03-06,0802) USE LibraryINSERT INTO book VALUES(10011,C程序设计,李洪,24,清华大学)INSERT INTO book VALUES(10012,C程序设计,李洪,24,清华大学) INSERT INTO book VALUES(10013,C习题解答,李洪,12,清华大学) INS

10、ERT INTO book VALUES(10014,C习题解答,李洪,12,清华大学)INSERT INTO book VALUES(10020,数据结构,徐华,29,人民邮电) INSERT INTO book VALUES(10021,数据结构,徐华,29,清华大学) INSERT INTO book VALUES(10023,高等数学,王涛,30,高等教育) INSERT INTO book VALUES(10034,软件工程,X明,34,机械工业) INSERT INTO book VALUES(20025,信息学,X港,35,清华大学) INSERT INTO book VALUE

11、S(20026,信息学,X港,35,清华大学) INSERT INTO book VALUES(20042,电工学,王民,30,人民邮电) INSERT INTO book VALUES(20056,操作系统,曾平,26,清华大学) INSERT INTO book VALUES(20057,操作系统,曾平,26,清华大学) INSERT INTO book VALUES(20058,操作系统,曾平,26,清华大学) INSERT INTO book VALUES(20067,数字电路,徐汉,32,高等教育)INSERT INTO book VALUES(20080,数据库原理,陈曼,32,高

12、等教育)INSERT INTO book VALUES(20090,网络工程,黄军,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,2013-10-02)INSERT INTO borrow VALUES(2,10013,2014-04-03)INSERT INTO bo

13、rrow 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(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语言使用方法。实验

14、内容:对于实验题1创建的Library数据库和表数据,编写程序实现如下功能并给出执行结果:1查询图书品种的总数目。2查询每种图书品种的数目。3查询各班的人数。4查询各系的人数。5查询借阅图书学生的学号、某某、书名和借书日期。6查询借有图书的学生学号和某某。7查询每个学生的借书数目。8找出借书超过2本的学生学号、某某和所借图书册数。9查询借阅了操作系统一书的学生,输出学号、某某与班号。10查询每个班的借书总数。11假如图书编号以前3位数字进展分类,查询每类图书的平均价。12查询平均价高于30的图书类别。13查询图书类别的平均价最高价。14假设借书期限为45天,查询过期未还图书编号、书名和借书人学

15、号、某某。15查询书名包括“工程关键词的图书,输出书号、书名、作者16查询现有图书中价格最高的图书,输出书名与作者17查询所有借阅“C程序设计一书的学生学号和某某,再查询所有借了“C程序设计但没有借“C习题解答的学生学号和某某。18查询所有没有借书的学生学号和某某。19查询每个系所借图书总数。20查询各的图书总数。21查询各的图书占图书总数的百分比四舍五入到一位小数。22查询各的图书被借的数目。参考代码如下:1对应的程序如下:USE LibrarySELECT COUNT(DISTINCT(图书名) AS 图书品种数目 FROM book2对应的程序如下:USE LibrarySELECT 图

16、书名 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 sc5对应的程序如下:USE LibraryFROM student s,book b,borrow bor6对应的程序如下:USE LibraryFROM student sWHERE s.学号

17、 IN (SELECT DISTINCT 学号 FROM borrow)7对应的程序如下:USE LibrarySELECT s.学号,s.某某,COUNT(bor.学号) As 数目FROM student s,borrow bor8对应的程序如下:USE LibrarySELECT s.学号 学号,s.某某 某某,COUNT(bor.学号) As 借图书册数FROM student s,borrow borHAVING COUNT(bor.学号)=29对应的程序如下:USE LibrarySELECT s.学号,s.某某,s.班号 FROM student s,book b,borrow

18、bor AND b.图书名=操作系统10对应的程序如下:USE LibrarySELECT s.班号,COUNT(bor.学号) AS 总数FROM student s,borrow bor11对应的程序如下:USE LibrarySELECT SUBSTRING(图书编号,1,3) As 图书类别,CAST(AVG(定价) AS decimal(4,1) AS 平均价FROM bookGROUP BY SUBSTRING(图书编号,1,3)12对应的程序如下:USE LibrarySELECT SUBSTRING(图书编号,1,3) As 图书类别,CAST(AVG(定价) AS decim

19、al(4,1) AS 平均价FROM bookGROUP BY SUBSTRING(图书编号,1,3)HAVING AVG(定价)3013对应的程序如下:USE LibrarySELECT MAX(平均价) AS 最高平均价FROM (SELECT SUBSTRING(图书编号,1,3) As 图书类别,CAST(AVG(定价) AS decimal(4,1) AS 平均价FROM bookGROUP BY SUBSTRING(图书编号,1,3) a14对应的程序如下:USE LibraryPRINT 当前日期:+CONVERT(char(10),GETDATE(),102)SELECT s.

20、学号,s.某某,bor.图书编号,b.图书名 FROM student s,book b,borrow borWHERE s.学号=bor.学号 AND b.图书编号=bor.图书编号 AND DATEDIFF(day,借书日期,GETDATE()4515对应的程序如下:USE LibrarySELECT 图书编号,图书名,作者FROM bookWHERE 图书名 LIKE %工程% 16对应的程序如下:USE LibrarySELECT 图书编号,图书名,作者FROM bookWHERE 定价=( SELECT MAX(定价) FROM book) 17对应的程序如下:USE Library

21、GOPRINT 借的学生:FROM student s,book b,borrow borWHERE s.学号=bor.学号 AND b.图书编号=bor.图书编号 AND b.图书名=C程序设计GOPRINT 借的但没借的学生:FROM student s,borrow bor,book bWHERE s.学号=bor.学号 AND bor.图书编号=b.图书编号 AND b.图书名=C程序设计 AND NOT EXISTS( SELECT * FROM borrow bor1,book b1 WHERE bor1.图书编号=b1.图书编号 AND b1.图书名=C习题解答 AND bor1

22、.学号=bor.学号)18对应的程序如下:USE LibrarySELECT 学号,某某FROM studentWHERE 学号 NOT IN (SELECT DISTINCT 学号 FROM borrow)19对应的程序如下:USE LibrarySELECT sc.系名 AS 系名,COUNT(bor.学号) AS 借书总数FROM student s,depart sc,borrow bor20对应的程序如下:USE LibrarySELECT AS ,COUNT(*) AS 图书总数FROM bookGROUP BY 21对应的程序如下:USE LibraryDECLARE num intSELECT num=(SELECT COUNT(*) FROM book)SELECT AS ,CAST(ROUND(COUNT(*)*100.0/num,1) AS decimal(5,1) AS 图书比例(%)FROM bookGROUP BY 22对应的程序如下:USE LibrarySELECT AS ,COUNT(*) AS 被借图书数目FROM book b,borrow borGROUP BY 13 / 13

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号