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

    关系数据库操作基础.ppt

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

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

    关系数据库操作基础.ppt

    关系数据库操作基础,4.5 视图,本人所售课程学生名单,本学期为自己的课程安排,教师开课的情况,教室使用的情况,学生的平均成绩,最高成绩,最低成绩等,理解视图,视图的特点虚拟表,是从一个或几个基本表(或视图)导出的表只存放视图的定义,不会出现数据冗余基表中的数据发生变化,从视图中查询出的数据也随之改变,基于视图的操作,基于视图的操作 查询 删除 受限更新定义基于该视图的新视图,创建视图,DBMS执行CREATE VIEW语句时只是把视图的定义存入数据字典,并不执行其中的SELECT语句。在对视图查询时,按视图的定义从基本表中将数据查出。,Create view AS,创建视图举例,CREATE VIEW HBstudentASSELECT sno,sname,sex,ageFROM studentWHERE place LIKE 湖北,例1建立一个湖北考籍的学生信息视图,创建视图举例,CREATE VIEW C_stud_info(sno,sname,sex,place)ASSELECT sno,sname,sex,placeFROM studentWHERE sno IN(SELECT snoFROM studyWHERE cno IN(SELECT cnoFROM courseWHERE cname LIKE C语言),例2建立一个学习了C语言的所有学生信息的视图,创建视图(续),WITH CHECK OPTION强制视图上执行的所有数据修改语句都必须符合由 设置的准则。通过视图修改行时,WITH CHECK OPTION 可确保提交修改后,仍可通过视图看到修改的数据。,创建视图举例,CREATE VIEW HBstudent_1ASSELECT sno,sname,sex,age,placeFROM studentWHERE place LIKE 湖北WITH CHECK OPTION;,例1建立一个湖北考籍的学生信息视图,更新 WITH CHECK OPTION的视图举例,update HBstudent_1set place=河北 where sno=1,基于多个基表的视图,CREATE VIEW Student_Study AS SELECT student.sno,cno,gradeFROM student,studyWHERE student.sno=study.sno AND place LIKE%湖北%,基于视图的视图,例4 CREATE VIEW HBstudent_2 AS SELECT sno,sname,age FROM HBstudent WHERE sex=女,带表达式的视图,例5CREATE VIEW HBstudent_3ASSELECT sno,sname,sex,year(getdate()-year,placeFROM studentWHERE place LIKE 湖北,设置一些派生属性列,也称为虚拟列距今年份带表达式的视图必须明确定义组成视图的各个属性列名,删除视图,DROP VIEW;该语句从数据字典中删除指定的视图定义由该视图导出的其他视图定义仍在数据字典中,但已不能使用,必须显式删除删除基表时,由该基表导出的所有视图定义都必须显式删除,删除视图(续),例7 删除视图HBstudent_3 DROP VIEW HBstudent_3,视图的查询,SELECT.FROM 视图或者表WHERE.,查询视图的工作原理,从用户角度:查询视图与查询基本表相同DBMS实现视图查询的方法实体化视图(View Materialization)有效性检查:检查所查询的视图是否存在执行视图定义,将视图临时实体化,生成临时表查询视图转换为查询临时表查询完毕删除被实体化的视图(临时表),查询视图的工作原理(续),视图消解法(View Resolution)进行有效性检查,检查查询的表、视图等是否存在。如果存在,则从数据字典中取出视图的定义把视图定义中的子查询与用户的查询结合起来,转换成等价的对基本表的查询执行修正后的查询,视图HBstudent中查找年龄大于20岁的学生基本信息SELECT sno,sname,sex,ageFROM HBstudentWHERE age 20,查询视图(续),用视图消解法解释查询的执行过程转换后的查询语句为:SELECT sno,sname,sex,ageFROM HBstudentWHERE age 20,查询视图(续),视图消解法的局限有些情况下,视图消解法不能生成正确查询。采用视图消解法的DBMS会限制这类查询。,查询视图(续),已知视图:CREATE VIEW avg_score(课程号,平均分)AS SELECT CourseNo,AVG(grade)FROM study GROUP BY CNo,预对视图进行如下查询:select*from avg_score where平均分=90如果采用视图消减法,则极有可能转化为下面的语句:SELECT CourseNo,AVG(grade)FROM studyWHERE AVG(grade)=90GROUP BY CNo,而实际上,这是一条错误的转换。正确的转换应该是:SELECT CourseNo,AVG(grade)FROM studyGROUP BY CNoHAVING AVG(grade)=90,更新视图,用户角度:更新视图与更新基本表相同DBMS实现视图更新的方法视图实体化法(View Materialization)视图消解法(View Resolution)指定WITH CHECK OPTION子句后,DBMS在更新视图时会进行检查,防止用户通过视图对不属于视图范围内的基本表数据进行更新,更新视图通过视图添加数据,insert into part_movie(title,year,length,incolor)values(M9,2005,102,1),在湖北考籍的学生视图HBstudent中插入一湖北考生信息,该学生信息为:(04031,戴敏,女,21)INSERT INTO HBstudentVALUES(04031,戴敏,女,21)该语句执行时将转换成对student表的插入:INSERT INTO studentVALUES(04031,戴敏,女,21,湖北),更新视图修改数据,将视图HBstudent中学号为03061的同学年龄改为20岁。UPDATE HBstudentSET age=20WHERE sno LIKE 03061该语句执行时将转换成对student表的修改:UPDATE studentSET age=20WHERE sno LIKE 03061 AND place LIKE 湖北,更新视图的限制,一些视图是不可更新的,因为对这些视图的更新不能唯一地有意义地转换成对相应基本表的更新(对两类方法均如此)例:CREATE VIEW avg_score(课程号,平均分)AS SELECT CNo,AVG(grade)FROM study GROUP BY CNo,视图的可更新性,SQL-Server规定可以按下列方式通过视图修改数据:视图在视图定义的 FROM 子句中包含至少一个表;视图不能只基于一个表达式。在选择列表中没有使用聚合函数(AVG、COUNT、SUM、MIN、MAX、GROUPING、STDEV、STDEVP、VAR、VARP)或 GROUP BY、UNION、DISTINCT 或 TOP 子句。但是,可以在 FROM 子句定义的子查询范围内使用聚合函数,前提条件是聚合函数生成的派生值没有修改过。在选择列表中不使用派生列。派生列是由除简单列引用以外的一切构成的结果集列。如果在视图中删除数据,在视图定义的 FROM 子句中只能列出一个表。,1.视图能够简化用户的操作,当视图中数据不是直接来自基本表时,定义视图能够简化用户的操作基于多张表连接形成的视图基于复杂嵌套查询的视图含导出属性的视图,2.视图使用户能以多种角度看待同一数据,视图机制能使不同用户以不同方式看待同一数据,适应数据库共享的需要,3.视图对重构数据库提供了一定程度的逻辑独立性,通过建立一个视图使用户的外模式保持不变程序员对数据库逻辑结构的修改不会影响到用户的视觉与操作.,视图在一定程度上保证了数据的逻辑独立性,4.视图能够对机密数据提供安全保护,对不同用户定义不同视图,使每个用户只能看到他有权看到的数据通过WITH CHECK OPTION对关键数据定义操作时限制,

    注意事项

    本文(关系数据库操作基础.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开