问题标题 视图的作用,视图可以更改么? 期望金额10金币 已托管0金币 提问人:151*****502 提问时间:2017-12-15
问题详情

mysql中视图的作用,视图可以更改么?

特别要求
其他设置 期望完成时间:2017-12-22
管理员补充 要求回答者擅长领域 计算机 收藏 我来回答
以下部分为回答内容,共3个回答
1楼

视图主要有以下作用:
1、安全。一些数据表有着重要的信息。有些字段是保密的,不能让用户直接看到。这时就可以创建一个视图,在这张视图中只保留一部分字段。这样,用户就可以查询自己需要的字段,不能查看保密的字段。

2、性能。关系数据库的数据常常会分表存储,使用外键建立这些表的之间关系。这时,数据库查询通常会用到连接(JOIN)。这样做不但麻烦,效率相对也比较低。如果建立一个视图,将相关的表和字段组合在一起,就可以避免使用JOIN查询数据。

3、灵活。如果系统中有一张旧的表,这张表由于设计的问题,即将被废弃。然而,很多应用都是基于这张表,不易修改。这时就可以建立一张视图,视图中的数据直接映射到新建的表。这样,就可以少做很多改动,也达到了升级数据表的目的。

...展开更多
......此处隐藏剩余部分92字,需支付10金币方可查看...... 购买回答
2楼

视图是由一个查询所定义的虚拟表,它与物理表不同的是,视图中的数据没有物理表现形式,除非你为其创建一个索引.视图在我们日常操作也扮演着许多重要的角色,比如可以利用视图访问经过筛选和处理的数据,而不是直接访问基础表,以及在一定程度上也保护了基础表。


......此处隐藏剩余部分269字,需支付50金币方可查看...... 购买回答
3楼

视图可以修改
mysql视图的作用(详细)

测试表:user有id,name,age,sex字段
测试表:goods有id,name,price字段
测试表:ug有id,userid,goodsid字段

视图的作用实在是太强大了,以下是我体验过的好处:

作用一:
    提高了重用性,就像一个函数。如果要频繁获取user的name和goods的name。就应该使用以下sql语言。示例:
        select a.name as username, b.name as goodsname from user as a, goods as b, ug as c where a.id=c.userid and c.goodsid=b.id;
    但有了视图就不一样了,创建视图other。示例
        create view other as select a.name as username, b.name as goodsname from user as a, goods as b, ug as c where a.id=c.userid and c.goodsid=b.id;
    创建好视图后,就可以这样获取user的name和goods的name。示例:
        select * from other;
    以上sql语句,就能获取user的name和goods的name了。


......此处隐藏剩余部分855字,需支付150金币方可查看...... 购买回答