首页 > 编程知识 正文

表的两种视图的作用,创建视图的主要作用是什么

时间:2023-05-04 16:26:25 阅读:110552 作者:4707

如果有user表,则有id、name、age和sex字段

有goods表、id、name、price字段

有ug表、id、userid、goodsid字段

视图的作用非常强大。 视图的优点如下所示。

【作用一】

提高了重用性,视图现在像函数一样。 频繁获取用户的name和goods的name时。 必须使用以下sql语言: 如下所示。

select a.name as username,b.name as goodsname from user as a,goods as b,ugascwherea.id=c.useridandc.goods id=b.id;

但是,如果有视图就不一样了。 创建视图轮廓。 样品

createviewotherasselecta.nameasusername,b.name as goodsname from user as a,goods as b,ugascwherea.id=c.useridandc.gom

创建视图后,可以以这种方式获取用户的名称和goods的名称。 如下所示。

选择*从other;

通过以上sql语句,可以获取用户的name和goods的name。

【作用二】

在不影响程序执行的情况下重建数据库。 如果出于某种需求,需要将user分解为表usera和表userb,则这两个表的结构如下:

usera具有id、name和age字段

userb有id、name和sex字段

其中sql语句: select * from user; 那么,提示该表不存在。 这种情况下,怎样才能解决呢? 解决方案:创建视图。 以下sql语句创建视图:

create view user as select a.name、a.age、b.sex from usera as a、userb as b where a.name=b.name;

以上假设name都是唯一的。 使用sql语句: select * from user; 我不会报告错误之类的。 这样就可以在不更改脚本程序功能的情况下修改数据库的结构。

【作用三】

安全性提高了。 每个用户可以设置不同的视图。 例如,某个用户只能检索user表中name和age的数据,而不能检索sex的数据。 可以这样创建视图。 例如以下所示。

create view other as select a.name,a.age from user as a;

然后,sql语句: select * from other; 最多只能取得name和age的数据,不能取得其他数据。

【作用四】

使数据更明确。 想要什么样的数据,就创建什么样的视图。 经过以上三种作用的分析,这种作用应该很容易理解吧。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。