在SQL语言中,有表、基本表( basetable)和视图(view)。 基本表是实际存储在数据库中的表,而视图则不是实际存储在数据库中的表。试回答以下有关视图问题:
①SQL语言中如何理解视图的基本概念
②SQL语言中定义和删除视图的基本命令
③SQL语言中使用视图的优点
参考答案:①在SQL语言中,视图是从一个或几个基本表(或视图)中导出的表,它是由若干个基本表或其它视图构成的子集。用户可以用SQL语句对视图和基本表进行查询等操作。在用户看来视图和基本表是一样的,都是关系(即表格)。在SQL语言中的视图(view)是数据库体系结构中的外模式。
②SQL语言中定义视图的命令格式为:
CREATE VIEW视图名[(字段名[,字段名]…)]AS查询[WITH CHECK OPTION];
SQL语言中删除视图的命令格式为:
DROP VIEW视图名;
③视图的优点主要有:
a.视图对于教据库的重构造提供了一定程度的逻辑独立性。数据的逻辑独立性是指数据库重构造时,如数据库扩大(增加了新字段,新关系等),用户和用户程序不会受影响。
b.简化了用户观点。
视图的机制使用户把注意力集中在他所关心的数据上。若这些数据不是直接来自基本表,则可以定义视图,从而使用户眼中的数据结构简单而直接了当,并可大大简化用户的数据查询操作,特别是把若干表连接在一起的视图,把从表到表所需要的连接操作向用户隐蔽了起来。
c.视图机制使不同的用户能以不同的方式看待同一数据。
d.视图机制对机密数据提供了自动的安全保护功能。可以把机密数据从公共的数据视图(基本表)中分离出去,即针对不同用户定义不同的视图,在用户视图中不包括机密数据的字段。这样,这类数据便不能经由视图被用户存取,从而自动地提供了对机密数据的保护。