您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 天津理工大学-数据库实验二
实验报告学院(系)名称:计算机与通信工程学院姓名Touchkiss学号20125577专业计算机科学与技术班级2班实验项目实验二:复杂SQL数据操作课程名称数据库系统课程代码0668026实验时间2014/10/31实验地点计算机软件实验室7-215批改意见成绩教师签字:1.实验目的1)熟悉各数据库的交互式SQL工具;2)熟悉通过SQL语言对数据库进行操作3)熟悉通过SQL语言对数据进行控制(授权和权力回收)2.实验工具MSSQLserver20083.实验内容1)表的创建:创建一数据库Temp,在数据库中创建教材中的Student表、Course表和SC表,给出表中的主码、外码和约束关系。2)基于以上创建的表,完成如下SQL语句。(1)将学习了数据库课程的学生成绩加5分。(2)将计算机系学习了2号课程的学生成绩置0。(3)将李勇的数据库成绩改为85。(4)将选修了2号课程且成绩为空的选课记录删除。(5)从课程表中删除在选课表中没有选课记录的课程记录。(6)删除计算机系学生选修了数据库课程的选课记录。(7)求各系的系名及男女生人数并将结果保存到另一个表中。(8)将平均成绩80分以上的学生的学号,选学的课程数和平均成绩保存到另一个表中。(9)创建一个视图,查询没有选修课程的学生学号、姓名和所在系,并利用该视图查询所有没有选修课程的学生信息。(10)创建一个给出学生的姓名、课程名和成绩的视图,并利用该视图查询某个学生学习的课程名和成绩。(11)创建一个视图,求各门课程的课程号、选课人数、平均分、最高分,并利用该视图查询1号课程的选课人数、平均分、最高分。(12)创建一个视图,求选修了2号课程且成绩高于该门课程平均分的学生学号和成绩。(13)创建用户user1,将学生表的select权限赋给用户user1,然后以user1登录,检查权限情况。(14)收回用户user1的对学生表的select权限,然后以user1登录,检查权限情况。4.实验要求:1)在表中插入相应记录;2)执行SQL语句;3)认真完成并按时提交实验报告,在实验报告中附执行SQL语句结果截图;4)整理上机步骤,总结经验和体会。【实验过程记录(源程序、测试用例、测试结果及心得体会等)】(1)将学习了数据库课程的学生成绩加5分。updateSCsetGrade=Grade+5whereCno=(selectCnofromCoursewhereCname=N'数据库')(2)将计算机系学习了2号课程的学生成绩置0。updateSCsetGrade=0whereSnoin(selectSnofromStudentwhereSdept='CS')andCno=2(3)将李勇的数据库成绩改为85。updateSCsetGrade=85whereSno=(selectSnofromStudentwhereSname=N'李勇')andCno=(selectCnofromCoursewhereCname=N'数据库')(4)将选修了2号课程且成绩为空的选课记录删除。deletefromSCwhereCno=2andGrade=0(5)从课程表中删除在选课表中没有选课记录的课程记录。deletefromCoursewhereCnonotin(selectCnofromSC)(6)删除计算机系学生选修了数据库课程的选课记录。deletefromSCwhereSnoin(selectSnofromStudentwhereSdept='CS')andCno=(selectCnofromCoursewhereCname=N'数据库')(7)求各系的系名及男女生人数并将结果保存到另一个表中。createviewDept(Sdept,Ssex,num)asselectSdept,Ssex,COUNT(Ssex)fromStudentgroupbySdept,Ssex(8)将平均成绩80分以上的学生的学号,选学的课程数和平均成绩保存到另一个表中。createviewunder80(Sno,Num,Average)asselectSno,COUNT(Cno),AVG(Grade)fromSCgroupbySnohavingAVG(Grade)=80(9)创建一个视图,查询没有选修课程的学生学号、姓名和所在系,并利用该视图查询所有没有选修课程的学生信息。createviewSCC(Sno,Sname,Sdept)asSelectSno,Sname,SdeptfromStudentwhereSnonotin(selectSnofromSC)(10)创建一个给出学生的姓名、课程名和成绩的视图,并利用该视图查询某个学生学习的课程名和成绩。createviewSCCC(Sname,Cname,Grade)asselectSname,Cname,GradefromStudent,Course,SCwhereStudent.Sno=SC.SnoandCourse.Cno=SC.Cno(11)创建一个视图,求各门课程的课程号、选课人数、平均分、最高分,并利用该视图查询1号课程的选课人数、平均分、最高分。createviewAV(Cno,Cnum,Average,Ma)asselectCno,COUNT(Sno),AVG(Grade),MAX(Grade)fromSCgroupbyCno(12)创建一个视图,求选修了2号课程且成绩高于该门课程平均分的学生学号和成绩。createviewT12asselectSnofromSCwhereCno=2andGrade=(selectAVG(Grade)fromSCwhereCno=2)(13)创建用户user1,将学生表的select权限赋给用户user1,然后以user1登录,检查权限情况。(14)收回用户user1的对学生表的select权限,然后以user1登录,检查权限情况。钟子期听懂了俞伯牙的琴音——“巍巍乎若高山,荡荡乎若流水”,俞伯牙视其为知音。钟子期死后,面对江边一抔黄土,俞伯牙发出“此曲终兮不复弹,三尺瑶琴为君死”的感慨,摔琴而去,从此,高山流水,知音难觅。红楼里,宝钗与黛玉皆爱宝玉,宝钗看重功名,常拿一些伦理纲常来压制他的不羁与顽劣,黛玉却从未提及这些,因她懂得他的心性,她说“你既为我之知己,自然我亦是你之知己”,造化弄人,木石前缘虽是虚空一场,却怀金悼玉,梦萦千古,今日读来依然荡气回肠!不是所有的相遇都可以相知,不是所有的相知都可以永恒。生命里,我们只愿结交那些心性相宜的人,统一的语言,相同的志趣,将彼此的心灵拉近,一份懂得,不言不语,却在默契里滋生。懂得,是两颗心的对望,潜生一种心灵感应,不发一言,便可知会。一声懂得,没有千言万语,却可以令人眸中含泪,心中蕴暖。这世间太多人情薄凉,你是否觉得,有一个真正懂你的人,是一种幸福与慰藉呢?茫茫人海,你不孤单,有人愿与你同运命,共风雨,如此,多好!风懂云的情怀,它,轻轻的吹送,云姿更加漫妙;雪懂梅的寒傲,它,悄悄的绽放,梅骨愈加清奇;泉懂山的伟岸,它,静静的流淌,山林更为葱茂;雨懂花的心思,它,无声的洒落,花香尤为清绝……杏花疏影小楼边,一腔笛韵委婉悠扬;山亭古寺四月间,深涧桃花兀自娇娆;暗香疏影黄昏后,东篱素菊暗香盈袖;柴门冬雪夜归人,红泥火炉绿蚁新醅……若懂得,景与物,也相宜。彷徨失意时,一句懂得,是严冬的一场花开春暖,茫然无助时,一句懂得,是酷暑的一阵清凉细雨,心与心的贴近,皆因一个“懂得”而欣慰,美好。
本文标题:天津理工大学-数据库实验二
链接地址:https://www.777doc.com/doc-5922705 .html