格納構造は、DSO(Data Structure Organization)とDSI(Data Structure Instance)の2つから構成されます。
DSOは、実表に対してそのデータの格納構造を定義します。DSOには、以下のものがあります。
表のDSO
インデックスのDSO
DSIは、実表のデータを格納する領域を、データベーススペースに割り付けるために定義します。DSIには、以下のものがあります。
表のDSI
インデックスのDSI
インデックスのDSIは、表に付加するインデックスのデータを格納する領域を、データベーススペースに割り付けるために定義します。
DSIは、表およびインデックスをデータベーススペースに対応づけします。
DSOとDSIの関係は、1:1対応の場合と、1:n対応の場合があります。1:n対応の場合は、表のデータを分割して格納する場合であり、DSOにはデータの分割に対する規則を定義します。
インデックスのDSIは、表のDSIに対して定義します。表のデータを分割して格納する場合には、それぞれの表のDSIに対して、インデックスのDSIを定義する必要があります。
以下に表のデータを分割せずに格納する場合の例を示します。
図3.7 DSOとDSIが1:1対応の場合の対応づけの例
以下に表のデータを分割して格納する場合の例を示します。
図3.8 DSOとDSIが1:n対応の場合の対応づけの例
格納構造には、以下の図で示すSEQUENTIAL構造、およびBTREE構造があります。SEQUENTIAL構造は、表に対する格納構造として使用します。BTREE構造は、インデックスに対する格納構造として使用します。また、以下の図のように、各格納構造は、それぞれいくつかの要素で構成されています。
図3.9 格納構造の構成要素
DSIに対応するデータベーススペースは、複数のデータベーススペースから構成することが可能です。
複数のデータベーススペースによる構成には、“図3.9 格納構造の構成要素”に示した格納構造の各要素にデータベーススペースを割り付ける場合と、各要素の容量を増やすためにデータベーススペースを割り付ける場合とがあります。
以下に各要素にデータベーススペースを割り付ける例を示します。
図3.10 各要素にデータベーススペースを割り付ける例
以下に各要素の容量を増やすために複数のデータベーススペースを割り付ける例を示します。
図3.11 各要素の容量を増やす場合のデータベーススペースの割付け例