视图与索引
什么是视图?
视图是一种常用的数据库对象,是一种虚拟表
在视图中被查询的表称为基表
视图的优点
- 提高数据操作效率
- 简化操作
- 定制数据
- 合并分割数据
- 安全性
创建视图
create view 视图名(列名....) [with encryption] as select 语句 [with check option] --with check option :不满足视图的定义不允许插入
例题
--1.创建了一个“V2”的视图,用于查询信息安全技术专业的女生的学生信息,包括学号、姓名、性别、出生日期、专业名、所在系。(加限制条件,不是视图定义的数据不能插入成功)。 create view V2 As select 学号,姓名,性别,出生日期,专业名,所在系 from XSQK where 专业名='信息安全技术' and 性别='女' with check option go
--2.向v2中分别添加3行数据,观察是否能够添加成功,为什么? -- ‘2012130206’,‘李好’,‘男’,‘1996-04-22’,‘网络工程’,‘计算机应用’ -- ‘2012130106’,‘周星星’,‘女’,‘1986-07-08’,‘信息安全’,‘计算机应用’ -- ‘2012130107’,‘周全’,‘男’,‘1986-07-08’,‘信息安全’,‘计算机应用’ insert into v2 values('2012130206','李好','男','1996-04-22','网络工程','计算机应用') --不能运行成功,与设置的专业名不同,不满足视图的定义 insert into v2 values('2012130106','周星星','女','1986-07-08','信息安全技术','计算机应用') --能运行成功 insert into v2 values( '2012130107','周全','男','1986-07-08','信息安全技术','计算机应用') --不能运行成功,性别不符合条件
--3更新视图v2数据 将学号为2012130102的学生姓名改为自己的姓名。 update v2 set 姓名='xxx' where 学号='2012130102'
--4通过视图v2删除数据 删除姓名是薛冰的学生信息。 delete from V2 where 姓名='薛冰'