9.5 スキーマ,表,およびインデクスを定義する
定義系SQLで,スキーマ,表,およびインデクスを定義します。
- 例題
-
HADBユーザADBUSER02のスキーマを定義し,次の表およびインデクスを定義します。
-
店舗表(SHOPSLIST)
-
B-treeインデクス(SHOP_CODE_IDX)
-
テキストインデクス(ADDRESS_TIDX)
-
レンジインデクス(RGN_CODE_RIDX)
ADBUSER02は,「9.4.1 HADBユーザを作成する」で作成したHADBユーザの認可識別子です。
-
手順
-
adbsqlコマンドを実行する
adbsql USER-ID ? ADBUSER02 ←ADBUSER02でHADBサーバに接続します。 PASSWORD ? XXXXXXXX ←入力したパスワードは表示されません。
-
CREATE SCHEMA文を実行してスキーマを定義する
CREATE SCHEMA "ADBUSER02"
上記のSQL文を実行すると,ADBUSER02のスキーマが定義されます。
-
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
-
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)が定義されます。
-
CREATE INDEX文を実行して,テキストインデクス(ADDRESS_TIDX)を定義する
CREATE INDEX "ADDRESS_TIDX" ON "SHOPSLIST" ("ADDRESS") IN "DBAREA01" PCTFREE = 50 EMPTY INDEXTYPE TEXT
上記のSQL文を実行すると,SHOPSLISTの住所列(ADDRESS)にテキストインデクス(ADDRESS_TIDX)が定義されます。
-
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文を実行する場合は,末尾に必ず半角のセミコロン(;)を入力してください。