暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ORACLE基础学习(六)

abaoDiary 2016-03-22
409

本节记录oracle的数据表和索引


表(table)



oracle数据库中主要包括9种表,分别为:

堆组织表(heap organized table):oracle数据库中最常见的普通数据库表。数据以堆的方式管理。oracle数据库默认的表类型。创建语句:create table 表名 (字段 类型);

索引组织表(index organized table):按索引结构存储的表。创建语句:create table 表名 (字段 类型,索引(包含所有字段));

索引聚簇表(index clustered table):聚簇是指一个或多个表组成的组,这些表物理上存储在相同的数据块上,有相同聚簇键值的行会相邻的物理存储。聚簇表的数据可以存储在同一个块上,相同聚簇键值的数据物理的存储在一起,这些数据块按聚簇键值聚簇在一起,聚簇键值使用B*树索引建立。创建语句:create cluster 聚名 (字段 类型) size 数值; create index 聚簇索引名 on 聚簇名; create table 表名(字段 类型) cluster 聚簇名(聚簇字段);

散列聚簇表(hash clustered table):类似于聚簇表,但是不使用B*树索引按聚簇键值来定位数据。创建语句:create cluster 聚名 (字段 类型) hashkeys 数值 size 数值;  create table 表名(字段 类型) cluster 聚簇名(聚簇字段);

有序散列聚簇表(sorted hash clustered table):是oracle10g中新增的表类型,结合了索引聚簇表和散列聚簇表。数据行是按某个键值散列,但与该键值相关的其他记是有序顺序的记录,并按这种有序顺序处理。创建语句:create cluster 聚名 (字段 类型) hashkeys 数值 hash is 字段 size 数值;  create table 表名(字段 类型) cluster 聚簇名(聚簇字段);

嵌套表(nested table):系统生成和维护的父/子关系中的子表。创建语句:先由主外键关系的表,创建嵌套表类型create or replace type 类项名 as table of 表名;

create table 表名(字段 类型) nested table 表名 store as 嵌套表类型;

临时表(temporary table):存储事物期间或会话期间的临时数据。在当前用户的临时表空间中分配临时区段。创建语句:create global temporary table 表名(字段 类项) on commit preserve rows;

对象表(object table):基于某种对象类型创建的表。创建语句:先创建对象类型,之后create  table 表名 of 对象类型;

外部表(external table):此类表并没有存储在数据库中,而是放在数据库之外的操作系统文件中。oracle将其看作是一个表来处理。


索引(index)


oracle数据库中包含5种索引,分别为:

B*树索引:oracle数据库中最常用的索引,类似于二叉树,但不是二叉树,B是balanced。B*树索引又包含索引组织表、B*树聚簇索引、降序索引和反向键索引。B*树索引中所有的叶子块都再同一层上,这就保证了从跟块到任意叶子块的遍历都会访问同样数目的块。B*树索引中不包含null数据。

位图索引(bitmap index):一个索引条目使用一个位图同时指向多行数据。一般来说适用与重复且只读的数据。

位图联结索引(bitmap join index):这个索引为索引结构中的数据提供了一种逆规范化的方法。

基于函数的索引(function-based index):将一个函数计算得到的结构存储在行的列中,而不是存储列本来的数据。其实质就是B*树索引或是位图索引。

应用域索引(application domain index):自定义构建和存储的索引。

文章转载自abaoDiary,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论