再看数据库(2)视图
概念 *是从用户使用数据库的观点来说的。 *从一个或多个表(视图)中导出来的 *一个虚表,或者说查询表 为什么要用视图呢? 一是 简单 ,看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图
概念
*是从用户使用数据库的观点来说的。
*从一个或多个表(视图)中导出来的
*一个虚表,或者说查询表
为什么要用视图呢?
一是简单,看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件。
二是 安全,通过视图用户只能查询和修改他们所能见到的数据,但不能授权到数据库特定行和特定的列上。通过视图,用户可以被限制在数据的不同子集上:使用权限可被限制在另一视图的一个子集上,或是一些视图和基表合并后的子集上。
三是逻辑数据独立性。视图可帮助用户屏蔽真实表结构变化带来的影响。
概括来说,由于用户通过视图只能查询修改他们所能见到数据,所以操作起来自然简单许多,也安全多了。这点在视图的优点处还有涉及。
操作:
创建:
方法一:
执行显示结果:
方法二:
用T-SQL语句:
use niunan go create view View_Test1 --要查询的内容-- as select name,title,content,createtime --查询的表-- from category,news --查询条件-- where category.id=news.categoryId
相应的,视图的修改和删除也可直接在对象资源管理器中操作,在这里就不做介绍。
修改:
use niunan go --要修改的视图,括号中是列名-- alter view View_Test(name,createTime) --格式与新建视图时一致 as select name,title from category,news where category.id=news.categoryId
删除:
drop view View_Test
优点:
简化了对表增删改的操作。利用视图,我们可以同时从两个表中查找数据,而不用视图,就要一个一个的查询,很麻烦也容易出错。在一定程度上,使得数据库的复杂度降低,数据共享更为方便。另一方面,用户通过视图只能查看和修改他们所能见到的数据,简化了用户权限的管理。
视图与表:
视图中只存放了表的定义,但没有储存视图对应的数据,这些数据仍放在原来的数据表中。拿上面的例子说,新建的视图中并没有实际的新闻内容、类别名称等数据,它们都还是储存在原有的news,category表中。
视图可以像表一样进行增删改查的操作。
上一篇: [Java高并发编程详解]类的加载过程(未完待续...)
下一篇: 有关403禁止访问的详细介绍
推荐阅读
-
在oracle 数据库中查看一个sql语句的执行时间和SP2-0027错误
-
WIN7/win2008 r2 X64系统IIS 7.5 ACCESS数据库连接故障解决方法
-
在代码生成工具Database2Sharp中使用ODP.NET(Oracle.ManagedDataAccess.dll)访问Oracle数据库,实现免安装Oracle客户端,兼容32位64位Oracle驱动
-
PHP+Mysql树型结构(无限分类)数据库设计的2种方式实例
-
Python实现备份EC2的重要文件和MySQL数据库到S3
-
在Linux虚拟环境下搭建DB2的多分区数据库DPF
-
Mysql数据库高级用法之视图、事务、索引、自连接、用户管理实例分析
-
node.js连接MongoDB数据库的2种方法教程
-
编程开发之--Oracle数据库--存储过程和存储函数(2)
-
Oracle数据库安全策略分析 (三)第1/2页