4.3 视图机制

4.3 视图机制_第1张图片

4.3 视图机制的笔记整理

  1. 视图的作用

    • 数据隔离:为不同的用户提供不同的数据视图,从而限制数据对象的可见范围。
    • 安全保护:通过视图隐藏敏感或保密的数据,使无权存取的用户无法直接看到这些数据,达到安全保护的效果。
  2. 视图机制与存取谓词

    • 视图机制可以间接地支持基于存取谓词的用户权限定义。存取谓词定义了基于某些条件的数据访问权限。
    • 通过为满足特定条件的数据创建视图,可以实现对特定子集的数据的访问控制。
  3. 例子解读

    • 建立计算机系学生的视图CS_Student。这个视图从Student表中筛选出系别为'CS'的学生记录。
    • 王平老师仅获得了对CS_Student视图的查询(SELECT)权限,这意味着他只能查询计算机系的学生信息,但不能修改。
    • 张明系主任获得了对CS_Student视图的所有权限(ALL PRIVILEGES),这意味着他既可以查询,也可以对计算机系的学生数据进行增加、删除和修改等操作。

核心理解:视图机制为数据库提供了一种高效、灵活的方式来控制用户对数据的访问。通过为不同用户创建不同的视图,可以确保他们只能访问自己被授权的数据,同时隐藏他们无权访问的数据,从而提高数据的安全性。

我的理解:

1. 基本概念

视图机制允许数据库管理员为不同的用户或用户组创建特定的“视图”。这并不是物理上的新数据集,而是从已存在的表中基于特定条件选择出来的数据的逻辑展现。

2. 安全与数据隔离

通过为不同的用户创建不同的视图,我们可以实现数据的隔离。即,用户只能看到和访问自己被授权的数据,而其他的数据对他们是隐藏的。这种方式增强了数据的安全性,因为敏感或保密的数据不会被无权访问的用户看到。

3. 视图与存取谓词

视图机制可以支持基于条件的数据访问,这就是所谓的“存取谓词”。例如,只想让某用户访问计算机系的学生信息,而不是所有系的学生信息。这可以通过创建一个只包含计算机系学生的视图来实现。

4. 例子详解

  • 建立视图:首先,我们根据特定条件(这里是系别为'CS'的学生)从Student表中创建了一个名为CS_Student的视图。

  • 赋予权限

    • 王平老师授予了对CS_Student的查询(SELECT)权限。这意味着他只能查看计算机系的学生信息,但不能进行修改。
    • 对于张明,他作为系主任,因此获得了更高的权限,即对CS_Student的所有操作权限,包括查询、增加、删除和修改。

结论

视图机制是数据库中的一种强大工具,它提供了数据的逻辑展现,而不是物理存储。通过使用视图,我们可以确保每个用户只能访问他们应该看到的数据,从而保护数据的隐私和安全。

4.3 视图机制_第2张图片

你可能感兴趣的:(数据库系统概论,数据库,oracle)