按照逻辑结构划分
按照逻辑结构进行划分,Oracle中的表有3种基本类型:一种是关系表(relational table),这是最常见、也是最基本的类型;另外还有对象表( object tables )和XML表( XMLType tables )。
按照存在实效划分
这三种类型的表都可以定义成永久表和临时表。
- 临时表:临时表只保存会话级别的数据,只在一个会话或是事务中存在,会话关闭或事务结束,临时表的内容不存在了。
- 永久表:永久表中的数据保存在数据文件中,可以供其他会话或是事务访问。
按照存储结构划分
按照存储方式进行划分,Oracle中的表可以分成4中类型:
- 普通表(也称之为堆组织表Ordinary (heap-organized) table):这是最基本的、也是最主要的类型,这种类型表中的数据以无序集合的方式,也就是堆的方式进行存储。
- 簇表(Clustered table):簇表是群集中的一部分,群集是通过共享公用字段来实现共享相同数据块以及共同使用的一组表。
- 索引表(Index-organized table):索引表跟普通表不同,在所有表中的数据是以关键值排序的方式、以B-树索引结构进行保存。除了保存索引表中每行的关键值所在列的值,B-树上每个索引入口也会保存非主键字段的值。
- 分区表(Partitioned table):分区表可以将大容量数据分成小份、容易管理的小块甚至是小块中的小块,这些小块称之为分区。每个分区可以有独自的物理属性,比如是否压缩,压缩类型、物理存储配置、表空间,这样的话可以更好提高可用性和性能。另外,每个分区可以单独管理,这样的话可以有效简化和减少备份和维护的时间。