✅ 操作成功!

中指数据库

发布时间:2023-06-13 作者:admin 来源:文学

中指数据库

中指数据库

防疫报告-安神定志丸方歌

2023年3月19日发(作者:风景名胜英语)

数据库视图基础概念

数据库中视图的概念:

视图是从⼀个表或是多个表导出的表,视图与表不同,视图是⼀个虚表,即视图所对应的数据不进⾏实际存储,数据库中指存储视图的定

义,在对视图的数据进⾏操作时,系统根据视图的定义去操作与视图相关联的基本表。

视图是虚表,是从⼀个或是⼏个基本表导出的表。可以将视图看做是移动的窗⼝,通过它可以看到⾃⼰感兴趣的数据,视图是从⼀个或是多

个表中获得的,这些表的数据存放在数据库中,那些⽤户产⽣视图的表叫做视图的基表,当然也可以从另⼀个视图中产⽣视图。

视图看上⾮常像是数据库的物理表,对它的操作同任何其他的表⼀样。当通过视图修改数据时候,实际上是改变基表中的数据,相反的,基

表数据的改变也会⾃动反应在由基表产⽣的视图中。

视图中的数据会随着原表的变化⾃动更新,因为视图归根结底就是SELECT语句,每次查看视图其实就是执⾏SELECT语句,因此可以保证

数据的最新状态。

举例理解视图:

数据库虽然可以存储海量数据,但是在数据表设计上却不可能每种关系创建数据表,例如,对于学⽣表,存储了学⽣信息,学⽣的属性包括

学号、姓名、年龄、家庭地址等信息;⽽学⽣成绩表只存储了学⽣学号、科⽬、成绩等信息。现获得学⽣姓名和成绩信息,那么就需要创建

⼀个关系,该关系需要包含学⽣的姓名、科⽬、成绩。但是为了该关系创建⼀个新的数据表,并利⽤实际信息进⾏填充,以备查询使⽤,是

不合适的,这样会造成了数据库中数据的⼤量冗余。

视图就是解决这个问题的最佳策略,因此视图可以存储查询定义,⼀旦使⽤视图存储了查询定义,就如同存储了⼀个新的关系,⽤户就可以

直接对视图中所存储的关系进⾏各种操作,就如同⾯对的是真实的数据表。

使⽤视图的好处:

好处1:减少数据的冗余,⽅便对数据操作(如上⾯的例⼦)

好处2:数据的安全和保密(如下⾯的例⼦)

⼀个数据表可能包含很多列,但是这些列的信息,对于不同的⾓⾊来说,肯定不是全部公开的,对于员⼯表来说吧,⼀个普通的员⼯只能看

见这个员⼯表中的姓名和年龄这些信息,但是对于⾼层来说,他们要看见员⼯表中更多信息,不仅仅是上⾯的两列还有其他的信息,包括员

⼯的住址和员⼯的薪资待遇,这个时候都是同⼀张表,怎么办?视图可以解决呀,⾸先建⽴⼀个视图只有员⼯的姓名和年龄,再建⼀个视图

包含地址和薪资待遇的信息。这样就可以根据不同的⾓⾊分配两个视图的查询权限,与实际表隔离开来。这样就可以提⾼数据访问的安全性

了。

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

createview视图的名字

as

select*from表名;--写需要⽤到的SQL查询语句

⼦查询:

相当于⼀次性视图,在SELECT语句执⾏完后就会消失。

--在FROM⼦句中直接书写定义视图的SELECT语句:

如上所⽰,我们把⽤来定义视图的SELECT语句直接⽤于FROM⼦句当中。上图中的SELECT语句事实上包含了嵌套的结构,⾸先执⾏

FROM中的SELECT语句,然后才执⾏外层的SELECT语句。

虽然⼦查询⽀持多层嵌套,但是可读性不好,应该避免使⽤多层嵌套的⼦查询。

👁️ 阅读量:0