Heim >Datenbank >MySQL-Tutorial >数据库视图
一、了解视图 在增删改查数据的过程中我们很多情况会用到视图,那为什么要使用视图,他有什么好处呢? 在设计表的时候,需要考虑到数据的冗余,数据的一致性问题,通常对数据表设计要满足范式的要求,这也就造成了我们的需要的数据分布在不同的表中,如果不使用视图,
在增删改查数据的过程中我们很多情况会用到视图,那为什么要使用视图,他有什么好处呢?
在设计表的时候,需要考虑到数据的冗余,数据的一致性问题,通常对数据表设计要满足范式的要求,这也就造成了我们的需要的数据分布在不同的表中,如果不使用视图,我们就需要在代码中查询多个表,来查找需要的数据.
其实视图就是我们对基表整合后形成的满足我们需求的虚拟表,尽管视图不是表。视图是数据库的对象,为用户提供了一种检索数据表的方式,保存的是对一个表或者多个表(视图)的查询定义。视图定义后就保存在了数据库中,视图是基于基本表的,所以如果基本表发生了变化,视图中所涉及的信息也会随之变化,他们之间的关系式相互的。
通过视图可以将复杂的查询语句变得简单,利用视图用户不必了解数据库及实际表的结构,方便使用和管理数据。
在视图中可以只显示有用的字段,并且可以使用字段别名,方便用户查询结果。视图可以让不同的用户以不同的方式看同一个数据集的内容,体现数据库的个性化要求。
视图也是数据库对外的一种方式,如果数据表的结构发生了变化,只需要改变视图的查询语句即可,不必改变程序,感觉视图就像接口一样,这样使程序对数据库的操作更加灵活。
针对不同的用户,可以创建不同的视图,此时的用户只能查看和修改其所能看到的视图中的数据,而真正的数据表中的数据甚至连数据表都是不可见不可访问的。
(1)在对象资源管理器中右击数据库Charge下的视图
(2)添加与视图中字段相关的表
(3)选择需要的字段,也可以为他们创建别名。
基本语法:
create view [([,]…)]
as
例子:在student库中为学生表创建视图,通过该视图,可以查询“专业代码”为“0101”的所以学生的姓名和学号
create view view1
as
select 学号,姓名
form dbo.学生
where (专业代码='0101')
数据视图的最大功能是为用户使用数据带来的安全性。在用户创建视图时可以将敏感数据隐藏,只显示用户感兴趣的字段。利用视图只能查询和修改视图本身所能包含的数据。