您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 15春数据库实验3-视图操作(4学时)
江苏师范大学实验三视图操作(4学时)【实验目的】1.学会使用SQL语句创建和使用视图,加深对视图和SQLServer基表作用的理解。2.了解数据库安全控制的机制,以及自主存取控制方法。【实验要求】1.掌握创建、修改视图的SQL语句的用法。2.掌握使用企业管管理器创建、修改视图的方法。3.掌握查看视图的系统存储过程的用法。4.掌握视图的使用方法。5.掌握SQL有关用户、角色及操作权限的管理方法。【实验内容】(一)定义视图以Student、SC、Course表为基础完成以下视图定义。1.定义计算机系学生基本情况视图V_Computer。2.将Student、Course和SC表中学生的学号,姓名,课程号,课程名,成绩定义为视图V_S_C_G。3.将各系学生人数,平均年龄定义为视图V_NUM_AVG。4.定义一个反映学生出生年份的视图V_YEAR。5.将各位学生选修课程的门数及平均成绩定义为视图V_AVG_S_G。6.将各门课程的选修人数及平均成绩定义为视图V_AVG_C_G。(二)使用视图1.查询以上所建的视图结果。2.查询平均成绩为90分以上的学生学号、姓名和成绩。3.查询各课成绩均大于平均成绩的学生学号、姓名、课程和成绩。4.按系统计各系平均成绩在80分以上的人数,结果按降序排列。(三)修改视图1.通过视图V_Computer,分别将学号为“04261001”和“04261002”的学生姓名更改为“S1_MM”,”S2_MM”并查询结果。2.通过视图V_Computer,新增加一个学生记录('S12','YANXI',19,'IS'),并查询结果。3.通过视图V_Computer,新增加一个学生记录('S13','YANXI',19,'MA'),并查询结果。4.通过视图V_Computer,删除学号为“S12”和“S13”的学生信息,并查询结果。5.通过视图V_S_C_G,将学号为“04261001”的姓名改为“S1_MMM”,是否可以实现?并说明原因。6.通过视图V_AVG_S_G,将学号为“04261001”的平均成绩改为90分,是否可以实现?并说明原因。【实验步骤】一、视图操作(一)定义视图定义计算机系学生基本情况视图V_Computer。CREATEVIEWV_COMPUTERAS1江苏师范大学SELECT*FROMstudentWHEREsdept='计算机'将Student、Course和SC表中学生的学号、姓名、课程号、课程名,成绩定义为视图V_S_C_G。CREATEVIEWV_S_C_GASSELECTstudent.sno,student.sname,course.cno,course.cname,sc.gradeFROMstudent,course,scWHEREstudent.sno=sc.snoandsc.cno=course.cno参考上例,自行完成实验内容中其他视图的定义。(二)使用视图查询以上所建的视图结果。Select*fromV_Computer查询平均成绩为90分以上的学生学号、姓名和成绩。Selectsno,sname,avgradefromV_AVG_S_Gwhereavgrade=90注:此例中出现的属性名应与创建视图V_AVG_S_G的属性名一致。参考上例,自行完成实验内容中其他视图的定义。(三)修改视图通过视图V_Computer,分别将学号为“04261001”和“04261002”学生姓名更改为“S1_MM”,”S2_MM”并查询结果。updateV_Computersetsname='S1_MM'WHEREsnolike'04261001'GO通过视图V_Computer,新增加一个学生记录('S12','YANXI',19,'IS'),并查询结果。INSERTINTOV_ComputerValues('S12','YANXI',19,'IS')GoSelect*fromV_Computer通过视图V_Computer,新增加一个学生记录('S13','YANXI',19,'MA'),并查询结果。INSERTINTOV_ComputerValues('S13','YANXI',19,'MA')goSelect*fromV_Computer通过视图V_Computer,删除学号为“S12”和“S3”的学生信息,并查询结果.deletefromV_ComputerWHEREsno='S12'orsno='S13'请根据上述例子,可参考以下所给的操作要求自行设计不同情况的DML语句(不少于20条语句),并进行验证。(1)建立“计91”班学生的视图;(2)建立“计911”班学生的视图,并要求进行修改与插入时,仍须保证该视图只有“计91”班学生;(3)建立“计91”班选修了“C01”课程的学生的视图,定义视图名为“v_info_C01_student1”;(4)建立“计91”班选修了“C01”课程且成绩在90分以上的学生的视图,定义视图名为2江苏师范大学3“info_c01_student2”;(5)定义一个反映学生年龄的视图,定义视图名为“v_birth_student”;(6)将学生表中所有女生记录定义为一个视图,视图名为“v_female_student”;(7)将学生的学号及其平均成绩定义为一个视图,视图名为“v_average_student”;(8)删除表student后,重新建student表,再建视图“V_CS_student1”,结果如何?(9)在“计91”班学生视图中找出年龄小于22岁(现在的年龄)的学生;(10)利用视图查询“计91”班选修了“C01”课程的学生;(11)通过(53)中的“计91”班视图修改某个学生的名字;(12)通过(54)中的“计91”班视图,插入一个新学生记录。(13)通过(54)中的“计91”班视图,删除一个学生记录。【思考题】1.为什么要建立视图?视图和基本表有什么不同?
本文标题:15春数据库实验3-视图操作(4学时)
链接地址:https://www.777doc.com/doc-4939634 .html