Hitachi

ノンストップデータベース HiRDB Version 10 データベース暗号化機能


4.1.1 CREATE TABLE(表定義)

暗号化表を定義する場合のCREATE TABLEについて説明します。

なお,ここでは,CREATE TABLEの暗号化に関係する説明だけ記載しています。そのほかのCREATE TABLEの説明については,マニュアル「HiRDB SQLリファレンス」を参照してください。

〈この項の構成〉

(1) 形式

表要素::={列定義|表制約定義}
 
 列定義::=列名 データ型〔ARRAY [最大要素数]〕
       〔NO SPLIT〕
       〔{列データ抑制指定|〔列回復制約〕
         {IN {LOB列格納用RDエリア名
             |(LOB列格納用RDエリア名)
             |((LOB列格納用RDエリア名)
              〔,(LOB列格納用RDエリア名)〕…)
             |マトリクス分割LOB列格納用RDエリア指定}
          |抽象データ型定義内LOB格納用RDエリア指定}}〕
       〔プラグイン指定〕
       〔圧縮指定〕
       〔DEFAULT句〕
       〔列制約〕…
       〔更新可能列属性〕
       〔暗号化指定〕
 
  列データ抑制指定::=SUPPRESS
 
  暗号化指定::=INNER CONSTRUCTOR 〔OF TYPE1〕

(2) オペランド

列データ抑制指定::=SUPPRESS

暗号化表の場合,SUPPRESSを指定しても無効となります(エラーにはなりません)。

暗号化指定::=INNER CONSTRUCTOR 〔OF TYPE1〕

HiRDBが組み込んでいる暗号ライブラリを使用して,列を暗号化する場合に指定します。

このオペランドを指定すると,データの暗号化,および復号化に使用する共通鍵が生成されます。

なお,OF TYPE1は指定してもしなくても意味は変わりません。

暗号化指定の規則を次に示します。

  1. 繰返し列には指定できません。

  2. 次のデータ型には指定できません。

    ・BLOB型

    ・抽象データ型

  3. 次の分割キー構成列には指定できません。

    ・格納条件指定

    ・境界値指定

    ・マトリクス分割(ハッシュ関数の対象となる列を除きます)

  4. クラスタキー構成列には指定できません。

  5. 一時表の列には指定できません。

  6. 予備列には指定できません。

  7. 暗号化列の既定義型のデータ長については,「表の格納ページ数の計算方法」を参照してください。

(3) 使用例

暗号化表を定義する場合のCREATE TABLEの例を次に示します。

暗号化表として,在庫表(ZAIKO)を定義します。このとき,単価(TANKA)列を暗号化します。
CREATE TABLE ZAIKO
        (SCODE CHAR(4),
         SNAME NCHAR(8),
         COL NCHAR(1),
         TANKA INTEGER INNER CONSTRUCTOR OF TYPE1,
         ZSURYO INTEGER)