一、逻辑存储结构
1、表空间
Oracle表空间由一个或多个数据文件组成,一个数据文件只可以是一个表空间的一部分。对于Oracle 11g的安装,最少会创建两个表空间:SYSTEM表空间和SYSAUX表空间。Oracle 11g的默认安装创建6个表空间。
2、段
段是一组盘区,这组盘区组成了被Oracle视为一个单位的数据库对象,如表或索引。段是数据库终端用户将处理的最小存储单位。
2.1 数据段。数据库中的每个表都驻留在单独的数据段中
2.2 索引段。数据库中的每个索引都驻留在单独的索引段中
2.3 临时段
2.4 回滚段。回滚段只存在于SYSTEM表空间中,并且DBA一般不需要维护回滚段
3、盘区
盘区由一个或多个数据块组成。当扩大数据库对象时,为该对象增加的空间将分配为一个盘区。
4、块
数据块是Oracle数据库中最小的存储单位。块的大小是数据库的给定表空间中特定数量的存储字节。
块通常为操作系统块的几倍大,有助于提升磁盘的I/O效率。默认块大小参数:DB_BLOCK_SIZE。
表空间SYSTEM、SYSTEMAUX、临时表空间中的块大小必须为DB_BLOCK_SIZE,其它表空间的块大小最多为4 * DB_BLOCK_SIZE
二、逻辑数据库结构
1、表 (关系表、临时表、索引组织表、对象表、外部表、集群表、散列集群、排序的散列集群、分区表、分区索引)
2、约束 (空值约束、唯一列值、主键值、引用完整值 外键、复合内联完整性 CHECK约束、基于触发器的完整性)
3、索引 (唯一索引、非唯一索引、反向键索引、基于函数的索引、位图索引)
反向键索引:CREATE INDEX IE_LINE_ITEM_ORDER_nUMBER ON LINE_ITEM(ORDER_NUMBER) REVERSE;
基于函数的索引:CREATE INDEX UN_NAME ON EMPLOYEE(UPPER(LAST_NAME));
位图索引:只在Oracle 11g的企业版本中使用
在索引的叶节点上,位图索引结构与B-树索引存在着较大的区别,它只存储索引列每个可能值(基数)的一个位串,位串的长度与索引表中的行数相同。
在索引列具有较低基数或大量不同的值时,使用位图索引才最有效。
4、视图(普通视图、物化视图、对象视图)
一、物理存储结构