数据库中的视图理解和优点介绍

数据库中视图的概念:视图是从一个表或是多个表导出的表,视图与表不同,视图是一个虚表,即视图所对应的数据不进行实际存储,数据库中指存储视图的定义,在对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表。

视图是虚表,是从一个或是几个基本表导出的表。可以将视图看做是移动的窗口,通过它可以看到自己感兴趣的数据,视图是从一个或是多个表中获得的,这些表的数据存放在数据库中,那些用户产生视图的表叫做视图的基表,当然也可以从另一个视图中产生视图。

视图看上非常像是数据库的物理表,对它的操作同任何其他的表一样。当通过视图修改数据时候,实际上是改变基表中的数据,相反的,基表数据的改变也会自动反应在由基表产生的视图中。

 

举例理解视图:

数据库虽然可以存储海量数据,但是在数据表设计上却不可能每种关系创建数据表,例如,对于学生表,存储了学生信息,学生的属性包括学号、姓名、年龄、家庭地址等信息;而学生成绩表只存储了学生学号、科目、成绩等信息。现获得学生姓名和成绩信息,那么就需要创建一个关系,该关系需要包含学生的姓名、科目、成绩。但是为了该关系创建一个新的数据表,并利用实际信息进行填充,以备查询使用,是不合适的,这样会造成了数据库中数据的大量冗余。

视图就是解决这个问题的最佳策略,因此视图可以存储查询定义,一旦使用视图存储了查询定义,就如同存储了一个新的关系,用户就可以直接对视图中所存储的关系进行各种操作,就如同面对的是真实的数据表。

 

好处1:上面就是减少数据的冗余,方便对数据操作

好处2:数据的安全和保密

一个数据表可能包含很多列,但是这些列的信息,对于不同的角色来说,肯定不是全部公开的,对于员工表来说吧,一个普通的员工只能看见这个员工表中的姓名和年龄这些信息,但是对于高层来说,他们要看见员工表中更多信息,不仅仅是上面的两列还有其他的信息,包括员工的住址和员工的薪资待遇,这个时候都是同一张表,怎么办?视图可以解决呀,首先建立一个视图只有员工的姓名和年龄,再建一个视图包含地址和薪资待遇的信息。这样就可以根据不同的角色分配两个视图的查询权限,与实际表隔离开来。这样就可以提高数据访问的安全性了。

下面就是创建视图的sql的语句:

create view 视图的名字
as
select * from
表名;      --写需要用到的SQL查询语句

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值