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

    数据库应用基础第六章视图.ppt

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

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

    数据库应用基础第六章视图.ppt

    1,第六章视图,2,复习,什么是数据完整性?数据完整性的分类?,3,1 什么是数据完整性?,数据的一致性和准确性,实体完整性域完整性引用完整性用户自定义完整性,数据完整性的分类,行,列,表,表,4,本章主要内容,6.1 视图概述6.2 创建视图6.3 视图的修改和删除,5,6.1 视图概述,1 视图的基本概念,2 使用视图的优点和缺点,(1)隐蔽数据库的复杂性(2)控制用户提取数据(3)简化数据库用户管理(4)改进性能,6,1 视图的基本概念,数据视图是另一种在一个或多个数据表上观察数据的途径,可以把数据视图看作是一个能把焦点定在用户感兴趣的数据上的监视器,用户看到的是实时数据,视图可以被看成是虚拟表或存储查询,用户可以通过视图来插入、更改和删除数据,7,例6-1:图书管理员现在需要查询图书的借用历史记录,确认图书的借用情况,目前有几本图书被借出,由哪些人借用,借用日期是何时。图书的名称,借阅人的名字以及相关借用日期,分别存在三个不同的表book_info、borrower_info和lend_list内,给SQL查询带来的一定的复杂性。采用视图的方法,能够很好的解决该问题。视图可以使得所有需要显示的图书借用信息好像都记录在一张表内一样。下面建立系统中的视图lendbook:,8,use Library_DBgoCREATE VIEW lendbook ASSELECT lend_list.book_id,lend_list.borrower_id,lend_list.lend_date,lend_list.back_date,book_info.name AS bookname,borrower_info.nameFROM lend_list INNER JOIN book_info ON lend_list.book_id=book_info.book_id INNER JOIN borrower_info ON lend_list.borrower_id=borrower_info.id,需要查询所需的图书借阅历史记录时,只需执行如下查询语句:SELECT*FROM lendbook,9,2 使用视图的优点和缺点,(1)隐蔽数据库的复杂性 开发者可以在不影响用户使用数据库的情况下可以改变数据库内容,即使在基表发生更改或重新组合的情况下,用户还能够通过视图获得一致和非变化的数据。,10,2 使用视图的优点和缺点,(2)控制用户提取数据 通过将某些不需要的、敏感的或是不适当的数据控制在视图之外,可以实现为用户定制其个人所使用的表。实际上这也是一种安全机制。用户可以访问某些数据,进行查询和修改,但是表或数据库的其余部分是不可见的,也不能进行访问。,11,2 使用视图的优点和缺点,(3)简化数据库用户管理 通过定义不同的视图及有选择地授予视图上的权限,可以将用户、组或角色限制在不同的数据子集内。,12,2 使用视图的优点和缺点,(3)简化数据库用户管理,可以将访问限制在基表中行的子集内。可以将访问限制在基表中列的子集内。可以将访问限制在基表中列和行的子集内。可以将访问限制在符合多个基表联接的行内。可以将访问限制在基表中数据的统计汇总内。可以将访问限制在另一个视图的子集内或视图和基表组合的子集内。,例:定义一个视图,其中只含有管理类书籍或计算机应用类书籍的行,向用户隐藏有关其它类型书籍的信息。,例:定义一个视图,其中含有books表中的所有行,但省略了 price 和 discount 列等敏感信息。,例:定义一个视图,其中只含有管理类书籍或计算机应用类书籍的行,同时含有books表中除了price 和 discount 列的其他列,隐藏了其他书籍信息和敏感列的信息。,例:定义一个视图,它联接表 books和authors表以显示作者姓名及其撰写的书籍。该视图隐藏作者的个人信息以及著作的财务信息。,例:定义一个视图,其中只含有每类书籍的平均价格。,13,2 使用视图的优点和缺点,(4)改进性能 通过在视图中存储复杂查询的运算结果并为其他查询提供这些摘要性的结果使数据库的性能得到提高,视图还具备分割数据的功能,而且可以把分割后独立的数据放置在不同的计算机上。,14,6.2 创建视图,1 视图的创建,2 视图定义信息查询,(1)使用Microsoft SQL Server Management Studio管理界面(2)通过执行系统存储过程 查看视图的定义信息,15,1 视图的创建,CREATE VIEW.view_name(column,.n)WITH ENCRYPTION AS select_statement WITH CHECK OPTION,16,例6-2:本例建立的是系统中另外一个非常有用的视图book_info_view,通过这个视图,系统可以很容易的从表book_info、class和book_state中查询完整的图书信息,以方便显示给用户进行查看。,17,use Library_DBgoCREATE VIEW book_info_view ASSELECT book_info.book_id,book_info.name,book_info.author,book_info.publish,book_info.ISBN,book_info.introduction,book_info.language,book_info.price,book_info.pressmark,class.name AS classname,book_state.leftnum,book_state.number,book_info.class_idFROM book_info INNER JOIN book_state ON book_info.book_id=book_state.book_id INNER JOIN class ON book_info.class_id=class.class_id,18,2 视图定义信息查询,(1)使用Microsoft SQL Server Management Studio管理界面 运行“Microsoft SQL Server Management Studio管理界面”,在Library_DB下的视图中选择dbo.book_info_view,单击鼠标右键,在弹出的快捷菜单中讯则“属性”项,便可查看视图book_info_view属性,19,2 视图定义信息查询,(2)通过执行系统存储过程查看视图的定义信息 可以通过执行系统存储过程sp_helptext查看视图的定义信息 EXEC sp_helptext objname,用户需要查看的视图名称,20,2 视图定义信息查询,(2)通过执行系统存储过程查看视图的定义信息 例:EXEC sp_helptext book_info_view,21,2 视图定义信息查询,(2)通过执行系统存储过程查看视图的定义信息 可以通过运行系统存储过程sp_depends来获得视图对象的参照对象和字段 EXEC sp_depends objname,用户需要查看的视图名称,22,2 视图定义信息查询,(2)通过执行系统存储过程查看视图的定义信息 例:EXEC sp_depends book_info_view,23,2 视图定义信息查询,(2)通过执行系统存储过程查看视图的定义信息 例:查询数据库中定义的所有视图 EXEC sp_depends book_info_view,24,在定义视图时使用加密语句例6-3:通过WITH ENCRYPTION子句创建一个与例6-2相同的加密视图,将加密的新视图取名为book_info_view2。,25,use Library_DBgoCREATE VIEW book_info_view2WITH ENCRYPTION AS SELECT book_info.book_id,book_info.name,book_info.author,book_info.publish,book_info.ISBN,book_info.introduction,book_info.language,book_info.price,book_info.pressmark,class.name AS classname,book_state.leftnum,book_state.number,book_info.class_idFROM book_info INNER JOIN book_state ON book_info.book_id=book_state.book_id INNER JOIN class ON book_info.class_id=class.class_id,通过使用WITH ENCRYPTION 子句,用户将无法象浏览视图book_info_view的视图定义一样浏览视图book_info_view2的视图定义,26,6.3 视图的修改和删除,1 视图的修改,2 视图的删除,3 通过视图修改数据,27,1 视图的修改,ALTER VIEW.view_name(column,.n)WITH ENCRYPTION AS select_statement WITH CHECK OPTION,28,例6-4:对例6-4创建的视图book_info_view2进行修改,将该视图中的记录的字段减少为图书名称、所属分类名、剩余库存和总数量。,29,use Library_DBgoALTER VIEW book_info_view2AS SELECT book_info.name,class.name AS classname,book_state.leftnum,book_state.numberFROM book_info INNER JOIN book_state ON book_info.book_id=book_state.book_id INNER JOIN class ON book_info.class_id=class.class_id,30,2 视图的删除,DROP VIEW.view_name(column,.n),要删除的视图名,31,例6-5:删除Library_DB数据库中的视图book_info_view2。,DROP VIEW dbo.book_info_view2,32,3 通过视图修改数据,在视图中修改的数据操作都将导致对基表数据的修改,在通过视图修改数据时应注意以下几个问题:,不能对某些特别列进行操作;不能在视图中修改在视图中没有参照的列;不能在含有视图中没有参照的列的表中利用视图作插入操作;不能影响多于一个的基表;如果某一视图在定义中指定了WITH CHECK OPTION选项,则进行数据修改时将进行验证。,33,例6-6:通过WITH CHECK OPTION子句将强制对视图所作的所有修改都满足定义视图的select _statement中指定的条件。,34,CREATE VIEW lendbook2AS SELECTbook_id,borrower_id,lend_date,back_datefrom lend_listwhere book_id=0284WITH CHECK OPTION,通过查询语句:use Library_DBgoSELECT book_id,borrower_id,lend_date,back_dateFROM lend_listWHERE book_id=0284,35,通过UPDATE子句将borrower_id为970890的借阅记录的back_date由原来的NULL改为2010-4-22。UPDATE lendbook2SET back_date=2010-4-22WHERE borrower_id=970890,36,通过UPDATE子句将broorwer_id为981123的借书记录中的图书编号book_id由原来的0284改为0234。UPDATE lendbook2SET book_id=0234WHERE borrower_id=981123,

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开