mysql 中视图和表的区别以及联系是什么?

一、两者的区别

   1)本质

         表是内容,视图是窗口。视图是已经编译好的sql语句,是基于sql语句的结果集的可视化的表,而表不是。

   2)实与虚

        表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表。

   3)是否存在物理记录

         视图没有,而表有。

   4)是否占用物理空间

         表占用物理空间,而视图不占用。视图只是逻辑概念的存在,表可以及时对它进行修改,但视图只能用创建的语句来修改。

   5)是否影响

         视图的建立(create)和删除(drop)只影响视图本身,不影响对应的基本表。

   6)安全因素

        视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些sql语句的集合。从安全的角度来说,视图可以防止用户接触数据表,因而用户不知道表结构。

二、两者的联系

       视图是在基本表之上建立的表,它的结构(即所定义的列)和内容(即所有记录)都来自基本表,它依据基本表存在而存在。一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系。

猜你喜欢

转载自www.cnblogs.com/Small-sunshine/p/10926178.html