关于视图和基本表?
概述:在构造复杂查询的时候,我们经常用到子查询,查询语句冗长且复杂,难以理解。我们知道子查询得到的结果,也是以表的形式表示,如果能将子查询得到的结果命名为一张表,这张表可以出现在select语句的from子句后面,那将为我们构造复杂查询带来很多方便。以下对视图做个简要介绍
一.视图的定义:
视图是一个由子查询产生的表【或者说,它是从一个或几个基本表(或视图)导出的表】。它可以有自己的名字和字段名
二.在数据库中使用 视图
1.建立视图
SQL语言用CREATE VIEW命令建立视图,其一般格式为
CREATE VIEW <视图名> [(<列名> [,<列名>]...)]
AS <子查询>
[WITH CHECK OPTION];
示例:建立信息系学生的视图
CREATE VIEW IS_Student
AS
SELECT Sno,Sname,Sage
FROM Student
WHERE Sdept='IS';
若加上WITH CHECK OPTION,则最后一句变成WHERE Sdept='IS' WITH CHECK OPTION;
有了WITH CHECK OPTION子句,对视图进行插入修改和删除操作时,关系数据库管理系统会自动加上Sdept='IS'的条件
三.视图的作用
1.视图能够简化用户的操作。这是因为表与表之间复杂的连接关系被视图所隐蔽,用户无需了解这个虚表怎么样得来的
2.视图能使不同的用户能以不同的角度看待同一数据,加大了数据的灵活性
3.视图对重构数据库提供了一定程度上的逻辑独立性。
4.视图能够对机密数据提供安全保护。
5.适当利用视图可以更加清晰地表达查询。
四.视图与基本表的区别
基础表的数据存储在磁盘文件中
视图数据依赖于基础表,没有单独存放在磁盘中