课程实验报告课程名称数据库系统概论班级实验日期姓名学号实验成绩实验名称实验1:数据定义语句及数据查询语句实验目的及要求1.掌握数据查询语句。实验环境操作系统:WindowsDBMS:SQLServer2005实验内容首先在DBMS环境下直接创建书中第56页的3张表。1.在查询分析器在窗口下用SELECT语句完成单表查询:(1)查询全体学生的详细记录;(2)查询所有选修过课的学生的学号;(3)查询考试成绩不及格的学生的学号;(4)查信息系(IS)、数学系(MA)和计算机科学系(CS)的学生的姓名和性别;(5)查所有姓刘的学生的姓名、学号和性别;(6)查包含课程名中包含“DB%Analysis”的课程的课程号和学分;(7)查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列;(8)查询学习1号课程的学生最高分数;(9)查询各个课程号与相应的选课人数;2.在查询分析器在窗口下用SELECT语句完成连接(嵌套)查询:(10)查询每个学生及其选修课程的详细情况,包括学生姓名和课程名;(11)查询选修2号课程且成绩在90分以上的所有学生的基本情况;(12)查询每个学生及其选修的课程名其及成绩;(13)查询与“XXX”在同一个系学习的学生;(XXX为自己的真实姓名)(14)查询其他系中比信息系某一学生年龄小的学生姓名和年龄;(15)查询其他系中比信息系所有学生年龄都小的学生姓名及年龄;调试过程1.在查询分析器在窗口下用SELECT语句完成单表查询:(1)查询全体学生的详细记录;及实验结果(2)查询所有选修过课的学生的学号;(3)查询考试成绩不及格的学生的学号(4)查信息系(IS)、数学系(MA)和计算机科学系(CS)的学生的姓名和性别;(5)查所有姓刘的学生的姓名、学号和性别(6)查包含课程名中包含“DB%Analysis”的课程的课程号和学分(7)查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列;(8)查询学习1号课程的学生最高分数;(9)查询各个课程号与相应的选课人数;2.在查询分析器在窗口下用SELECT语句完成连接(嵌套)查询(10)查询每个学生及其选修课程的详细情况,包括学生姓名和课程名;(11)查询选修2号课程且成绩在90分以上的所有学生的基本情况(12)查询每个学生及其选修的课程名其及成绩(13)查询与“XXX”在同一个系学习的学生(14)查询其他系中比信息系某一学生年龄小的学生姓名和年龄(15)查询其他系中比信息系所有学生年龄都小的学生姓名及年龄总结1,学会根据软件提示修改错误调试执行2;数据库建立时要注意命名的一致。3;查询时记住选择自己刚建立的数据库。4;比较复杂的嵌套查询语句书写时要细心。附录1.在查询分析器在窗口下用SELECT语句完成单表查询:(1)查询全体学生的详细记录;SELECTDISTINCT*FROMStudent(2)查询所有选修过课的学生的学号;SELECTSnoFROMSC(3)查询考试成绩不及格的学生的学号;SELECTDISTINCTSnoFROMSCWHEREGrade60(4)查信息系(IS)、数学系(MA)和计算机科学系(CS)的学生的姓名和性别;SELECTSname,SsexFROMStudentWHERESdeptIN('CS','MA','IS')(5)查所有姓刘的学生的姓名、学号和性别;SELECTSname,Ssex,SnoFROMStudentWHERESnameLIKE'刘%'(6)查包含课程名中包含“DB%Analysis”的课程的课程号和学分;SELECTCno,CcreditFROMCourseWHERECnameLIKE'DB%Analysis'(7)查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列;SELECTSno,GradeFROMSCWHERECno='3'ORDERBYGradeDESC(8)查询学习1号课程的学生最高分数;SELECTMAX(Grade)FROMSCWHERECno='1'(9)查询各个课程号与相应的选课人数;SELECTCno,COUNT(Sno)FROMSCGROUPBYCno2.在查询分析器在窗口下用SELECT语句完成连接(嵌套)查询:(10)查询每个学生及其选修课程的详细情况,包括学生姓名和课程名;SELECTStudent.*,SC.*FROMStudent,SCWHEREStudent.Sno=SC.Sno(11)查询选修2号课程且成绩在90分以上的所有学生的基本情况;SELECTStudent.Sno,SnameFROMStudent,SCWHEREStudent.Sno=SC.SnoANDSC.Cno='2'ANDSC.Grade90(12)查询每个学生及其选修的课程名其及成绩;SELECTStudent.Sno,Sname,Cname,GradeFROMStudent,SC,CourseWHEREStudent.Sno=SC.SnoANDSC.Cno=Course.Cno(13)查询与“XXX”在同一个系学习的学生;(XXX为自己的真实姓名)SELECTSno,Sname,SdeptFROMStudentWHERESdeptIN(SELECTSdeptFROMStudentWHERESname='吕阳')(14)查询其他系中比信息系某一学生年龄小的学生姓名和年龄;SELECTSname,SageFROMStudentWHERESageANY(SELECTSageFROMStudentWHERESdept='IS')ANDSdept'IS'(15)查询其他系中比信息系所有学生年龄都小的学生姓名及年龄;SELECTSname,SageFROMStudentWHERESageALL(SELECTSageFROMStudentWHERESdept='IS')ANDSdept'IS'课程实验报告课程名称数据库系统概论班级实验日期姓名学号实验成绩实验名称实验2:数据更新及视图实验目的及要求1.掌握数据定义语句;2.掌握数据更新语句;3.掌握视图的使用。实验环境操作系统:WindowsDBMS:SQLServer2005实验内容商品(商品号字符(3),商品名字符(20),单价浮点型,商品类别字符(5),供应商字符(20));顾客(顾客号字符(3),姓名字符(10),住址字符(20));购买(顾客号字符(3),商品号字符(3),购买数量整型);用SQL语句实现如下题目:1.创建上述3个表。2.往表中插入数据:商品:M01,佳洁士,8.00,牙膏,宝洁;M02,高露洁,6.50,牙膏,高露洁;…顾客:C01,Dennis,海淀;C02,John,朝阳;购买:C01,M01,13;C01,M05,12;3.将所有的“牙刷”商品单价增加30%。4.将“宝洁”供应商改为“P&G”。5.删除所有卖出总数量少于20个的商品信息,不包括从没有卖出的商品。6.删除没有购买记录的商品。7.创建顾客号,商品号,商品名称,单价,购买数量的视图。调试过程及(详细记录在调试过程中出现的问题及解决方法。记录实验执行的结果)实验结果总结(对实验结果进行分析,问题回答,实验心得体会及改进意见)附录(源程序清单)课程实验报告课程名称数据库系统概论班级124实验日期2014.4.29姓名董龙钱学号201207295实验成绩实验名称实验3:数据库的完整性和安全性实验目的及要求1.掌握实体完整性规则的定义方法;2.掌握参照完整性规则的定义方法;3.掌握用户定义完整性的定义方法;4.掌握数据库安全性控制。实验环境操作系统:WindowsDBMS:SQLServer2005实验内容有三个关系模式:Student(snovarchar(10)主键,snamevarchar(8),ssexvarchar(2)默认为‘男’,sageint介于20到50之间,sdeptvarchar(20));Course(cnovarchar(5)主键,cnamevarchar(20)唯一,cpnovarchar(5),creditint);SC(snovarchar(10)主键,Student表的外键,cnovarchar(5)主键,Course表的外键,gradeint)。数据库的完整性(1)利用查询分析器创建上述3个基本表。(2)删除student表的关于sage20到50的约束数据库的安全性:用GRANT和REVOKE语句完成以下授权定义或存取控制功能:(3)用户王明对Student表和Course表有SELECT权力;(4)用户李勇对Student表和Course表有INSERT和DELETE权力;(5)用户刘星对Student表有SELECT权力,对Student表的sage字段有更新权力;(6)用户张新具有创建表的权力;(7)用户周平具有对Student表和Course表所有权力,并具有给其他用户授权的权力;(8)回收李勇、张新的权限Student表:Course表:SC表:调试过程及实验结果总结1:更加了解了数据库的完整性和安全性;2:提高了动手操作解决问题的能力;3:对sql使用更加熟练;附录(1):createtableStudent(snovarchar(10)primarykey,snamevarchar(8),ssexvarchar(2)default('男'),sdeptvarchar(20),sageintconstraintC1check(sage=20andsage=50));createtableCourse(cnovarchar(5)primarykey,cnamevarchar(20)unique,cpnovarchar(5),creditint);createtableSC(snovarchar(10),cnovarchar(5),primarykey(sno,cno),foreignkey(sno)referencesStudent(sno),foreignkey(cno)referencesCourse(cno),gradeint);(2):altertableStudentdropconstraintC1;(3):GrantselectonStudentto王明;GrantselectonCourseto王明;(4):GrantINSERT,DELETEonStudentto李勇;GrantINSERT,DELETEonCourseto李勇;(5):GrantSELECTonStudentto刘星;GrantupdateonCourse(sage)to刘星;(6):GrantCreateto张新;(7):GrantallprivilegesonStudentto周平;GrantallprivilegesonCourseto周平;(8):RevokeINSERT,DELETEonStudentfrom李勇;GrantINSERT,DELETEonCoursefrom李勇;课程实验报告课程名称数据库系统概论班级实验日期姓名学号实验成绩实验名称实验4:编写存储过程访问数据库实验目的及要求1.熟悉使用存储过程来进行数据库应用程序的设计。实验环境操作系统:WindowsDBMS:SQLServer2005实验内容创建关系模式SCSC(snovarchar(10)主键,Student表的外键,cnovarchar(5)主键,Course表的外键,scoreint,newscorevarchar(1))一开始SC表中的前3列是有数据的,newgrade列全部是空的1.编写存储过程将学生选课成绩(百分制)转换成等级制(即5、4、3、2、0),要求使用游标完成其中,5:90~1004:80~893:70~702:60~690:0~592.执行该存储过程,使得newgrade列中为各等级。调试过程及实验结果(详细记录在调试过程中出现的问题及解决方法。记录实验执行的结果)总结(对实验结果进行分