数据库视图允许您通过限制呈现给最终用户的数据,轻松降低最终用户体验的复杂性并限制其访问数据库表中包含的数据的能力。实质上,视图使用数据库查询的结果来动态填充人工数据库表的内容。
为何使用视图?
提供用户通过视图访问数据而不是为他们提供对数据库表的直接访问有两个主要原因:
- 视图提供简单,细化的安全性。您可以使用视图来限制允许用户在表中查看的数据。例如,如果您有一个employees表并希望为某些用户提供对全职员工记录的访问权限,则可以创建仅包含这些记录的视图。这比替代方法(创建和维护影子表)容易得多,并确保数据的完整性。
- 视图简化了用户体验。视图会从不需要查看数据库表的最终用户隐藏数据库表的复杂详细信息。如果用户转储视图的内容,他们将看不到视图未选择的表列,他们可能无法理解。这可以保护它们免受由命名不佳的列,唯一标识符和表键引起的混淆。
创建视图
创建视图非常简单:您只需创建一个包含您希望强制执行的限制的查询,并将其放在CREATE VIEW命令中。这是语法:
CREATE VIEW viewname AS
例如,如果您希望创建我在上一节中讨论过的全职员工视图,您将发出以下命令:
CREATE VIEW全职ASSELECT first_name,last_name,employee_id来自员工WHERE status ='FT'
修改视图
更改视图的内容使用与创建视图完全相同的语法,但您使用ALTER VIEW命令而不是CREATE VIEW命令。例如,如果要向将结果显示员工电话号码的全时视图添加限制,则可以发出以下命令:
ALTER VIEW全职ASSELECT first_name,last_name,employee_id,telephone来自员工WHERE status ='FT'
删除视图
使用DROP VIEW命令从数据库中删除视图很简单。例如,如果要删除全职员工视图,则可以使用以下命令:
DROP VIEW全职