Oracle数据库对象又称模式对象
数据库对象是逻辑结构的集合,最基本的数据库对象是表
数据库对象包括:同一词,序列,视图,索引
同义词:
同义词是现有数据库对象的别名
分为,公有同义词 , 私有同义词
公有同义词可被所有数据库用户访问
私有同义词只能在其模式内访问,且不能与当前模式的对象同名
序列:
序列是用于生成唯一,连续序号的对象,最小值1
创建序列使用 create sequence 序列名称;
通过序列的伪列来访问序列的值:
nextval 返回序列的下一个值
currval 返回序列当前值
视图:
视图以经过定制的方式显示来显示一个或多个表的数据,不占空间存放数据
视图可以视为“虚拟表” 或者“ 存储的查询”
创建视图所依据的表称为“基表”
查询视图view_student,跟使用表一样,但是不存放真实数据,真实数据还是存在表中,视图只是存放查询sql,当查询视图时候,实际上执行的是视图保存的sql
视图中可以使用单行函数,分组函数和表达式
索引:
索引是与表相关的一个可选结构,用以提高sql语句执行的性能
使用 create index 语句创建索引
在逻辑和物理上都独立于表的数据
Oracle 自动维护索引
索引有各种类型,除了标准索引外,还有 唯一索引 ,位图索引 , 组合索引, 基于函数的索引 , 反向键索引
唯一索引:
唯一索引确保在定义索引的列中没有重复值,Oracle自动在表的主键列上创建唯一索引,使用 create unique index 语句创建唯一索引
反向键索引:
反向键索引反转索引列键值得每个字节
通常建立在值是连续增长的列上,使数据均匀地分布在整个索引上
创建索引时使用 reverse 关键字
位图索引:
位图索引适合创建在低基数列上
位图索引不直接存储rowid ,而是存储字节位到rowid 的映射
可以减少响应时间,节省空间占用
基于函数的索引:
基于一个或者多个列上的函数或表达式创建的索引
表达式中不能出现聚合函数,不能在 lob 类型的列上创建
创建时必须具有 query rewrite 权限