资源描述:
《实训八视图的创建和使用ku》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实训八视图的创建和使用一、实训目的1.理解视图和数据表之间的主要区别与联系;2.理解视图的优点;3.掌握创建、修改和删除视图的方法;4.掌握通过视图操作表中数据的方法。二、实训步骤(一)创建视图1.用SQLServer管理控制台创建视图(1)创建一个名为student_score的视图,要求基表的来源为:t_student和t_score;选择的字段为t_student中的s_number,s_name和t_score中的score;要求查询的数据为全部学生的考试成绩。(2)创建一个名为course_score的视图,要求基表的来源为:t_cou
2、rse和t_score;选择的字段为t_course中的c_number,c_name和t_score的score;要求查询的成绩是各科的平均分。1.用Transact_SQL语句创建视图(1)创建一个新视图,命名为v_score1。要求基表的来源为:t_student、t_score和t_course;选择的字段为:t_student表中的s_number和s_name字段、t_course表中的c_name字段及t_score表中的score字段;要求查询的数据为B04511班学生的考试成绩。(参考教材P138例7-2)CREATEVIEWV
3、_SCORE2ASSELECTT_STUDENT.S_NUMBER,S_NAME,C_NAME,SCOREFROMT_STUDENT,T_COURSE,T_SCOREWHERET_STUDENT.S_NUMBER=T_SCORE.S_NUMBERANDT_COURSE.C_NUMBER=T_SCORE.C_NUMBERANDLEFT(T_STUDENT.S_NUMBER,6)='B04511'(2)创建一个新视图,命名为v_score_notPass。要求基表的来源为:t_student、t_score和t_course;选择的字段为:t_stu
4、dent表中的s_number和s_name字段、t_course表中的c_name字段及t_score表中的score字段;要求查询的数据为各班不及格的学生的学号、姓名、课程名及成绩,并加密视图的定义。(参考教材P139例7-3)CREATEVIEWV_SCORE_NotPassWITHENCRYPTION/*加密*/ASSELECTT_STUDENT.S_NUMBER,T_STUDENT.S_NAME,T_COURSE.C_NAME,T_SCORE.SCOREFROMT_STUDENT,T_COURSE,T_SCOREWHERET_STUDE
5、NT.S_NUMBER=T_SCORE.S_NUMBERANDT_COURSE.C_NUMBER=T_SCORE.C_NUMBERANDSCORE<60(3)使用Transact_SQL语句创建新视图v_score_sumAndAaverage。要求计算各个班级各门课程的总分及平均分。(参考教材P140例7-4)CREATEVIEWV_SCORE_SumAndAverageASSELECTSUBSTRING(T_STUDENT.S_NUMBER,1,LEN(T_STUDENT.S_NUMBER)-2)AS班级,T_COURSE.C_NAMEAS课
6、程名称,SUM(SCORE)AS总分,AVG(SCORE)AS平均分FROMT_STUDENT,T_COURSE,T_SCOREWHERET_STUDENT.S_NUMBER=T_SCORE.S_NUMBERANDT_COURSE.C_NUMBER=T_SCORE.C_NUMBERGROUPBYSUBSTRING(T_STUDENT.S_NUMBER,1,LEN(T_STUDENT.S_NUMBER)-2),T_COURSE.C_NAME班级课程名称总分平均分--------------------------------------B04511
7、单片机原理21772.3333333333333B04511高等数学77377.3(2行受影响)(二)查看视图信息1.用SQLServer管理控制台查看视图v_score_notPass的信息。2.用系统存储过程sp_helptext查看视图v_score_notPass的信息。(三)修改和重命名视图1.修改视图v_score_notpass,在该视图中增加一个新的条件,要求只显示高等数学不及格的学生信息。(参考教材P146例7-9)ALTERVIEWV_SCORE_NotPassASSELECTT_STUDENT.S_NUMBER,T_STUD
8、ENT.S_NAME,T_COURSE.C_NAME,T_SCORE.SCOREFROMT_STUDENT,T_COURSE,T_SCO