您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 兰州大学数据库第四次实验视图
实验十创建视图一.实验目的1.掌握创建视图的SQL语句的用法。2.掌握使用企业管管理器创建视图的方法。3.掌握使用创建视图向导创建视图的方法。4.掌握查看视图的系统存储过程的用法。5.掌握修改视图的方法。二.实验准备1.了解创建视图方法。2.了解修改视图的SQL语句的语法格式。3.了解视图更名的系统存储过程的用法。4.了解删除视图的SQL语句的用法。三.实验要求1.用不同的方法创建视图。2.提交实验报告,并验收实验结果。四.实验内容1.创建视图(1)使用企业管理器创建视图①在EDUC库中以“student”表为基础,建立一个名为“V_计算机系学生”的视图。在使用该视图时,将显示“student”表中的所有字段.右击视图——新建视图——添加student表——选择所有列——在spno筛选器中填写‘=计算机’(2)使用SQL语句创建视图①在查询分析器中建立一个每个学生的学号、姓名、选修的课名及成绩的视图S_C_GRADE;②建立一个所有计算机系学生的学号、选修课程号以及平均成绩的视图COMPUTE_AVG_GRADE;2.修改视图(1)使用企业管理器修改视图在企业管理器中将视图COMPUTE_AVG_GRADE中改成建立在数学系的学生学号、选修课程号以及平均成绩的视图。右击视图COMPUTER_AVG_GRADE——设计——将筛选器中的院系的值改为数学院(2)使用SQL语句修改视图①在查询分析器中使用更改视图的命令将上面建立的视图“V_计算机系学生”更名为“V_计算机系男生”。3.删除视图(1)使用企业管理器删除视图用企业管理器删除视图“V_计算机系学生”右击视图“V_计算机系学生”——删除——确定(2)使用SQL语句删除视图用SQL语句删除视图COMPUTE_AVG_GRADE;实验十一使用视图一.实验目的1.熟悉和掌握对数据表中视图的查询操作和SQL命令的使用;2.熟悉和掌握对数据表中视图的更新操作和SQL命令的使用,并注意视图更新与基本表更新的区别与联系3.学习灵活熟练的进行视图的操作,认识视图的作用二.实验准备1.熟悉SQLSERVER工作环境。2.能连接到EDUC数据库。3.复习有关视图操作的SQL语言命令。三.实验要求1.在实验开始之前做好准备工作。2.实验之后提交实验报告,思考视图和基本表的区别四.实验内容一.定义视图在EDUC数据库中,已StudentCourse和Student_course表为基础完成一下视图定义1.定义计算机系学生基本情况视图V_Computer;2.将StudentCourse和Student_course表中学生的学号,姓名,课程号,课程名,成绩定义为视图V_S_C_G3.将各系学生人数,平均年龄定义为视图V_NUM_AVG4.定义一个反映学生出生年份的视图V_YEAR5.将各位学生选修课程的门数及平均成绩定义为视图V_AVG_S_G6.将各门课程的选修人数及平均成绩定义为视图V_AVG_C_G二.使用视图1.查询以上所建的视图结果。select*fromV_Computerselect*fromV_AVG_S_Gselect*fromV_AVG_C_Gselect*fromV_S_C_Gselect*fromV_YEARselect*fromV_NUM_AVG2.查询平均成绩为90分以上的学生学号、姓名和成绩;3.查询各课成绩均大于平均成绩的学生学号、姓名、课程和成绩;4.按系统计各系平均成绩在80分以上的人数,结果按降序排列;三.修改视图1.通过视图V_IS,分别将学号为“S1”和“S4”的学生姓名更改为“S1_MMM”,”S4_MMM”并查询结果;select*fromV_Computer2.通过视图V_IS,新增加一个学生记录('S12','YANXI',19,'IS'),并查询结果select*fromV_Computer3.要通过视图V_AVG_S_G,将学号为“S1”的平均成绩改为90分,是否可以实现?并说明原因不能实现因为平均成绩是派生出来的,而视图只是虚表,并不存在,对视图的修改最终都转换为对基本表的修改,但是基本表中并不包含平均成绩这一属性,而系统也不能修改各科成绩使平均成绩达到90,故不能实现修改。另外,DB2规定若视图的字段来自聚合函数,则此视图不允许更新。显然平均成绩是由聚合函数AVG()产生的,因此不允许更新实验十二更新语句一.实验目的1.熟悉使用UPDATE/INSERT/DELETE语句进行表操作;2.能将这些更新操作应用于实际操作中去;二.实验准备1.了解这些更新语句的基本语法和用法;三.实验要求1.完成下面的实验内容,并提交实验报告;2.在实验报告中附上相应的代码;四.实验内容1.对于student表,将所有专业号为‘001’(计算机)的,并且入学年份为2006的学生,或是专业号为‘003’(固体力学),并且年龄小于20岁的学生的班级号改为‘001’。2.对于student表,删掉所有年龄小于20岁,并且专业号为‘003’(固体力学)的学生的记录。3.对于student表,插入一条新记录,它的具体信息为,学号:2007110011(12037036)、姓名:张三(李四)、性别:男、出生日期:19880808、院系编号:‘001’(信息院)、专业编号:‘001’(计算机)、班级号:‘001’(0001)、入学时间:20070901。4.对于student表,将入学时间最晚的学生和年龄最小的学生的联系方式去掉。5.对于student表,将平均年龄最小的一个院系的院系编号改为‘008’。实验十三T-SQL编程一、【实验目的】1、掌握T_SQL编程的基本语法2、常用函数的使用方法二、【实验要求】1、使用查询分析器练习T-SQL编程方法2、练习函数的使用三、【实验准备】1、复习与本次实验内容相关知识2、预习相关函数(请预查阅CONVERT、DATENAME、GFTDATE函数的用法)四、【实验内容】1、条件结构自己编写一段程序判断一个年份(比如1900年)是否是闰年,是则显示1900年为闰年,否则显示1900年不是闰年.2、循环结构(1)下面是计算1~100和的循环结构,执行之,体会循环结构程序,注意语句块标志BEGIN...ENDDECLARE@SUMINT,@IINTSELECT@I=1,@SUM=0WHILE@I=100BEGINSELECT@SUM=@SUM+@ISELECT@I=@I+1ENDPRINT'1...100的和为:'+CONVERT(CHAR(4),@SUM)(3)编写一个程序用于计算10的阶乘(4)自己编制一个程序,要求其能打印出100内的素数(只能被其自身和1整除的数).--循环结构+条件结构3、CASE结构(1)下面SQL查询图书的信息,并根据图书定价判断是否适合作为教材select书名,出版社,作者,casewhen定价50then'定价太高,不适合作教材'else'定价'+CAST(定价asvarchar(5))+',可以作教材'end可否作为教材from图书(2)请自己编程实现各位同学的成绩以等级分显示即:90分及以上为优,80分及以上到90以下为良,70分及以上到80分以下为中,60分及以上到70分以下为及格,其余为不及格.4、函数使用下面查询,显示当前日期,显示格式为:今天是XXXX年XX月XX日,星期X,执行之,体会系统函数的用法.SELECT'今天是'+DATENAME(YEAR,GETDATE())+'年'+DATENAME(MONTH,GETDATE())+'月'+DATENAME(DAY,GETDATE())+'日'+DATENAME(WEEKDAY,GETDATE())
本文标题:兰州大学数据库第四次实验视图
链接地址:https://www.777doc.com/doc-6000257 .html