oracle_05 数据库对象
1. 数据库对象简介
- Oracle 数据库对象又称模式对象
- 数据库对象是逻辑结构的集合,最基本的数据库对象是表
- 其他对象包括
- 同义词
- 序列
- 视图
- 索引
2.同义词
- 同义词是现有对象的一个别名。
简化SQL语句
隐藏对象的名称和所有者
提供对对象的公共访问 - 同义词共有两种类型:
私有同义词只能在其模式内访问,且不能与当前模式的对象同名。
公有同义词可被所有的数据库用户访问
3.序列
- 序列是用于生成唯一、连续序号的对象
- 序列可以是升序的,也可以是降序的
- 使用CREATE SEQUENCE语句创建序列
CREATE SEQUENCE toys_seq
START WITH 10
INCREMENT BY 10
MAXVALUE 2000
MINVALUE 10
NOCYCLE
CACHE 10;
4.视图
- 视图以经过定制的方式显示来自一个或多个表的数据
- 视图可以视为“虚拟表”或“存储的查询”
- 创建视图所依据的表称为“基表”
视图的优点有:
- 提供了另外一种级别的表安全性
- 隐藏的数据的复杂性
- 简化的用户的SQL命令
- 隔离基表结构的改变
- 通过重命名列,从另一个角度提供数据
CREATE OR REPLACE VIEW ord_ven AS
SELECT * FROM vendor_master ORDER BY venname;
在视图上也可以使用修改数据的DML语句,如INSERT、UPDATE和DELETE
视图上的DML语句有如下限制:
-
只能修改一个底层的基表
-
如果修改违反了基表的约束条件,则无法更新视图
-
如果视图包含连接操作符、DISTINCT 关键字、集合操作符、聚合函数或
-
GROUP BY 子句,则将无法更新视图
-
如果视图包含伪列或表达式,则将无法更新视图
5.索引
-
索引是与表相关的一个可选结构
-
用以提高 SQL 语句执行的性能
-
减少磁盘I/O
-
使用 CREATE INDEX 语句创建索引
-
在逻辑上和物理上都独立于表的数据
-
Oracle 自动维护索引
-
组合索引是在表的多个列上创建的索引
-
索引中列的顺序是任意的
-
如果 SQL 语句的 WHERE 子句中引用了组合索引的所有列或大多数列,则可以提高检索速度