表階層

Oracle NoSQL Databaseでは、表を親子関係にすることができます。これを表階層といいます。

CREATE TABLE文を使用すると、表を別の表の子として作成でき、その別の表が新しい表の親になります。これは、子表のコンポジット名(name_path)を使用して実行します。コンポジット名は、ドットで区切られたN個(N > 1)の識別子で構成されます。最後の識別子は子表のローカル名であり、最初のN-1個の識別子は親の名前を示します。

親子表の特性:
  • 子表は、親表の主キー列を継承します。
  • 階層内のすべての表には同じシャード・キー列があり、これらはルート表のCREATE TABLE文に指定されています。
  • 子が削除される前に親表を削除することはできません。
  • 参照整合性制約は、親子表では適用されません。

なんらかの形式のデータ正規化が必要な場合、子表の使用を検討する必要があります。子表は、1対Nの関係をモデル化する場合にも適しており、また、親子階層に複数のレコードを記述する際にはACIDトランザクション・セマンティクスを提供します。