数据库视图、临时表、索引及元素操作全解析
1. 数据库视图
1.1 视图类型
数据库中常见的视图类型如下:
- 与基表内容相同但名称不同的视图:可防止终端用户直接查看基表,增加数据访问的安全性。例如,不向用户透露基表名称,仅让其访问视图。
- 针对频繁连接的主键 - 外键关系创建的视图:对于大表,语句语法可能包含避免连接操作但仍能组合表的方法。
- 针对频繁执行的复杂查询创建的视图:提高查询效率。
- 用于限制用户对特定列和行访问的视图:如为前台接待员创建的视图,仅显示员工办公室号码和电话分机,隐藏家庭地址、电话号码和工资等信息。
1.2 视图可更新性问题
数据库查询可对视图应用 DBMS 查询语言支持的任何操作,如同对基表一样。但使用视图进行更新是一个更复杂的问题。由于视图仅存在于主内存中,对视图所做的任何更新必须存储在底层基表中,才能对数据库产生影响。
并非所有视图都可更新,大多数 DBMS 对视图可更新性有以下共同限制:
- 视图必须由不超过一个基表或视图创建。
- 如果视图的源是另一个视图,那么源视图也必须遵守可更新性规则。
- 视图必须由单个查询创建,不能使用诸如联合等操作将两个或多个查询组合成单个视图表。
- 视图必须包含基表的主键列。
- 视图必须包含所有指定为非空的列(即需要强制值的列)。
- 视图不能包含任何数据组,必须包含基表的原始数据行,而不是基于数据组公共值的行。
- 视图不能删除重复行。
1.3 创建视图
创建视图时,若希望视图的列名与派生基表的列名相同,
超级会员免费看
订阅专栏 解锁全文
10万+

被折叠的 条评论
为什么被折叠?



