数据库笔记

第二部分 - 关系模型与语言 - 3 - 视图

2017-03-17  本文已影响39人  板蓝根plank

在 ANSI-SPARC 三层结构中, 描述了数据库结构呈现在特定用户面前的一个外部视图。在关系模型中 “视图(view)” 这个词的含义稍微有些不同。它不完全是用户看到的外部模型,它指 虚关系 或者 导出关系,即无需单独存在,必要时可从一或多个基本关系中动态的将其导出。因此,一个外部模型可以由基本关系(概念级)和基本关系导出的视图共同组成。

1. 术语

前述关系均为基本关系。

可以根据关系定义视图。

视图是一个因用户存在,并呈现在用户面前的关系,可以把它当做基本关系进行操作,但与基本关系不同的是,它并不是真正存在于存储器中(虽然它的定义存储在系统目录中)。视图的内容被定义成基于一个或多个基本关系的查询。对试图所进行的任何操作自动的转换成对导出它的关系进行操作。视图是 动态的,这意味着,对导出视图的基本关系的修改将立即反映到视图上。当用户对视图做允许的修改时,这些修改将作用到基本关系上。

2. 视图的用途

需要视图机制的原因:

可以让视图支持用户所熟悉的外部模型。例如:

虽然这些例子足以说明视图提供了 逻辑数据独立性,但实际上,视图还提供了更为重要的一类逻辑数据独立性,即允许概念模式的重组。例如,如果在某个关系中添加了一个新的属性,当前用户可以完全不知道他的存在,只要他们的视图不涉及该属性。再则,一个现有的关系被重新排列或是被拆分,仍然可以通过定义视图而让用户按原样使用数据库。

3. 视图的更新

对某个基本关系的所有更新应该立即反映到涉及这个基本关系的视图中。同样,如果这个视图被更新,那么它涉及的底层基本关系也应该反应出这种变化。但通过视图进行更新存在一些约束。下面给出大多数系统允许通过视图进行更新操作的条件:

可以根据理论上不可更新、理论上可更新和部分可更新来对视图进行分类。

上一篇 下一篇

猜你喜欢

热点阅读