表定義保守(1)・基本表を定義する
-
A−VX RDBに基本表(テーブル)を定義してみます。SQL文でいうところのcreate tableに相当するものです。
基本表の情報はシステムのデータディクショナリ(MSD000のSYS@DDF)に登録します。
下のような基本表を作ってみます。
基本表名:SALESHYOU(セールス用表)
レコード登録名:SALESTRAN
レコード長:30
項目名 レベル 項目内容 属性 キー ITEM-1 02 アイテム情報 英数字10桁 ICODE 02 アイテムコード 集団項目 ○ ICODE1 03 アイテム大分類 英数字2桁 ICODE2 03 アイテム小分類 英数字4桁 PRICE 02 値段 数字10桁(外部10進:符号無)
基本表と紐付ける物理ファイルの情報は以下。
物理ファイル名:SALESTRAN-F
レコード件数:200
作業の流れとしては
1.システムDDFに表定義登録
(1)表名他の入力
(2)表の各項目の情報の入力
2.データファイルとキーファイルの作成
(3)(必要に応じて)データを入れるためのファイルの情報の入力
(4)(これも必要に応じて)キー(インデックス)の情報の入力
となります。
-
「表定義」を選びます。選ぶ方法は幾つかあり、矢印キーでカーソルを「2 表定義」の位置に移動して[ENTER]キーを押す、[2]キーを押す、[PF2]キーを押す、などの方法で選びます。
この画面では、どのデータディクショナリに表定義情報を登録するかを選びます。
データベースに表を登録するならば、システムのデータディクショナリ、即ちMSD000のSYS@DDFを指定します。
練習で登録するならば、ユーザのデータディクショナリに登録することもできます。直接本番環境に登録するのは危険なので、一旦ユーザのデータディクショナリに入れておいて、後でよく確認してからシステムのデータディクショナリに表定義を併合することもできます。
今回はシステムのデータディクショナリに登録することにします。
データディクショナリの入っている装置名とデータディクショナリのファイル名を入れると、「指定確認」と入力した値が良いかどうか再確認してきますので、問題無ければ「1.OK」を選びます。
画面上にメニューが出てきます。
新しく表を登録する時は、一番左の「新規登録」を選びます。
表の情報を入力する画面になります。
まず表名(テーブル名)を入れます。
表の説明も入力します。表の説明は単なるコメントなので、実行には関係ありません。ユーティリティ内で表を識別するために使用します。
修飾利用の表名は今回は関係ありませんので、何も入力せずに[ENTER]キーを押しましょう。先に進みます。
表の種別を入力します。
今回は基本表を登録するので、「1.基本表」を選びます。
表の情報を順番に入れていきます。
使用権と更新権は、セキュリティ関係です。誰がレコード内のデータにアクセスできるか、更新できるかを指定することができます。今回は特に設定せず(誰でもアクセスできるし、データ更新もできる)にしています。
物理ファイルの名前を入れます。
この物理ファイルというのは、実際にデータを入れるための実ファイルのことです。
ここまででまず表の情報を入れたので、一旦確認が入ります。今まで入力した値が問題無ければ「1.OK」を選びます。
新しい画面に変わりました。
ここからは、表内の各項目(列)の情報を入力していきます。
項目毎に情報を入力していきます。
項目毎に参照権、更新権などの権限情報や各種制約を付けることができますが、今回は省略して最低限必要な情報だけ入力しました。
項目説明は実行には関係ありません。ユーティリティ内で項目を識別するために使用するので、内容に沿った分かりやすい説明を入力すると良いでしょう。
属性は選択肢が出ますので、その中から選びます。
全部の項目を入れたら、[II]キーを押すことで入力を終了することができます。
パソコンのキーは[II」キーは無いので、[II]キーに対応するキーを押します。(たぶん[SHIFT]+[F9]キー辺りだと思いますが、対応キーは変更可能ですので、パソコンのWSエミュレータのキー設定で確認してください)
すると最終確認の画面が出るので、全て良ければ「1.OK」を選びます。(ここでは1以外は選べません。駄目なら[BSKIP]で戻ります。)
「繰り返し処理しますか」と聞かれます。
SALESHYOU以外にも表の定義を行うのであれば、「1.はい」を選びます。これで表の定義を終わるのであれば、「2.いいえ」を選びます。
今回はSALESHYOUの定義だけなので、「2.いいえ」を選びましょう。
今度は「領域を確保しますか」と聞いてきます。
これは今作った基本表に対応する物理ファイルをハードディスク上に作りますか、と聞いています。
表自体は単なる定義なので、実際にデータを保存するためのファイルが必要なのです。
例えば、既にファイルを作成済みであるとか、他サーバからデータの入ったファイルを先に持ってきていて後は表の定義だけ必要だったとか、あるいは表定義だけしておいて、データを保存するためのファイルは後から作ります、またはデータディクショナリ保守ユーティリティでは作れない特殊なタイプのファイルが必要です(後で別の手段でファイルを確保します)、というような場合は、ここでは物理ファイルを確保する必要はありません。「2.確保しない」にすると作業完了です。
ここは難しい話は置いておいて、物理ファイルを作ってみましょう。「1.確保する」を選びます。
まず、物理ファイルを作りたい表を選びます。
たいていの場合、画面右側に表名の一覧が書かれた小さなウインドウが出るので、そこから目的の表を選べばいいです。ウインドウには10個しか表名が出ないので、それよりもたくさんの表が登録されているときは上下矢印キーや[SCROLL UP]「SCROLL DOWN]キーで目的の表名を探します。
あえて表名をキー入力したいと言う人は[PF15]キーを押すと、キー入力できるようになります。やっぱり表名を選びたいという場合は、もう一回[PF15]キーを押すとまた表名一覧の小さいウインドウが表示されます。
表名一覧から、今回登録した「セールス用表」を選びます。
装置名や物理ファイル名が自動で入ります。(これらは最初に入力済み)
もし最初に装置名を「MSD」とだけ入力していた場合は、装置番号まで入力させられます。
レコード長も最初に入力済みなので、自動で入ります。ブロック化係数はアクセス性能に関係してきますが、ここは8にしておきます。
レコード件数は、何件データを登録するかです。登録する件数にブロック化係数で割り算した値を入れます。例えば1000件のデータを登録するならば、1000÷8=125なので、125以上の値を入れます。
残りのジャーナル指定、自動アライン指定、オーバフロー警告は必要に応じて入力します。今回は無しにしました。
「キーファイルを確保しますか」と聞いてきます。これはキー(インデックス)を作るかどうかを聞いています。
今回の例では「ICODE」をキーにする予定ですので、「2.確保する」を選びます。
キーファイルは一般的には、自動的に作成された名前で良いです。何かこだわりがあるならば、自由に決めてください。
二重キーと更新は、今回は難しく考えずに、自動的に設定される値のままにしています。
ICODE(アイテムコード)をキーにするので、それを選びます。
選んだら[II]キーを押して、キーの選択を終了します。うっかり変な項目を選択してしまったら、[PF14]キーを押して、修正します。
キーを複数作れますが、今回は1個だけなので、下の画面で[II]キーを押して、キーファイル指定を終了します。
いいかどうか聞かれるので、よければ「1.OK」を押します。
駄目ならば[BSKIP]キーを押して、前に戻って修正します。
ここでようやくファイルを確保します。一瞬何か動いて(ファイルを確保しています)、下のような画面に変わります。
別の表のファイルを確保するならば「1.はい」を選びます。
今回は1個しか表を作りませんでしたので、「2.いいえ」を選択することにします。
これで表の定義は終わりです。
(直前の画面が一部残っていますが)一番上のメニューが最初の状態に戻っています。
これで終わる時は、メニューの一番右の「8.終了」を選びます。