根据视图定义时复杂程度的不同,视图分为_______和_______两类。在简单视图定义中,数据来源于一个基表,不包含函数、_______等,可以直接进行DML操作。在复杂视图定义中,数据来源于一个或多个基表,可以包含_______、函数、分组、_______、表达式等元素,能否直接进行DML操作取决于视图的具体定义。
举一反三
- 下列有关对视图执行DML操作的表述中哪个是正确的?() A: 可以对简单视图执行DML操作。 B: 不能对包含WITHCHECKOPTION子句的视图执行DML操作。 C: 可以对包含WITHREADONLY选项的视图执行DML操作。 D: 可以对包含由表达式(如COST+1)定义的列的视图执行DML操作。
- 当视图定义以后,用户可以像对基表一样,对视图进行( )操作。
- 下列不属于视图插入、更新视图时的限制的是: A: 在一个语句中,一次不能修改一个以上的视图基表。 B: 允许对视图定义中包含GROUP BY子句的视图进行插入或修改操作。 C: 对视图中所有的列的修改必须遵守视图基表中所定义的各种数据约束条件。 D: 不允许对视图中的计算列进行修改。
- 下列关于视图的说法错误的是() A: 视图是从一个或多个基表(或视图)导出的虚表。 B: 视图可以屏蔽无权用户对不相关数据的访问 C: 视图一经定义,就可以被查询和更新 D: 可以基于视图定义新的视图
- 关于视图的描述,下面正确的是_______。 A: 通过视图插入的数据,一定能通过视图查询到 B: 通过视图插入的数据,一定不能通过视图查询到 C: 可更新视图定义中不能包含Group by 语句 D: 可更新视图定义中的子查询可以引用视图基表