37SQLServer课后实训参考答案Word文档格式.docx
- 文档编号:15000070
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:33
- 大小:52.91KB
37SQLServer课后实训参考答案Word文档格式.docx
《37SQLServer课后实训参考答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《37SQLServer课后实训参考答案Word文档格式.docx(33页珍藏版)》请在冰豆网上搜索。
USEXK
SELECT'
系部总数'
=COUNT(*)
-4・显示“01”年级共有多少个班级。
01级班级数'
=COUNT严)
FROMClass
WHEREClassNoLIKE‘2001%’
=COUNT(★)
WHEREClassNameLIKE‘01%’
SELECT*01级班级数'
FROMStudent
-5.查看在“周二晚”上课的课程名称和教师。
SELECT,课程名称^CouName,,任课教师*=Teacher
FROMCourse
WHERESchoolTime'
周二晚'
-6.查看姓“”、“”、“黄”同学的基本信息,要求按照降序排序查询结果。
SELECT*
WHEREStuNameLIKE‘%’OR
StuNameLIKE1%1OR
StuNameLIKE'
黄%'
ORDERBYStuNameDESC
--方法
WHEREStuNamelike'
[…黄]%
单元2(多表查询)
-1.按系部统计课程的平均报名人数,要求显示系部名称、平均报名人数。
SELECT,系部名称!
=DepartName,「平均报名人数
*=AVG(WillNum)
FROMCourseC,DepartmentD
WHEREC•DepartNo=D•DepartNo
GROUPBYDepartName
--如果小数点后只保留位
SELECT,系部名称^DepartName,「平均报名数
1=CONVERT(DECIMAL(5,2),AVG(WillNum))
FROMCourseCzDepartmentD
-2.统计各个系部的班级数,要求显示系部编号、系部名称和班级数量。
FROMClassCzDepartmentD
GROUPBYC•DepartNo『DepartName
-3.查看“甘蕾”同学选修的课程名、学分、上课时间、志愿号,按志愿号(升序)排序查询结果。
SELECTCouName,Credit,SchoolTime,WillOrder
FROMStuCouSC,CourseC,StudentS
WHERESC・CouNo=C.CouNoANDSC・StuNo=S・StuNoAND
StuName=,#ffi,
ORDERBYWillOrder
-4.查看“00电子商务”班的选修报名情况。
要求显示学号、、课程编号、课程名称、志愿号,并按学号(升序)、志愿号排序(升序)。
SELECTS•StuNo,StuName,C•CouNo,CouNamezWillOrder
FROMStuCouSCZCourseC,StudentS,ClassCL
WHERESC・CouNo=C.CouNoAND
SC・StuNo=S・StuNoAND
CL.ClassNo=S.ClassNoAND
ClassNameLike100电子商务1
ORDERBYS・StuNo,WillOrder
-5.按系部统计各系的最少报名人数、最多报名人数、平均报名人数和报名总数,并汇总显示所有系部的报名总数。
要求平均报名人数保留两位小数位。
SELECT,系部名称f=DepartName,,最少报名人数r=MIN(WillNum),,最多报名人数1=MAX(WillNum),1平均报名人数^CONVERT(DECIMAL(5,2),AVG(WillNum)),,报名总数^SUMfWillNum)
GROUPBYDepartNameWITHCUBE
单元3(维护数据)
-12.学号为“00000025”的同学第一志愿报名选修“001”课程,请在数据库中进行处理。
INSERTStuCou(StuNo,CouNo,WillOrder,State)
VALUES(*00000025'
z701—1,,报名*)
/*课程报名人数增加人★/
UPDATECourse
SETWillNum=Wi1INum-1
WHERECouNo=*001'
-2.删除学号为“00000025”的学生的选课报名信息。
DELETEStuCou
WHEREStuNo=*00000025,
/*课程表'
00000025-同学报名的那些课程报名人数都要减少1*/
--方法:
SETWi1lNum=Wi1INum-1
FROMCourse,StuCou
WHEREStuNo=*00000025'
and
Course•CouNo=StuCou•CouNo
-方法2:
(游标)
DECLARECouNochar(3)
DECLAREMYCursorcursor
for
SELECTCouNofromStuCou
WHEREStuNo=,00000025,
OPENMYCursor
FETCHNEXTFROMMYCursorINTOCouNo
WHILEFETCH_STATUS=O
BEGIN
WHERE
UPDATECourseSETWillNum=Wi1INum-1
CouNo=CouNo
END
CLOSEMYCursor
DEALLOCATEMYCursor
-3・需要将“00多媒体”班级“杜晓静”同学的名字修改为“杜
小静”。
UPDATEStudent
SETStuN&
me='
杜小静'
FROMStudentS,ClassC
WHERES.ClassNo=C.ClcssNoAND
StuNdme=,杜晓静'
ANDC]_&
;
ssN&
me='
00多媒体'
-“00电子商务”班的“林斌”同学中请将己选修的“网络信息检索原理与技术”课程修改为“Linux操作系统”。
UPDATEStuCou
SETCouNo=(SELECTCouNoFROMCourseWHERE
CouName='
Linux操作系统*)
FROMStuCouSC,StudentSzCourseC,ClassCl
WHERESC・StuNo=S.StuNoAND
SC.CouNo=C・CouNoAND
S・ClassNo=C1・ClassNoAND
S.StuN&
mei林斌'
AND
Cl_・Cl&
00商务'
CouName=•网络信息检索原理与技术,
单元4(数据库设计)
某公司计划对产品的销售情况进行计算机管理。
产品表具有产品编号、产品名称、单价、库存数量4个属性。
客户表包括有客户编号、客户、住址、联系4个属性。
产品的入库表包括有入库日期、产品编号、产品名称、入库数量、单价属性。
销售表包括有销售日期、产品编号、产品名称、客户编号、客户、单价、销售数量。
1.绘出产品销售的E-R图。
2、将产品销售的E-R图转换为关系数据模型。
产品表:
产品编号
产品名称
单价
库存数量
客户表:
客户编号
客户名称
住址
联系
入库表:
入库日期
入库数暈
销售表:
销售
日期
产品
编号
名称
客户
数量
3、将产品销售关系数据模型规为III式。
可参考“创建和管理表”实训题。
4、请分析主键、外键、公共键。
主键:
产品表的产品编号,客户表的客户编号。
外键:
入库表的产品编号,销售表的产品编号、客户编号。
5、举例说明如何保证产品销售数据的完整性。
表数据完整性:
给产品表、客户表创建主键。
列数据的完整性:
可以给指定的列创建约束(参见实施数据完整性
实训题目)。
参照完整性:
给入库表、销售表创建外键。
单元5(创建与管理数据库)
写出实现如下功能的SQL语句。
1.创建名字为Sale的销售数据库。
该数据库有一个名为Sale.mdf的主数据文件和名字为Salejog.ldf的事务H志文件。
主数据文件容量为4MB,日志文件容量为10MB,数据文件和H志文件的最大容量为20MB,文件增长量为1MB。
CREATEDATABASESale
ON
PRIMARY(N2V4E=Sale,
FILENAME=fC:
\Sale・mdf'
SIZE=4,
MAXSIZE=10z
FILEGROWTH=1)
LOGON
(NAME=Sale_logz
FILENAME=fD:
\Sale_log・ldf1,
SIZE=2,
MAXSIZE=10,
2.在Sale数据库下新增名字为UserGroup的文件组。
Go
ALTERDATABASESale
ADDFILEGROUPUserGroup
3.以增加次数据文件的方式扩充Sale数据的容量。
次数据文件容量为5MB,最大容量为10MB,文件增量为1MB。
要求将次数据文件保存在与事务日志文件不同的存储设备上,次数据文件作为UserGroup文件组的成员。
USEMASTE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 37 SQLServer 课后 参考答案