zoukankan      html  css  js  c++  java
  • MySQL/Oracle视图的创建与使用

    1.什么是视图?
    视图是一个虚拟的表,是一个表中的数据经过某种筛选后的显示方式,视图由一个预定义的查询select语句组成。
     
    2.视图的特点。
    视图中的数据并不属于视图本身,而是属于基本的表,对视图可以像表一样进行insert,update,delete操作。
    视图不能被修改,表修改或者删除后应该删除视图再重建。
    视图的数量没有限制,但是命名不能和视图以及表重复,具有唯一性。
    视图可以被嵌套,一个视图中可以嵌套另一个视图。
    视图不能索引,不能有相关联的触发器和默认值,sql server不能在视图后使用order by排序。
     
    举例:查询“心理学”考试成绩大于80的学生的“学号”、“姓名”、“所属院系”。
    Student(学号,姓名,性别,所属院系)
    Course(课号,课名,学分)
    Score(学号,课号,考试成绩,平时成绩)
    这需要通过联合查询来解决问题了,参数不足,只得如此,来写一条语句试试:
    Select st.学号,st.姓名,st.所属院系 from student as st,course as co,score as sc
    Where co.课名=’心理学’ and sc.考试成绩>80 and st.学号=sc.学号 and co.课号=sc.课号
    这条语句看起来很长,有一点点复杂,如果每次都要先写这条语句查询后在对查询的结果操作,就会显得复杂,创建一个视图就能解决这个问题了。
    创建视图:
    Create view vw1 as
    Select st.学号,st.姓名,st.所属院系 from student as st,course as co,score as sc
    Where co.课名=’心理学’ and sc.考试成绩>80 and st.学号=sc.学号 and co.课号=sc.课号
    这样就可以世界查看视图,查看数据了。
    3.视图的功能
    1.简化用户操作
    2.能以不同的角度观察同一个数据库
    3.对重构数据库提供了逻辑独立性:
    利用视图将需要的数据合并或者筛选,但是不影响原表的数据和结构
    3.对机密数据提供安全保护:
     可以建立不同的视图对用不同的用户,以达到安全的目的。
     

    4.视图的 ‘增删改查’

     http://www.w3school.com.cn/sql/sql_view.asp

  • 相关阅读:
    Title
    2019 年 Java 最新面试指南共 80 题,赶快收藏起来吧!
    1+x证书《Web前端开发》等级考试样题
    云服务器、VPS、虚拟主机三者之间的区别?
    1+X”中级Web前端证书对应课程分析
    轻松装Win10:VMware Workstation 12虚拟机下载
    网站收录提交入口
    使用coding和hexo快速搭建博客
    宝塔安装Lsky Pro图床教程
    jsDeliver+github使用教程,免费的cdn
  • 原文地址:https://www.cnblogs.com/iloverain/p/9298947.html
Copyright © 2011-2022 走看看