Hitachi

Hitachi Advanced Data Binder システム構築・運用ガイド


9.5 スキーマ,表,およびインデクスを定義する

定義系SQLで,スキーマ,表,およびインデクスを定義します。

例題

HADBユーザADBUSER02のスキーマを定義し,次の表およびインデクスを定義します。

  • 店舗表(SHOPSLIST

  • B-treeインデクス(SHOP_CODE_IDX

  • テキストインデクス(ADDRESS_TIDX

  • レンジインデクス(RGN_CODE_RIDX

ADBUSER02は,「9.4.1 HADBユーザを作成する」で作成したHADBユーザの認可識別子です。

手順

  1. adbsqlコマンドを実行する

    adbsql
      USER-ID ?
    ADBUSER02      ADBUSER02でHADBサーバに接続します。
      PASSWORD ?
    XXXXXXXX       入力したパスワードは表示されません。
  2. CREATE SCHEMA文を実行してスキーマを定義する

    CREATE SCHEMA "ADBUSER02"

    上記のSQL文を実行すると,ADBUSER02のスキーマが定義されます。

  3. CREATE TABLE文を実行して店舗表(SHOPSLIST)を定義する

    CREATE TABLE "SHOPSLIST"
          ("SHOP_CODE" CHAR(8) NOT NULL,
           "RGN_CODE" CHAR(6) NOT NULL,
           "SHOP_NAME" VARCHAR(20) NOT NULL,
           "TEL_NO" CHAR(10) NOT NULL,
           "ADDRESS" VARCHAR(300) NOT NULL BRANCH YES)
        IN "DBAREA01"
        PCTFREE=40
        CHUNK=100
  4. CREATE INDEX文を実行して,B-treeインデクス(SHOP_CODE_IDX)を定義する

    CREATE INDEX "SHOP_CODE_IDX"
          ON "SHOPSLIST" ("SHOP_CODE")
        IN "DBAREA01"
        PCTFREE = 50
        EMPTY

    上記のSQL文を実行すると,SHOPSLISTの店舗コード列(SHOP_CODE)にB-treeインデクス(SHOP_CODE_IDX)が定義されます。

  5. CREATE INDEX文を実行して,テキストインデクス(ADDRESS_TIDX)を定義する

    CREATE INDEX "ADDRESS_TIDX"
          ON "SHOPSLIST" ("ADDRESS")
        IN "DBAREA01"
        PCTFREE = 50
        EMPTY
        INDEXTYPE TEXT

    上記のSQL文を実行すると,SHOPSLISTの住所列(ADDRESS)にテキストインデクス(ADDRESS_TIDX)が定義されます。

  6. CREATE INDEX文を実行して,レンジインデクス(RGN_CODE_RIDX)を定義する

    CREATE INDEX "RGN_CODE_RIDX"
          ON "SHOPSLIST" ("RGN_CODE")
        IN "DBAREA01"
        EMPTY
        INDEXTYPE RANGE

    上記のSQL文を実行すると,SHOPSLISTの店舗エリアコード列(RGN_CODE)にレンジインデクス(RGN_CODE_RIDX)が定義されます。

メモ

adbsqlコマンドでSQL文を実行する場合は,末尾に必ず半角のセミコロン()を入力してください。