2.5.5 表の作成

表の作成には,定義系SQLのCREATE TABLEを使用します。CREATE TABLEでは,文書を登録する列に対する列定義のデータ型として,「SGMLTEXT」と指定してください。

また,抽象データ型定義内LOB格納用RDエリア指定では,属性名にはSGMLTEXTを,LOB属性格納用RDエリア名には「2.5.4 データ格納領域の確保」でSGMLTEXTデータ本体の格納領域として確保したRDエリアを指定してください。

CREATE TABLEのプラグインオプションには,次のフォーマットで文書登録種別および各SGML定義情報を指定してください。

CREATE TABLEでのプラグインオプションの形式
PLUGIN
'〔文書登録種別〕
〔SGML定義情報〕...'
オペランド
  • 文書登録種別
    SGMLTEXT型の列に登録するテキストデータの種別を指定します。テキストデータの種別を,表2-6および表2-7のように<TEXTTYPE>タグで囲んだ形式で指定してください。なお,文書登録種別の指定を省略した場合は,SGML文書として扱います。
  • SGML定義情報
    次の内容を指定します。
DTDの登録名称
DTDの登録名称は,<DTD>から始まり,</DTD>で終了する部分に記述します。
正規化パラメタの登録名称
正規化パラメタの登録名称は,<NORparm>から始まり,</NORparm>で終了する部分に記述します。
文字コード指定(文字コードがutf-8の場合だけ)
文字コード種別は,<Unicode>から始まり,</Unicode>で終了する部分に「MS」または「JIS」を記述します。指定を省略した場合は,「MS」が仮定されます。
MS:MS-Unicode
JIS:JISX0221
なお,extracts関数への引数はMS-Unicodeで指定する必要があるため,extracts関数を使用する場合は「MS」を指定してください。
Text Search Plug-inの使用する文字コードによる,SGML定義情報の指定の要否を表2-6および表2-7に示します。

表2-6 SGML定義情報の指定(文字コードがShift-JISまたはEUCの場合)

テキストデータの種別文書登録種別DTD登録名称正規化パラメタ登録名称
SGML文書<TEXTTYPE>SGML</TEXTTYPE>必須正規化する場合
XML文書<TEXTTYPE>SGML</TEXTTYPE>必須不要
プレーン文書<TEXTTYPE>PLAIN</TEXTTYPE>不要不要

表2-7 SGML定義情報の指定(文字コードがutf-8の場合)

テキストデータの種別文書登録種別DTD登録名称正規化パラメタ登録名称文字コード指定
XML文書<TEXTTYPE>SGML</TEXTTYPE>必須不要指定可
プレーン文書<TEXTTYPE>PLAIN</TEXTTYPE>指定不可指定不可指定可
注※
0バイトのDTDを登録します。ファイル名称はASCIIの範囲内で指定してください。

なお,SGML定義情報の登録名称には,「phssgmlreg(SGML定義情報登録ユティリティ)」で指定した名称を指定してください。なお,CREATE TABLEの詳細については,マニュアル「HiRDB Version 9 SQLリファレンス」を参照してください。

CREATE TABLEの指定例を図2-8図2-9および図2-10に示します。

図2-8 表の定義例(SGML文書またはXML文書の場合)

[図データ]

図2-9 表の定義例(プレーン文書の場合)

[図データ]

図2-10 表の定義例(XML文書でutf-8(MS-Unicode)の場合)

[図データ]