格納構造には、SEQUENTIAL構造、RANDOM構造、OBJECT構造およびBTREE構造があります。SEQUENTIAL構造、RANDOM構造およびOBJECT構造は、表に対する格納構造として使用します。
BTREE構造は、インデックスに対する格納構造として使用します。
以下に、実表とインデックスの格納構造について、説明します。
実表の格納構造は、データベースのアクセスの特性から、以下の格納構造のうち、どれか1つを選択できます。
SEQUENTIAL構造
RANDOM構造
OBJECT構造
選択は格納構造定義で行います。
実表の格納構造の概要と種類について、以下に示します。
図3.7 実表の格納構造の概要と種類
SEQUENTIAL構造は、データをその挿入順に格納する構造です。格納されたデータを単純に格納順に取り出したり、条件を満たすデータの集合を取り出したりすることができます。データを昇順に格納するため、データの格納効率がよくディスクボリュームの省スペース化が図れます。
RANDOM構造は、データに対して、そのキーとなる列の組の値から格納するページ(これをバケットと呼びます)を計算し、格納する構造です。RANDOM構造は、データ操作のキーとなる列の値から、ページの番地にハッシュ関数を利用して求めるような索引手法を特徴としています。これをハッシュ構造の索引手法と呼びます。ハッシュ構造は、BTREE構造と異なり、索引としてのデータ実体は存在しません。そのため、大容量のデータベースの場合でも、高速で安定したアクセス性能が期待できます。