数据库 实验报告.docx
- 文档编号:26994273
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:11
- 大小:192.88KB
数据库 实验报告.docx
《数据库 实验报告.docx》由会员分享,可在线阅读,更多相关《数据库 实验报告.docx(11页珍藏版)》请在冰豆网上搜索。
数据库实验报告
实验报告
一.、实验环境
系统:
MicrosoftWindowsXP
数据库管理系统:
SQLServer2005
二、实验过程
(一)建立数据库
createdatabaseColleage;
(二)我所建的表
1.“专业”表
CreatetableProfession(
ProNameChar(5)primarykey,
Leaderchar(5)
)
2.课程表
createtableCourse(
Cnochar(5)primarykey,
Cnamechar(20),
Ctimesmallint,
Cgradesmallint
)
3.成绩表
createtableGrade(
Snochar(7),
Cnochar(5),
primarykey(Sno,Cno),
Foreignkey(Sno)referencesStudent(Sno),
foreignkey(Cno)referencesCourse(Cno),
UsualGradechar(3),
MidGradechar(3),
LastGradechar(3)
)
(三)输入数据
(四)查询
1、查询在78年12月31日之后出生的学生的学号和姓名(Sbirthday为datetime类型)
selectSno学号,Sname姓名fromStudentwhereSbirthday>'1978-12-3100:
00:
00'
或者selectSno学号,Sname姓名fromStudentwhereSbirthday>cast('1978-12-31'asdatetime)
2、查询入学成绩大于500分的女同学和入学成绩大于600分的男同学的姓名
selectSnamefromStudentwhereSgrade>'500'andSsex='女'
orSgrade>'600'andSsex='男'
3、查询家在江岸小区住的学生的姓名和家庭住址
selectSname姓名,StudentInfor.Shomeaddress家庭住址fromStudent,StudentInfor
whereStudent.Sno=StudentInfor.SnoandShomeaddresslike'江岸小区%'
4、查询没有选修姜晓红老师所授课程的学生的学号
selectdistinctSnofromStudentwhereSnonotin(
selectSno学号
fromGrade,Instructor
whereTno=(selectTnofromTeacherwhereTname='姜晓红')
andInstructor.Cno=Grade.Cno
)
或者
selectdistinctSnofromstudent
where
student.snonotin
(selectsnofromgrade,teacher,instructor
whereteacher.Tno=instructor.tno
ando=o
andteacher.Tname='姜晓红')
5、查询各学生所选课的期末平均成绩,学生学号,姓名
6、查询赵东所选修的课程的课程名及其学号、姓名
selectStudent.Sname,Student.Sno,Course.Cname
fromStudent,Grade,Course
whereStudent.Sno=Grade.SnoandGrade.Cno=Course.Cno
andStudent.Sname='赵东'
7、查询由教授所任课的课程名
8、统计没有贷款的学生的人数(Sloans为bit类型)
selectcount(*)fromStudentwhereStudent.Sloans='false'
或者
selectcount(*)fromStudentwhereStudent.Sloans=1
9、查询每个科目平时、期中及期末三个成绩的平均成绩在80分以上的学生的学号
10、查询和毛杰同学所学专业一样的人的学号和姓名
11、查询期末成绩大于任何一个老师所教学生的期末成绩的学生姓名、选修课程号、成绩
12、来了一位新同学,学号为9607001,省份证号为530120169021100
13、将期末成绩在所有人的期末平均成绩以上的同学加10分
14、查询至少选修了付林老师所授所有课程的学生学号
selectSno
fromGrade
wherenotexists(
select*fromGradewhereTnoin
(selectTnofromTeacher,InstructorwhereTname='付林')
andTeacher.Tno=Instructor.Tno)
andnotexists(select*fromGrade
15、统计每个老师授课的种数
16、查询选修2门以上课程的学生学号及平均成绩(指各课程的期末成绩的平均成绩,只统计及格的课程),并按其平均成绩降序排列输出
17、查询没有贷款的学生的学号
18、查询年龄最大的学生的学号和姓名
四、实验总结
刚开始做实验的时候才明白,自己还有很多地方都是一知半解的,比如建表的时候,特别是有外键的时候,经常要翻书,体会到了这方面的不足。
遇到最大的困难是查询部分,刚开始做的时候,非常艰难,每个题目都查找书上去找类似的例子,才能做出来,特别是连接查询,都不会怎么连接,之后,我仔细看了一遍书上的例子,争取每个都自己写一遍,慢慢的就发现了规律,大概有三步,一是确定要查什么,二是看要用到哪些表,三是看有什么条件,思路清楚之后,就好办了,几乎所有要查询的题目都一个一个被解决了,只有第14题,要用到除法的查询,还是不懂怎么做。
通过此次实验,不仅大大提高了我对数据库的操作能力,更重要的事,让我深刻体会到了实践的重要性,书本上的例子,只有都去敲一遍,才能真正学会。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验报告 实验 报告