欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    使用SQL语句创建视.ppt

    • 资源ID:5922813       资源大小:1.31MB        全文页数:54页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    使用SQL语句创建视.ppt

    第4讲 视图,什么是视图?,基表(base table):独立存在的表视图虚拟表。在SQL中只存储视图的定义,不存放视图所对应的记录,视图的概念,视图是从一个或者多个表或视图中导出的表,其结构和数据是建立在对表的查询基础上的。和真实的表一样,视图也包括几个被定义的数据列和多个数据行,但从本质上讲,这些数据列和数据行来源于其所引用的表。,视图概述,视图的作用使用户只关注所关心的数据提高了数据的安全性提高客户端的查询效率,注意,创建视图时应该注意以下情况:只能在当前数据库中创建视图。如果视图引用的基表或者视图被删除,则该视图不能再被使用,直到创建新的基表或者视图。如果视图中某一列是函数、数学表达式、常量或者来自多个表的列名相同,则必须为列定义名称。不能在视图上创建索引视图的名称必须遵循标识符的规则,且对每个用户必须是唯一的。此外,该名称不得与该用户拥有的任何表的名称相同。,视图应用,视图为基表的行的子集【问题】在XK数据库创建视图v_Student,只显示Student表中班级编码为20000001的班级的学生信息方法1:使用企业管理器方法2:使用SQL语句方法3:使用创建视图向导,创建视图,SQL语句定义如下:use xk go create view v_student with encryption as select*from student where classno=20000001 go,练习,创建视图v_Class,只显示Class表中系部编码为01的系部的班级信息创建视图v_StuCouSub,只显示StuCou表中的StuNo列和CouNo列,创建视图,视图为多个表、视图连接组成的复杂查询最常用的情况【例】创建视图v_StuCou,显示学生的学号、姓名和所选的课程名称特点:多表查询(其实只需要在正确的select语句前加上CREATE VIEWAS即可),创建视图,添加表并选择要输出的行,练习,创建视图v_CouByCpt,显示计算机应用工程系承担的选修课程的信息(课程名称、授课老师、上课时间)use xk go create view v_coubycpt as select CouName,Teacher,SchoolTime,DepartName from Course,Department where Course.DepartNo=Department.DepartNo and DepartName=计算机应用工程系 go,创建视图(4),视图为基表的统计汇总【问题】创建视图v_CouByKind,按课程分类统计报名人数。特点:视图定义中使用了GROUP BY子句注意:在下面的情况下必须明确指明视图每一列的列名:视图中的某一列是算术表达式、函数或者常量多表连接时,有两个或两个以上的列具有相同的列名思考:能否将课本P51图2-2-26的查询结果作为视图,创建视图,创建视图,use xk go create view V_coubykind as select kind as 课程分类,sum(willnum)as 报名总数 from course group by kindgo,练习,创建视图v_CouByDep,显示各个系部开设的选修课的数量和报名人数,创建视图,SQL语句,use xk go create view v_CouByDep as select departname 课程名称,课程数量=count(*),报名人数=sum(willnum)from department,course where department.departno=course.departno group by departname go,显示视图信息,显示视图信息显示视图的定义信息sp_helptext显示视图的参照对象和字段信息 sp_depends例:显示v_coubycpt的定义信息、参照对象和字段信息。sp_helptext v_coubycpt go sp_depends v_coubycpt go,修改视图,格式:ALTER VIEW view_nameASselect_statement【问题】将v_ CouByCpt进行修改,使其显示旅游系所开设的所有课程信息。加密视图WITH ENCRYPTION,修改视图,use xk go alter view v_coubycpt as select CouName,Teacher,SchoolTime,DepartName from Course,Department where Course.DepartNo=Department.DepartNo and DepartName=旅游系 go,显示视图信息,显示视图信息显示视图的定义信息sp_helptext显示视图的参照对象和字段信息 sp_depends例:显示v_coubycpt的定义信息、参照对象和字段信息。sp_helptext v_coubycpt go sp_depends v_coubycpt go,重命名视图,重命名视图使用企业管理器使用系统存储过程sp_rename例:将视图v_coubycpt重新命名为v_coucount.sp_rename v_coubycpt,v_coucountgo,删除视图通过企业管理器修改应用SQL语句来删除SQL语句格式如下:DROP VIEW view_name也可以同时删掉多个视图。例:删除试图v_coubycpt和v_stucou。Drop view v_coubycpt,v_stucou,更新视图,INSERT操作UPDATE操作DELETE操作注意:由于视图实际上并不存储记录,因此更新视图的操作最终都转化为对基表的更新操作使用WITH CHECK OPTION:保证在进行视图的更新操作时,所插入、更新、删除的记录,满足视图定义中查询的条件表达式,更新视图,使用视图修改数据时,需要注意以下几点:修改视图中的数据时,不能同时修改两个或者多个基表,可以对基于两个或多个基表或者视图的视图进行修改,但是每次修改都只能影响一个基表。不能修改那些通过计算得到的字段。如果在创建视图时指定了WITH CHECK OPTION选项,那么所有使用视图修改数据库信息时,必须保证修改后的数据满足视图定义的范围。执行UPDATE、DELETE命令时,所删除与更新的数据必须包含在视图的结果集中。如果视图引用多个表时,无法用DELETE命令删除数据。,更新视图,利用视图添加新记录例:首先创建了一个新的视图v_teacher,该视图基于表teacher创建。create view v_teacherasselect teacherno,teachername,departno,salaryfrom teacherWhere salary3000goInsert into v_teacherValues(006,李田,3100,02)go,更新视图,use xk go alter view v_teacher as select ID,teachername,salary,departno from teacher Where salary3000 with check option go Insert into v_teacher Values(10,李田,2900,02)go,更新视图,利用视图修改记录将视图v_teacher中名为张胜利的老师改为王静西。use xk go update v_teacher set teachername=王静西 where teachername=张胜利 go,更新视图,使用视图删除记录,可以删除任何基表中的记录,直接利用DELETE语句删除记录即可。但应该注意,必须指定在视图中定义过的字段来删除记录。例:利用视图v_teacher删除表teacher中姓名为王静西的记录。delete from v_teacher where name=王静西,练习,创建视图v_StuSQL,显示00电子商务班并选修了SQL Server实用技术的学生信息(学号、姓名)。,练习,use xk go create view v_stusql as select student.stuno,stuname,classno from student,class,course,stucou where student.stuno=stucou.stuno and student.classno=class.classno and course.couno=stucou.couno and classname=00电子商务 and couname=SQL Server实用技术 go,思考,问题:对于上述建立的试图V_stusql,我们可否做以下操作。向该视图中插入新的一行(00000061,林思雨,20000001),如果可以插入那么在什么情况下可以插入。注:原来的student表中并不存在学号00000061。,思考:将视图定义改变如下,use xk go alter view v_stusql as select student.stuno,stuname,student.classno from student,class,course,stucou where student.stuno=stucou.stuno and student.classno=class.classno and course.couno=stucou.couno and classname=00电子商务 and couname=SQL Server实用技术 with check option go,思考,问题:1.此时还能否将下列一行记录插入到该视图中。(00000062,林雨,20000001)2.能否通过视图将学号为00000001的学生的姓名改为林小斌。3.能否将视图中下面所示的这行记录删除。(00000001,林斌),小结,视图可被看成是虚拟表或存储查询使用视图可提高数据库性能和安全性对视图进行修改会影响基表数据,

    注意事项

    本文(使用SQL语句创建视.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开