上机实验题(一、二)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

上机实验题1相关知识:第6章~第8章。目的:通过本实验,熟悉SQLServer2012系统,掌握使用SQLServer管理控制器以及T-SQL语句创建数据库和数据表的方法。实验内容:完成以下任务(1)创建一个数据库Library,其数据库文件存放在D:\DB文件夹中。数据库的创建可以用以下SQL语句完成:CREATEDATABASELibraryON(NAME=Library,FILENAME='D:\DB\Library.MDF',SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=5MB)LOGON(NAME=Library,FILENAME='D:\DB\Library_Log.LDF',SIZE=10MB,MAXSIZE=20MB,FILEGROWTH=5MB)数据库中包含如下4个关系表:depart(班号,系名)student(学号,姓名,性别,出生日期,班号)book(图书编号,图书名,作者,定价,出版社)borrow(学号,图书编号,借书日期)要求:depart表的“班号”列为主键,student表的“学号”列为主键,book表“图书编号”列为主键,borrow表的“学号”和“图书编号”列为主键。数据表的创建可以使用以下SQL语句完成:USELibraryCREATETABLEdepart(班号intPRIMARYKEY,系名char(20))CREATETABLEstudent(学号intPRIMARYKEY,姓名char(10),性别char(2),出生日期datetime,班号int)CREATETABLEbook(图书编号char(10)PRIMARYKEY,图书名char(40),作者char(10),定价float,出版社char(30))CREATETABLEborrow(学号int,图书编号char(10),借书日期datetime,PRIMARYKEYCLUSTERED(学号,图书编号))(2)使用SQLServer管理控制器或T-SQL语句输入以下数据。①depart表包含如下数据:班号系名----------------0501计算机系0502计算机系0801电子工程系0802电子工程系②student表包含如下数据:学号姓名性别出生日期班号-------------------------------------1张任男1995-01-0205012程华男1996-01-1005013张丽女1995-06-0705024王英女1994-12-1005025李静男1995-04-05050210许兵男1995-08-10080111张功男1995-06-02080112李华男1994-10-03080113马超男1996-02-03080214曾英女1994-03-060802③book表包含如下数据:图书编号图书名作者定价出版社--------------------------------------------------------10011C程序设计李洪24清华大学出版社10012C程序设计李洪24清华大学出版社10013C习题解答李洪12清华大学出版社10014C习题解答李洪12清华大学出版社10020数据结构徐华29人民邮电出版社10021数据结构徐华29清华大学出版社10023高等数学王涛30高等教育出版社10034软件工程张明34机械工业出版社20025信息学张港35清华大学出版社20026信息学张港35清华大学出版社20042电工学王民30人民邮电出版社20056操作系统曾平26清华大学出版社20057操作系统曾平26清华大学出版社20058操作系统曾平26清华大学出版社20067数字电路徐汉32高等教育出版社20140数据库原理陈曼32高等教育出版社20090网络工程黄军38高等教育出版社④borrow表包含如下数据:学号图书编号借书日期----------------------------1100202013-12-051200252013-11-081200592014-04-112100112013-10-022100132014-04-033100342014-04-103200582014-04-114100122014-04-065100232014-02-0310200562014-02-0512200672014-03-06相关T-SQL语句如下:USELibraryINSERTINTOdepartVALUES(0501,'计算机系')INSERTINTOdepartVALUES(0502,'计算机系')INSERTINTOdepartVALUES(0801,'电子工程系')INSERTINTOdepartVALUES(0802,'电子工程系')USELibraryINSERTINTOstudentVALUES(1,'张任','男','1995-01-02',0501)INSERTINTOstudentVALUES(2,'程华','男','1996-01-10',0501)INSERTINTOstudentVALUES(3,'张丽','女','1995-06-07',0502)INSERTINTOstudentVALUES(4,'王英','女','1994-12-10',0502)INSERTINTOstudentVALUES(5,'李静','男','1995-04-05',0502)INSERTINTOstudentVALUES(10,'许兵','男','1995-08-10',0801)INSERTINTOstudentVALUES(11,'张功','男','1995-06-02',0801)INSERTINTOstudentVALUES(12,'李华','男','1994-10-03',0801)INSERTINTOstudentVALUES(13,'马超','男','1996-02-03',0802)INSERTINTOstudentVALUES(14,'曾英','女','1994-03-06',0802)USELibraryINSERTINTObookVALUES('10011','C程序设计','李洪',24,'清华大学出版社')INSERTINTObookVALUES('10012','C程序设计','李洪',24,'清华大学出版社')INSERTINTObookVALUES('10013','C习题解答','李洪',12,'清华大学出版社')INSERTINTObookVALUES('10014','C习题解答','李洪',12,'清华大学出版社')INSERTINTObookVALUES('10020','数据结构','徐华',29,'人民邮电出版社')INSERTINTObookVALUES('10021','数据结构','徐华',29,'清华大学出版社')INSERTINTObookVALUES('10023','高等数学','王涛',30,'高等教育出版社')INSERTINTObookVALUES('10034','软件工程','张明',34,'机械工业出版社')INSERTINTObookVALUES('20025','信息学','张港',35,'清华大学出版社')INSERTINTObookVALUES('20026','信息学','张港',35,'清华大学出版社')INSERTINTObookVALUES('20042','电工学','王民',30,'人民邮电出版社')INSERTINTObookVALUES('20056','操作系统','曾平',26,'清华大学出版社')INSERTINTObookVALUES('20057','操作系统','曾平',26,'清华大学出版社')INSERTINTObookVALUES('20058','操作系统','曾平',26,'清华大学出版社')INSERTINTObookVALUES('20067','数字电路','徐汉',32,'高等教育出版社')INSERTINTObookVALUES('20080','数据库原理','陈曼',32,'高等教育出版社')INSERTINTObookVALUES('20090','网络工程','黄军',38,'高等教育出版社')USELibraryINSERTINTOborrowVALUES(1,'10020','2013-12-05')INSERTINTOborrowVALUES(1,'20025','2013-11-08')INSERTINTOborrowVALUES(1,'20059','2014-04-11')INSERTINTOborrowVALUES(2,'10011','2013-10-02')INSERTINTOborrowVALUES(2,'10013','2014-04-03')INSERTINTOborrowVALUES(3,'10034','2014-04-10')INSERTINTOborrowVALUES(3,'20058','2014-04-11')INSERTINTOborrowVALUES(4,'10012','2014-04-06')INSERTINTOborrowVALUES(5,'10023','2014-02-03')INSERTINTOborrowVALUES(10,'20056','2014-02-05')INSERTINTOborrowVALUES(12,'20067','2014-03-06')上机实验题2相关知识:第9章。目的:通过本实验,掌握使用T-SQL语言使用方法。实验内容:对于实验题1创建的Library数据库和表数据,编写程序实现如下功能并给出执行结果:(1)查询图书品种的总数目。(2)查询每种图书品种的数目。(3)查询各班的人数。(4)查询各系的人数。(5)查询借阅图书学生的学号、姓名、书名和借书日期。(6)查询借有图书的学生学号和姓名。(7)查询每个学生的借书数目。(8)找出借书超过2本的学生学号、姓名和所借图书册数。(9)查询借阅了操作系统一书的学生,输出学号、姓名及班号。(10)查询每个班的借书总数。(11)若图书编号以前3位数字进行分类,查询每类图书的平均价。(12)查询平均价高于30的图书类别。(13)查询图书类别的平均价最高价。(14)假设借书期限为45天,查询过期未还图书编号、书名和借书人学号、姓名。(15)查询书名包括“工程”关键词的图书,输出书号、书名、作者(16)查询现有图书中价格最高的图书,输出书名及作者(17)查询所有借阅“C程序设计”一书的学生学号和姓名,再查询所有借了“C程序设计”但没有借“C习题解答”的学生学号和姓名。(18)查询所有没有借书的学生学号和姓名。(19)查询每个系所借图书总数。(20)查询各出版社的图书总数。(21)查询各出版社的图书占图书总数的百分比(四舍五入到一位小数)。(22)查询各出版社的图书被借的数目。参考代码如下:(1)对应的程序如下:USELibrarySELECTCOUNT(DISTINCT(图书名))AS'图书品种数目'FROMbook(2)对应的程序如下:USELibrarySELECT图书名AS'书名',COUNT(*)AS'数目'FROMbookGROUPBY图书名执行结果如下:(3)对应的程序如下:USELibrarySELECT班号AS'班号',COUNT(*)AS'人数'FROMstudentGROUPBY班号(4)对应的程序如下:USELibrarySELECTsc.系名AS'系名',COUNT(*)AS'人数'FROMstudents,departscWHEREs.班号=sc.班号GROUPBYsc.系名(5)对应的程序如下:USELibrarySELECTs.学号,s.姓名,b.图书名,bor.借书日期FROMstudents,bookb,borrowborWHERE

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功