实验1-数据定义语句及数据查询语句

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

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

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

资源描述

课程实验报告课程名称数据库系统概论班级实验日期姓名学号实验成绩实验名称实验1:数据定义语句及数据查询语句实验目的及要求1.掌握数据定义语句;2.掌握数据查询语句。实验环境操作系统:WindowsDBMS:SQLServer2005实验内容首先在DBMS环境下直接创建书中第82页的3张表,然后在表中加入一些记录值。1.在查询分析器窗口下用SELECT语句完成单表查询:(1)查询全体学生的详细记录;(2)查询所有选修过课的学生的学号;(3)查询考试成绩不及格的学生的学号;(4)查信息系(IS)、数学系(MA)和计算机科学系(CS)的学生的姓名和性别;(5)查所有姓刘的学生的姓名、学号和性别;(6)查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列;(7)查询学习1号课程的学生最高分数;(8)查询各个课程号与相应的选课人数;2.在查询分析器在窗口下用SELECT语句完成连接(嵌套)查询:(9)查询每个学生及其选修课程的情况,包括学生姓名和课程名;(10)查询选修2号课程且成绩在90分以上的所有学生;(11)查询每个学生及其选修的课程名其及成绩;(12)查询与“刘晨”在同一个系学习的学生;(13)查询其他系中比信息系某一学生年龄小的学生姓名和年龄;(14)查询其他系中比信息系所有学生年龄都小的学生姓名及年龄。调试过程及实验结果(详细记录在调试过程中出现的问题及解决方法。记录实验执行的结果)/*(1)查询全体学生的详细记录;*//*(2)查询所有选修过课的学生的学号;*//*(3)查询考试成绩不及格的学生的学号;*//*(4)查信息系(IS)、数学系(MA)和计算机科学系(CS)的学生的姓名和性别;*//*(5)查所有姓刘的学生的姓名、学号和性别;*//*(6)查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列;*//*(7)查询学习1号课程的学生最高分数;*//*(8)查询各个课程号与相应的选课人数;*//*(9)查询每个学生及其选修课程的情况,包括学生姓名和课程名;*//*(10)查询选修2号课程且成绩在90分以上的所有学生;*//*(11)查询每个学生及其选修的课程名其及成绩;*//*(12)查询与“刘晨”在同一个系学习的学生;*//*(13)查询其他系中比信息系某一学生年龄小的学生姓名和年龄;*//*查询其他系中比信息系所有学生年龄都小的学生姓名及年龄*/总结本次数据库实验主要是熟悉数据库基本语言,包括表的创建,内容添加,联系表之间的关系以及在表中和表间实现查询功能。此次实验的内容比较基础,操作也相对简单,体现出的问题是对sqlsever个软件功能的使用还不是很熟悉,这个问题应该在日后的学习中克服,多使用sqlsever的功能。Sqlsever的可视化操作界面让我们建立表的过程更加方便和简单,同时也更加形象和具体。总体感觉数据库语言比较形象直观,实现过程比较形象化,但是要扩展开发对sqlsever的使用。附录(源程序清单)1.建立表CourseCREATETABLE[dbo].[Course]([Cno][smallint]NOTNULL,[Cname][nvarchar](50)NOTNULL,[Cpno][smallint]NULL,[Credit][smallint]NOTNULL,CONSTRAINT[PK_Course]PRIMARYKEYCLUSTERED([Cno]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]2.建立表Student/******Object:Table[dbo].[Student]ScriptDate:2015/10/813:17:03******/CREATETABLE[dbo].[Student]([Sno][char](10)NOTNULL,[Sname][nvarchar](20)NOTNULL,[Ssex][char](10)NOTNULL,[Sage][smallint]NOTNULL,[Sdept][nvarchar](10)NOTNULL,CONSTRAINT[PK_Student]PRIMARYKEYCLUSTERED([Sno]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]3.建立表SC/******Object:Table[dbo].[SC]ScriptDate:2015/10/813:15:43******/CREATETABLE[dbo].[SC]([Sno][char](10)NOTNULL,[Cno][smallint]NOTNULL,[Grade][smallint]NOTNULL)ON[PRIMARY]ALTERTABLE[dbo].[SC]WITHCHECKADDCONSTRAINT[FK_SC_Course]FOREIGNKEY([Cno])REFERENCES[dbo].[Course]([Cno])GOALTERTABLE[dbo].[SC]CHECKCONSTRAINT[FK_SC_Course]GOALTERTABLE[dbo].[SC]WITHCHECKADDCONSTRAINT[FK_SC_Student]FOREIGNKEY([Sno])REFERENCES[dbo].[Student]([Sno])GOALTERTABLE[dbo].[SC]CHECKCONSTRAINT[FK_SC_Student]GO4.建立查询/*(1)查询全体学生的详细记录;*/SELECT*FROMStudent;/*(2)查询所有选修过课的学生的学号;*/SELECTSnoFROMSC;/*(3)查询考试成绩不及格的学生的学号;*/SELECTSnoFROMSCWHEREGrade60;/*(4)查信息系(IS)、数学系(MA)和计算机科学系(CS)的学生的姓名和性别;*/SELECTSno,Sname,SsexFROMStudentWHERESnameLIKE'刘%';/*(5)查所有姓刘的学生的姓名、学号和性别;*/SELECTSname,SsexFROMStudentWHERESdeptIN('CS','MA','IS');/*查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列;*/SELECTMAX(Grade)fromSCWHERECno=1;/*查询学习1号课程的学生最高分数;*/SELECTCno,count(Sno)fromSCGROUPBYCno;/*(8)查询各个课程号与相应的选课人数;*/SELECTStudent.*,SC.*FROMStudent,SCWHEREStudent.Sno=SC.Sno;/*(9)查询每个学生及其选修课程的情况,包括学生姓名和课程名;*/SELECTStudent.Sno,SnamefromStudent,SCWHEREStudent.Sno=SC.SnoANDSC.Cno='2'ANDSC.Grade=90;/*(10)查询选修2号课程且成绩在90分以上的所有学生;*/SELECTSnamefromSC,StudentwhereSC.Cno=2ANDSC.Grade=90ANDStudent.Sno=SC.Sno;/*(11)查询每个学生及其选修的课程名其及成绩;*/SELECTSname,Cname,Grade,SC.SnoFROMSC,Course,StudentWHERESC.Cno=Course.CnoANDSC.Sno=Student.Sno;/*(12)查询与“刘晨”在同一个系学习的学生;*/SELECTSnameFROMStudentWHERESdeptIN(SELECTSdeptFROMStudentWHERESname='刘晨');/*(13)查询其他系中比信息系某一学生年龄小的学生姓名和年龄;*/selectSname,SagefromStudentWHERESageANY(SELECTSagefromStudentwhereSdept='CS');/*查询其他系中比信息系所有学生年龄都小的学生姓名及年龄*/selectSname,SagefromStudentWHERESageALL(SELECTSagefromStudentwhereSdept='CS');

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

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

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

×
保存成功