SEWB+/REPOSITORY 辞書設計ガイド
データ項目にどのような情報を定義するかについて説明します。
データ項目の定義項目の一覧を次の表に示します。データ項目名や標準名称などに定義する文字数の上限はカスタマイズできます。なお,「データ項目名」は,必ず定義します。ほかの定義項目は,必要に応じて定義を省略できます。
表2-1 データ項目の定義項目
| 定義項目 | 文字数の上限 | 文字セット | ||
|---|---|---|---|---|
| 標準値 | 設定範囲 | |||
| 名称 | データ項目名 | 30 | 1〜92 | 英数字,カナ文字,日本語文字※4 |
| 標準名称※1 | 46 | 1〜92 | 英数字,カナ文字,日本語文字 | |
| フリガナ | 30 | 1〜92 | 英数字,カナ文字,日本語文字 | |
| 属性 | 分類 | − | − | (リストからの選択で定義) |
| けた数 | 9 | 固定 | 数字 | |
| 小数部けた数 | 9 | 固定 | 数字 | |
| 反復回数 | 5 | 固定 | 数字 | |
| 付加情報 | フィールド1〜20 | 30 | 1〜255 | 任意 |
| コメント※1 | 6500 | 固定 | 任意 | |
| 言語別 詳細情報※2 |
名前 | 46 | 1〜92 | 英数字,カナ文字,日本語文字 |
| タイプ | − | − | (リストからの選択で定義) | |
| フリー定義 | 6500 | 固定 | 英数字,カナ文字,日本語文字 | |
| タイプ修飾情報※3 | 30 | 固定 | 英数字,カナ文字,日本語文字 | |
| 取りうる値 | 6500 | 固定 | 英数字,カナ文字,日本語文字※5 | |
| 初期値 | 160 | 固定 | 英数字,カナ文字,日本語文字 | |
| 言語別フィールド | 30 | 1〜255 | 任意 | |
名称は,データ項目辞書で管理される個々のデータ項目を識別し,その意味を知るための定義情報です。名称の定義内容を基に,目的のデータ項目を検索したり,指定した条件でソートしたりするために利用できます。この情報を定義するリポジトリブラウザのダイアログ([基本属性]タブ)を次の図に示します。
図2-3 データ項目を作成するダイアログ([基本属性]タブ)
データ項目を識別するために付ける名称です。データ項目名は必ず定義します。
登録するデータ項目を結合項目にする場合には,データ項目種別に「結合項目」を選択します。さらに,レコードの構造を定義する結合項目の場合には「最上位結合項目」を指定します。結合項目,最上位結合項目については,「2.4.3 データ項目の結合」および「2.5 レコード構造の設計」を参照してください。
データ項目を結合項目にしない場合には「単項目」を選択します。
データ項目の内容や意味をわかりやすくするために付ける,システム標準の名称です。4種類までの国語別に定義できます。
日本語読みの名称(フリガナ)を付けます。国語区分「英語」の場合は,フリガナを定義できません。
属性は,そのデータ項目で構成されるファイルやデータベースを定義するための開発言語共通の定義情報です。この情報を定義するリポジトリブラウザのダイアログ([ソース生成属性]タブ)を次の図に示します。
図2-4 データ項目を作成するダイアログ([ソース生成属性]タブ)
データ項目のデータの形式を,次に示す分類区分から選択します。
プログラムで使用する詳細なデータの形式は,言語別詳細情報のタイプに定義します。分類区分に応じて定義できる言語別のタイプも異なります。この対応関係は,環境構築ユティリティでカスタマイズできます。標準で設定されている分類とタイプの対応を,表2-2から表2-7に示します。
また,言語区分SQLのタイプをHiRDBとして使用する場合のカスタマイズ例を表2-8に示します。
表2-2 分類区分とタイプの対応(COBOL又はOOCOBOL)
| 分類区分 | タイプ |
|---|---|
| 英数字文字列データ | X 英数字項目,Z 数字編集項目, フリー定義 |
| 日本語文字列データ | N 漢字項目,フリー定義 |
| 整数データ | 9 符号なし外部10進項目,S 符号付き外部10進項目, U 符号なし内部10進項目,P 符号付き内部10進項目, BU 符号なし2進項目,B 符号付き2進項目, E 外部浮動小数点項目,D 内部浮動小数点項目, フリー定義 |
| 正整数データ | 9 符号なし外部10進項目,S 符号付き外部10進項目, U 符号なし内部10進項目,P 符号付き内部10進項目, BU 符号なし2進項目,B 符号付き2進項目, E 外部浮動小数点項目,D 内部浮動小数点項目, フリー定義 |
| 実数データ | 9 符号なし外部10進項目,S 符号付き外部10進項目, U 符号なし内部10進項目,P 符号付き内部10進項目, E 外部浮動小数点項目,D 内部浮動小数点項目, フリー定義 |
| 時刻データ | X 英数字項目,フリー定義 |
| 日付データ | X 英数字項目,フリー定義 |
| 分類なし | X 英数字項目,Z 数字編集項目, N 漢字項目,9 符号なし外部10進項目, S 符号付き外部10進項目,U 符号なし内部10進項目, P 符号付き内部10進項目,BU 符号なし2進項目, B 符号付き2進項目,E 外部浮動小数点項目, D 内部浮動小数点項目,1 内部ブール項目, 8 外部ブール項目,T アドレスデータ項目, フリー定義 |
| 分類区分 | タイプ |
|---|---|
| 英数字文字列データ | char 文字型,char* 文字型(ポインタ), フリー定義 |
| 日本語文字列データ | char 文字型,char* 文字型(ポインタ), フリー定義 |
| 整数データ | short 符号付き短整数型,unsigned short 符号なし短整数型, int 符号付き整数型,unsigned int 符号なし整数型, long 符号付き長整数型,unsigned long 符号なし長整数型, float 単精度浮動小数点型,double 倍精度浮動小数点型, long double 拡張精度浮動小数点型,フリー定義 |
| 正整数データ | short 符号付き短整数型,unsigned short 符号なし短整数型, int 符号付き整数型,unsigned int 符号なし整数型, long 符号付き長整数型,unsigned long 符号なし長整数型, float 単精度浮動小数点型,double 倍精度浮動小数点型, long double 拡張精度浮動小数点型,フリー定義 |
| 実数データ | float 単精度浮動小数点型,double 倍精度浮動小数点型, long double 拡張精度浮動小数点型,フリー定義 |
| 時刻データ | char 文字型,フリー定義 |
| 日付データ | char 文字型,フリー定義 |
| 分類なし | char 文字型,char* 文字型(ポインタ), short 符号付き短整数型,unsigned short 符号なし短整数型, int 符号付き整数型,unsigned int 符号なし整数型, long 符号付き長整数型,unsigned long 符号なし長整数型, float 単精度浮動小数点型,double 倍精度浮動小数点型, long double 拡張精度浮動小数点型,フリー定義 |
| 分類区分 | タイプ |
|---|---|
| 英数字文字列データ | CHAR 固定長文字列,VARCHAR2 可変長文字列, LONG 可変長長文字列,フリー定義 |
| 日本語文字列データ | CHAR 固定長文字列,VARCHAR2 可変長文字列, LONG 可変長長文字列,フリー定義 |
| 整数データ | NUMBER 固定小数点数,NUMBERf 浮動小数点数, フリー定義 |
| 正整数データ | NUMBER 固定小数点数,NUMBERf 浮動小数点数, フリー定義 |
| 実数データ | NUMBER 固定小数点数,NUMBERf 浮動小数点数, フリー定義 |
| 時刻データ | フリー定義 |
| 日付データ | DATE 日付,フリー定義 |
| 分類なし | CHAR 固定長文字列,VARCHAR2 可変長文字列, LONG 可変長長文字列,NUMBER 固定小数点数, NUMBERf 浮動小数点数,DATE 日付, フリー定義 |
| 分類区分 | タイプ |
|---|---|
| 英数字文字列データ | C 文字データ,M 画像データ, フリー定義 |
| 日本語文字列データ | C 文字データ,M 画像データ, フリー定義 |
| 整数データ | I 数値データ,B 集計対象外数値データ, SP 特殊編集レベルデータ,フリー定義 |
| 正整数データ | I 数値データ,B 集計対象外数値データ, SP 特殊編集レベルデータ,フリー定義 |
| 実数データ | I 数値データ,B 集計対象外数値データ, フリー定義 |
| 時刻データ | C 文字データ,フリー定義 |
| 日付データ | CY 年次データ,MO 月次データ, DA 日次データ,HS 日付・時刻データ, C 文字データ,フリー定義 |
| 分類なし | C 文字データ,I 数値データ, B 集計対象外数値データ,CY 年次データ, MO 月次データ,DA 日次データ, HS 日付・時刻データ,M 画像データ, SP 特殊編集レベルデータ,フリー定義 |
| 分類区分 | タイプ |
|---|---|
| 英数字文字列データ | byte バイト型,フリー定義 |
| 日本語文字列データ | char 文字型,フリー定義 |
| 整数データ | byte バイト型,short 符号付き短整数型, int 符号付き整数型,long 符号付き長整数型, フリー定義 |
| 正整数データ | byte バイト型,short 符号付き短整数型, int 符号付き整数型,long 符号付き長整数型, フリー定義 |
| 実数データ | float 単精度浮動小数点型,double 倍精度浮動小数点型, フリー定義 |
| 時刻データ | フリー定義 |
| 日付データ | フリー定義 |
| 分類なし | byte バイト型,short 符号付き短整数型, int 符号付き整数型,long 符号付き長整数型, float 単精度浮動小数点型,double 倍精度浮動小数点型, char 文字型,boolean 論理型, フリー定義 |
表2-7 分類区分とタイプの対応のカスタマイズ例(言語区分SQLのタイプをHiRDBとして使用する場合)
| 分類区分 | タイプ |
|---|---|
| 英数字文字列データ | CHAR 固定長文字列,VARCHAR 可変長文字列, MCHAR 固定長混在文字列,MVARCHAR 可変長混在文字列, フリー定義 |
| 日本語文字列データ | NCHAR 固定長各国文字列,NVARCHAR 可変長各国文字列, MCHAR 固定長混在文字列,MVARCHAR 可変長混在文字列, フリー定義 |
| 整数データ | SMALLINT 短整数,INT 整数, DEC 固定小数点数,SMALLFLT 単精度浮動小数点数, FLOAT 倍精度浮動小数点数,フリー定義 |
| 正整数データ | SMALLINT 短整数,INT 整数, DEC 固定小数点数,SMALLFLT 単精度浮動小数点数, FLOAT 倍精度浮動小数点数,フリー定義 |
| 実数データ | DEC 固定小数点数,SMALLFLT 単精度浮動小数点数, FLOAT 倍精度浮動小数点数,フリー定義 |
| 時刻データ | TIME 時刻,フリー定義 |
| 日付データ | DATE 日付,フリー定義 |
| 分類なし | CHAR 固定長文字列,VARCHAR 可変長文字列, NCHAR 固定長各国文字列,NVARCHAR 可変長各国文字列, MCHAR 固定長混在文字列,MVARCHAR 可変長混在文字列, SMALLINT 短整数,INT 整数, DEC 固定小数点数,SMALLFLT 単精度浮動小数点数, FLOAT 倍精度浮動小数点数,TIME 時刻, DATE 日付,フリー定義 |
データのけた数(文字列データの場合は文字数)を定義します。分類区分「分類なし」を選択した場合は,けた数を定義しなくてもかまいません。
けた数の範囲※は,言語区分や言語別のタイプによって異なります。
標準に設定されているけた数の範囲を,表2-9から表2-14に示します。なお,けた数の範囲は必要に応じ,環境構築ユティリティを使ってカスタマイズすることもできます。
| タイプ | けた数範囲 |
|---|---|
| X 英数字項目 | 1〜16,777,215 |
| Z 数字編集項目 | 1〜18 |
| N 漢字項目 | 1〜16,383 |
| 9 符号なし外部10進項目 | 1〜18 |
| S 符号付き外部10進項目 | 1〜18 |
| U 符号なし内部10進項目 | 1〜18 |
| P 符号付き内部10進項目 | 1〜18 |
| BU 符号なし2進項目 | 1〜18 |
| B 符号付き2進項目 | 1〜18 |
| E 外部浮動小数点項目 | 1〜15 |
| D 内部浮動小数点項目 | 1〜15 |
| 1 内部ブール項目 | 1〜2,034 |
| 8 外部ブール項目 | 1〜2,034 |
| T アドレスデータ項目 | (チェック対象外) |
| タイプ | けた数範囲 |
|---|---|
| char 文字型 | 1〜999,999,999※1 |
| char* 文字型(ポインタ) | 1〜999,999,999※1 |
| short 符号付き短整数型 | 1〜4 |
| unsigned short 符号なし短整数型 | 1〜4 |
| int 符号付き整数型 | 1〜9※2 |
| unsigned int 符号なし整数型 | 1〜9※2 |
| long 符号付き長整数型 | 1〜9 |
| unsigned long 符号なし長整数型 | 1〜9 |
| float 単精度浮動小数点型 | 1〜6 |
| double 倍精度浮動小数点型 | 1〜15 |
| long double 拡張精度浮動小数点型 | 1〜33※3 |
| タイプ | けた数範囲 |
|---|---|
| CHAR 固定長文字列 | 1〜255※1 |
| VARCHAR2 可変長文字列 | 1〜2,000 |
| LONG 可変長長文字列 | 1〜99,999,999※2 |
| NUMBER 固定小数点数 | 1〜38 |
| NUMBERf 浮動小数点数 | 1〜38 |
| DATE 日付 | (チェック対象外) |
| VARCHAR 可変長文字列 | 1〜32,000 |
| NCHAR 固定長各国文字列 | 1〜15,000 |
| NVARCHAR 可変長各国文字列 | 1〜16,000 |
| MCHAR 固定長混在文字列 | 1〜15,000 |
| MVARCHAR 可変長混在文字列 | 1〜16,000 |
| SMALLINT 短整数 | 1〜4 |
| INT 整数 | 1〜9 |
| DEC 固定小数点数 | 1〜29 |
| SMALLFLT 単精度浮動小数点数 | 1〜6 |
| FLOAT 倍精度浮動小数点数 | 1〜15 |
| TIME 時刻 | (チェック対象外) |
| タイプ | けた数範囲 |
|---|---|
| C 文字データ | 1〜4,096 |
| I 数値データ | 1〜4,096 |
| B 集計対象外数値データ | 1〜4,096 |
| CY 年次データ | 4〜4 |
| MO 月次データ | 6〜6 |
| DA 日次データ | 8〜8 |
| HS 日付・時刻データ | 4〜19 |
| M 画像データ | 1〜256 |
| SP 特殊編集レベルデータ | 1〜2 |
| タイプ | けた数範囲 |
|---|---|
| byte バイト型 | 1〜3 |
| char 文字型 | 1〜999,999,999※ |
| short 符号付き短整数型 | 1〜4 |
| int 符号付き整数型 | 1〜9※ |
| long 符号付き長整数型 | 1〜19 |
| float 単精度浮動小数点型 | 1〜6 |
| double 倍精度浮動小数点型 | 1〜15 |
| boolean 論理型 | (チェック対象外) |
分類区分「実数データ」を選択した場合に,小数点以下のけた数を定義します。小数部けた数には,定義項目「けた数」の定義内容より小さい値を定義します。
データが反復構造を持つ場合に,反復回数を定義します。反復回数を指定したデータ項目は,C言語やIDLでは配列を意味し,反復回数に指定した値が要素数になります。
付加情報は,自由に使用できる付属的な定義情報です。この付加情報を基に,目的のデータ項目を検索することもできます。この情報は,データ項目を作成するダイアログの[基本属性]タブに定義します。
プロジェクト独自の情報を定義するなどして,自由に使用できるフィールドです。環境構築ユティリティを使用し,任意のフィールド名称を付けられます。また,リポジトリブラウザのダイアログに表示されるフィールドの数もカスタマイズできます。
データ項目の使用目的,内容,注意事項などを記述します。4種類までの国語別に定義できます。
言語別詳細情報は,データ項目の定義内容を,実際のアプリケーションに使用するソースコード(COBOLソースプログラムやIDLなど)に反映するための定義情報です。10種類までの言語区分別に,それぞれの言語で規定された規則に従って定義します。この情報は,データ項目を作成するダイアログの[ソース生成属性]タブに定義します。
データの名前を言語別に定義します。例えば,「COBOL又はOOCOBOL」ではデータ項目名を,「C又はC++」では変数名を記述します。言語別の名前に記述する文字数の制限や文字の種類は,使用する言語の規則に従ってください。
データの形式を表すタイプを,言語別に定義します。タイプは,英字の識別子と日本語名で表現され,設定されているレコード生成キーワードに従ってソースコードに対応づけられます。例えば,「COBOL又はOOCOBOL」のタイプ「X 英数字項目」は,「PICTURE X( )」に対応づけられています。なお,レコード生成キーワードは,環境構築ユティリティで編集できます。詳しくは「3.1.1(9) タイプに対するレコード生成キーワードを編集する」を参照してください。
分類区分に応じて,定義できる言語別のタイプが異なります。分類区分とタイプの対応の詳細は,「2.4.1(3)(a) 分類」を参照してください。
タイプ「フリー定義」を選択すると,各言語の文法に従ってデータの形式を直接,記述できます。フリー定義の言語別の記述方法を次の表に示します。
表2-13 タイプ「フリー定義」の記述方法
| 言語区分 | 記述内容 | 記述例 |
|---|---|---|
| COBOL又は OOCOBOL |
PICTURE句およびUSAGE句の定義内容 | PICTURE 9(5) PACKED-DECIMAL PICTURE \\\\,\\9 |
| C又はC++ | 基本型,ユーザ定義型,typedef名など | BOOLEAN int* |
| SQL | SQLデータ型 | LARGE DECIMAL INTEGER |
| 帳票定義 | EURのデータ種別記号※ | SP F |
| Java | ユーザ定義型,typedef名など | int* |
タイプ修飾情報は,言語区分「COBOL又はOOCOBOL」の編集文字列の定義項目の総称です。この項目を定義できるのは,言語区分が「COBOL又はOOCOBOL」の場合です。
リポジトリブラウザでは,言語区分に応じて「編集文字列」が定義項目の名称として表示されます。
扱うデータが限られるデータ項目で,それぞれの値に名前を付けて管理したい場合に定義する項目です。「取りうる値」では,識別のために付ける名前とデータ項目に格納する値の組み合わせを,言語別に定義します。
データ項目を作成するダイアログで[取りうる値]ボタンから表示されるダイアログを次の図に示します。
図2-5 取りうる値を定義するダイアログ
取りうる値は言語別に一覧で管理します。COBOLでの条件名や,C言語やIDLの列挙定数(列挙型の識別子)のように,値に対応する名前で指定します。この名前を「記号」と呼びます。明示的に記号に値を割り当てる場合はC言語の列挙子のように半角の「=」を使って値を記述します。複数の場合は半角のコンマ(,)で区切ります。
例えば,「実行結果」というデータ項目が「成功」と「失敗」のどちらかの状態だけを扱う場合,取りうる値の記号には,成功の「OK」と失敗の「ERROR」を指定します。さらに,OKにだけ値「1」を割り当てておくという指定(OK=1,ERROR)ができます。
なお,この項目を定義できるのは,言語区分が「SQL」,「帳票定義」以外で,タイプが「フリー定義」以外の場合です。
データ項目に初期値を定義する場合,各言語の文法に従って言語別に記述します。初期値の言語別の記述方法を次に示します。なお,「COBOL又はOOCOBOL」での引用符の記述には,アポストロフィ(')を使うことをお勧めします。
なお,この項目を定義できるのは,言語区分が「SQL」,「帳票定義」以外の場合です。
自由に使用できる言語別のフィールドです。
All Rights Reserved. Copyright (C) 2012, Hitachi, Ltd.