NDBS 17


NDBS17 構造設計 c:\ndbs\ndbschm.exe
 
 データベースの構造を設計して、定義した情報を スキーマファイル と名付けたテキストファイルに書き込むためのプログラムです。 スキーマファイル は、データベースの入力や出力など、種々の利用に用います。

 データベースに記録される1件分のデータを1レコードと言います。
 1レコードはいくつかの項目(field または item とも呼ばれる)から成り立ちます。
 住所録など人間を対象としたデータベースの場合は、通常一人分が1レコードとなります。
 1レコードがどのような項目から成り立ち、どのような方法でデータを入力するか、
  これを記述したものがスキーマファイルです。Microsoft ACCESS のデザインシート作成こ相当します。

 NDBS ではデータベースの構造を設計し、スキーマファイルを作成することが最も大事な作業になります。
  スキーマファイルさえ出来ていれば,あとはデータを簡単に安全に入力できます。
  データ入力後は特別な準備も操作もなく,
   単純集計,クロス集計,絞り込み出力,ホームページの作成などができます。

 NDBS のスキーマファイルはデータベースの構造をテキストファイルに記述したものです。
  したがってテキストエディタで記述することができます。
  しかし、1バイトでもずれたり、半角のカンマが抜けたりするなど、 
    作成の仕方が悪いと正常に動作しなくなることがあります
  このプログラムはスキーマを安全に作成・訂正するために用意しました。


NDBS17-1 構造設計プログラムの起動
 このプログラム名は C:\ndbs\ndbschm.exe で、特定のスキーマファイルを引数として起動するこもできます。 

 (1) メニューを使用して起動
  作業場所にあるショートカット ndbs1 をダブルクリックし、この中から 17 構造設計 をダブルクリックします。
  新規に作成する場合は、 NDBS17-1図 のような画面が出てきたら作業が可能になります。
    既に作業場所のフォルダにスキーマファイルが存在し、登録されている場合は、
    スキーマファイル選択のためのリストが表示されますので、該当ファイルを ダブルクリック します。

 (2) ショートカットを使用して起動
  作業場所にショートカットファイルを作成し、プロパテイを下記のようにします。
     リンク先 C:\ndbs\ndbschm.exe
     作業フォルダ を作業場所に指定 例 D:\tuser\ndbtrain
  作成したショートカットファイルをダブルクリックします。あとは (1) の場合と同じです。
  既に作業場所のフォルダにスキーマファイルが存在し、登録されている場合は、
    特定のスキーマファイルを引数として起動できます。
    例えばスキーマファイル form\adrsform.txt だけを閲覧・訂正したい場合は、
    ショートカットファイルのプロパテイを下記のようにします。
      リンク先 C:\ndbs\ndbschm.exe form\adrsform.txt



NDBS17-2 スキーマファイルの決め方

 (1) スキーマファイルについて
   ・ スキーマファイルはデータベースの主表1個に対して1個必要です。
   ・ 最初にスキーマファイル名の登録が必要です。
   ・ 登録が終わったスキーマファイル名は作業場所の下のファイル form\ndbiSchm.txt フォルダの中に自動的に記述されます。

 (2) スキーマファイル名を決める
   ・ スキーマファイル名が既に form\ndbiSchm.txt に登録されている場合は、
      起動時、画面の左にスキーマファイル選択リストが現れますので、該当ファイル名をダブルクリックします。
   ・ スキーマファイル名が form\ndbiSchm.txt に登録されていない場合は、
      画面右上の 《スキーマファイル名》 のところに、新規のスキーマファイル名を入力します。
      このファイル名の付け方は、文字は必ず半角英数字 8 バイト とし、
      拡張子は 3バイト の半角英数字 TXT とします。例 adrsform.Txt
      名称は自由ですが、主表名の先頭4文字など、目的を連想させるものが良いでしょう。

 (2) 右上の 《登録》 をクリック
   すでにファイルが存在している場合はその情報が表示されます。
   ファイルが存在していない場合は NDBS17-1図 のものを表示します。
   《登録》 は一つのスキーマに対して 1回だけ できます。
   作業場所の下に下記フォルダが自動的に作成されます。
    Data   主表(データベース)ファイルを置くところです。
    Form   スキーマファイルとその登録ファイル NdbiSchm.Txt を置くところです。
    Refdt   参照表ファイルを置くところです。   



NDBS17-1図 新しいスキーマ登録
NDBS17-2図 スキーマファイル仕様の記述
画像ファイル  が見つかりません 画像ファイル  が見つかりません


 (3) ファイル仕様の記述
   使用者名 使用者名を20バイト以内で入力。

   使用目的 使用目的を20バイト以内で入力。

   参照表先頭名
     参照表のフォルダ名と参照ファイルの先頭名を入力。
     参照表の先頭名は 必ず半角4バイト であること。

   主表ファイル名
     主表ファイルのフォルダ名とファイル名を入力
     フォルダ名とファイル名も半角で記述して下さい。
     フォルダ名とファイル名はできるだけ半角8バイト以下、拡張子は3バイト以下にして下さい。
     拡張子は無くても構いません。
   他にいくつかのデータベースを作成していくことも考え、
     ファイル名などの付け方に統一性をもたせたら良いでしょう。
     例えばワインの評価のためのデータベースを作成したいとしたら、
     最初に wine という4バイトのキーワードを考え、ファイル名などを次のようにします。
     スキーマファイル名   form\wineform.txt
     参照表ファイル先頭名   refdt\wine
     主表ファイル名   data\winedata

   主表レコードサイズ
     後で記録項目を追加てせきることを考え、使用バイト数よりやや多目とします。
     ただし、レコード長は最大 8,000 バイト以下にして下さい。
     エデイタで見ることを想定し、レコード長をエディタの折り返し桁長の整数倍にしておきましょう。

   バックアップファイル名 必要があれば記述、必要がない場合は半角の x (半角のエックス)を記述。

   検索条件 最大3項目 検索項目名、記録位置、記録長を入力。
     詳しくは NDBS01レコード単位入力
検索機能 を参照して下さい。

   全レコード書込禁止
     ここに書き込む文字を 書き込み禁止コード と定義します。
     この 書き込み禁止コード を半角 0 としますとこのデータベースに書き込みできます。
     この 書き込み禁止コード を半角 1 としますとこのデータベースは書き込み禁止となります。

   レコード毎書込禁止
     ここに書き込む文字をレコード毎 書き込み禁止有効コード と定義します。
     この 有効コード を半角 0 としますとどのレコードにも書き込みできます。
     この 有効コード を半角 1 としておきますと、
     アクセスしたいレコード番号のデータの最後の1バイトの記述内容が、
      r (半角のアール)の場合  そのレコードだけは書き込み禁止となります。
      - (半角のマイナス)の場合 そのレコードだけは読み書き禁止となります。
     アクセスしたいレコード番号のデータの最後の1バイトの記述は、
         必ず左端に寄せて半角で入力して下さい。
     ただしこの指定をした場合は、データベースの各レコードの最後の1バイトを
       データとして利用するこはでききせん。

   元号数(最大26)、元号名、継続年数、元号前年西暦
     現在利用されている元号数を記述
     現在は 明治、大正、昭和、平成 が使われておりますので 4 となります。

   M,44,1867,T,15,1911,S,64,1925,H,99,1988
     1バイトの元号名の半角英文字略号、その元号が続いた年数、始まった前年の西暦年
     例 S,64,1925 の場合 昭和の元号は S で、64年間続き、1926年から始まった。

 (4) 現在日について
  生年月日から年齢を計算するような目的では 現在日 をいつにするかが問題となります。
  通常は 現在日 が今日の日になっていますが、次のように変えることも出来ます
   現在日(西暦8桁 内臓時計は Null)
     現在日 を今日の日にしたいときは記述しません。
     現在日 を今日の日以外の日にしたい場合には半角西暦8桁で記述して下さい。

 (5) スキーマの内容を訂正
  NDBS17-2図で、入力できる枠とその意味は次の通りです。
   項目名  全角半角を問わず 38バイト以内 で入力して下さい。
     これを超えた場合、超過分は削除されて記録されます。
     ただし、全角1文字は 2 バイト、半角1文字は 1 バイトとして計算します。

     入力方法が 15 16 の場合は画像ファイルのある場所(パス名)を 左端から半角 で入力します。
         画像ファイルのある場所名は作業場所を基準とした相対パス名でも、
         絶対パス名のどちらでも構いません。
   主キーの設定
       全レコードについて重複データの存在を禁止したい場合は 主キー を設定できます。
       主キー は項目名の左端に半角の * 記述することで設定できます。
       主キー が設定できる項目数は 1 スキーマファイルあたり 1 項目だけです。
       主キー が設定されていると、 主表入力 1画面1レコード のプログラムで、
         重複データの有無の点検を全レコードについて行い、
         重複データが存在した場合は書き込みを行いません。

   位置 の下   その項目を記録したい先頭位置(バイト)を入力。
        データベースが未だ存在していない場合は自動割付できます。
   長 の下     その項目の記録長をバイト数で 必ず入力。
   方 の下     入力方法を数字で 必ず入力。 NDBS01レコード単位入力
入力方法 を参照して下さい。
   参 の下     入力方法が 参照 の場合必ず参照表番号を入力
       参照表ファイル先頭名に、番号参照ファイル番号の半角2桁を加えた文字列が参照表ファイル名となります。
       例えば参照表ファイル先頭名が refdt/adrs で、参照ファイル番号が 1 であったとすれば、
       参照表ファイル名は 作業場所 にあるフォルダ refdt の下の adrs01 となります。
       ここで Enter しますと画面右下に参照表の作成画面が現れます
       既にその番号の参照表が存在している場合はその内容が表示されます。
   Option 1,2,3   主として入力方法が 12 の場合に使用関数毎に関数番号の入力が必要。
       NDBS01レコード単位入力 入力方法〔入力方法 12 〕 関数入力 を参照して下さい。

 (6) 項目数が 32 を超える場合
  NDBS は1画面で入力できる項目数が 32 までです。
  項目数が 32 を超える場合は、スキーマファイルを 別に作成して 対処できます。
  一つの作業場所当たり、 64 のスキーマファイルを登録できますので、
   一つの作業場所に一つの主表しか使用しない場合の最大項目数は、 64 × 32 = 2,048 となり、
   実用上項目数は制限を受けません。

 (7) スキーマファイルの保存
  画面右上の 《更新》 釦をクリックします。
  《スキーマファイル名》 に記述したファイルが、
    スキーマファイル名登録ファイル に保存されます。
    スキーマファイル名登録ファイル は作業場所の下のフォルダ Form の下に、
    ndbischm.txt の名前で自動作成されています。このファイル名は変えられません。
  《長》 のところの値が 0,空白,全角文字 になっている場合は、
     その項目の一つ前の項目までしか保存されません。
  スキーマファイル名登録ファイル への登録ファイル数の上限は 64 です。
  スキーマファイル名登録ファイル に登録されているスキーマファイル名は削除できます。
  削除方法
    ・ 《スキーマファイル選択》 をクリック。
    ・ 面左に スキーマファイル名登録ファイル に登録されている、
       スキーマファイル名の一覧が表示されます。
    ・ 削除したいスキーマファイル名の上をダブルクリック。
    ・ 《削除》 をクリック。
    ・ 該当のスキーマファイルそのものは削除されませんので、再登録して使用できます。

NDBS17-3図 参照テーブルの作成
画像ファイル ../image/ndbsb043.png が見つかりません
../image/ndbsb043.png



 (7) 参照表の作成と訂正
  参照表(あるいは参照テーブル)を作成しておくことにより、
    その情報を見ながら該当する情報をクリックすることによって、
    主表(主テーブル)と関連づけるためのコードを自動的に入力します。
  参照表は固定長テキスト型 RF. です。レコード長はデフォルトで 40 バイトですが、変更もできます。
  参照表は Code部、Kana部、Reference Char部 の3部から成ります。

  @ Code部 主表と結びつけるキーとなるコードを 4 バイト以内で記述します。
    Code 部にコード情報を 4バイト以内 で入力します。
    Code コード情報は 必ず左寄せとし 、(2) の記録 と一致させます。
    入力方法が 10 の場合、コード情報は 同じものを重複して記述しないで下さい。
    コード情報は必ず 半角文字 にして下さい。
      コードは特に理由がなければ半角数字とします、集計のとき便利です。
      半角数字をコードに用いる場合、記録 と一致させます。
      記録 が2バイトの場合の例
         1 2 3 .. ではなく   01 02 03 ...
    入力方法が 10 以外の場合、コード情報は入力してもしなくても構いません。

  A Kana部 参照表のレコード数が多い場合の検索のための文字を 4 バイト以内で記述します。
    必ず半角で入力します。
    1画面に表示される参照表のレコード数は 16 までです。
    それ以上の表示はスクロールバーをスライドさせることによって可能です。
    Kana 部に情報がある場合は検索されたレコードを表示できます。
    例えば住所録の例題に使用されている 県名 の参照表 adrs09 の場合、
      Kana 部 には半角英大文字のふりがなが記録されています。
    データベース入力作業画面で、
     県名 項目の参照表画面で Kana 部に A を入力して Enter しますと、
     青森県 秋田県 愛知県 のみが現れます。
    このように検索できるようにさせるためには、予め Kana 部にフリガナを入れておく必要があります。
    Kana 部に入力する場合は 4 バイト以内 で入力します。
    この情報は他のレコード間で重複しても構いません。
    半角カナの文字コードは ASCII コードに存在していないため、
    html文書 にした場合は文字化けの原因となります。
    これを避けるためには AKIT のように半角ローマ字にした方が良いでしょう。

  B Reference Char部 参照情報となる文字列を 32 バイト以内で記述します。
    Reference Char1 の枠に入力します。
    参照情報は 32 バイト以内で入力しますが、この情報は各種出力にそのまま使用されますので
      出来るだけ先頭 4 文字で識別できるような文字列を考えて下さい。
    全角と半角を混在させる場合は必ず半角は2文字続けて入力して下さい。
    参照情報の左端の 1 文字が半角の * 場合はそのレコード(行)を削除させることになります。
    そのレコード(行)を削除させる場合以外は * を入力しないで下さい。

  入力方法が 9,10,14,19 の項目の場合、 《方》 の欄のセルで Enter します。
  画面の右下に参照表の作成と訂正の画面が現れます。
  参照表データの作成・訂正画面では 16 レコードまで作成・訂正ができます。
    16 レコードを超える場合は画面右下にあるスクロールバーをマウスで操作して、
    指定レコードを出します。
  参照表データを追加する場合は最後の次のレコード番号に追加してください。
    例えば 10 レコードあった場合に R No のところに、
    11 を飛ばして 11 以上の値を入力しないで下さい。
  追加のレコード番号は順番に指定して下さい
    更新 は画面に見える部分だけ行われますので、
    画面に入力した後更新しないでスクロールしてしまいますと画面から外れた情報は消えてしまいます。
  参照表のレコード数の上限は入力方法によって異なります。
    入力方法が 9 の場合は 9999 までです。
    入力方法が 10 の場合は 4 バイトのコードの組み合わせ数で決まります。
      コードに数字だけ使用した場合は 9999 までとなります。
    入力方法が 10 の場合で、 NDBS No.1 主表入力 1画面1レコード 参照集計 を行う場合は、
      参照表の最大レコード数が 3000 を超えないようにして下さい。

 (8) 参照表のレコードの記録順番
  参照表も主表と同じく固定長のテキストファイルです。
  特に指定がなければ1レコードの長さが 40バイト に決められています。
  1レコードの長さがを変えたい場合はスキーマのその項目の Option 1 に長さを数字で入力します。
  参照表の各レコードをどの順番で記録させるかを指示するものが 記録順番 です。
  参照頻度の多い順番に連番を付けます。
   N No に記録順番を入力します。
  訂正の場合は訂正したいレコードのみ順番を入力します
  例えば住所録の例題に使用されている 性別 の参照表 adrs02 の場合、
    第一レコード       不明
    第二レコード   1    男性
    第三レコード   2    女性
      のように記録されていますが、記録順番の 2 3 のところを、 3 2 に変えて更新しますと、
    第一レコード       不明
    第二レコード   2 女性
    第三レコード   1 男性
  記録順番を変えた場合、当然データベース入力作業画面に現れる参照表の、
    表示画面に表示される参照表に現れる参照情報の順番も変わります。

 (9) 参照表の更新
  《更新》 をクリックし、 《戻る》 をクリックします。
   入力方法が 10 (参照コード記録)の場合に 《戻る》 をクリックしますと
   コード情報の重複を自動点検し、 重複があれば戻ることができません。
   コード情報が重複しないよう訂正してから更新して下さい。
  《更新》 によって参照表は保存されますがスキーマファイルはそのままです。

 (10) 参照表のレコードの削除
   参照表のレコードは次の手順で 削除 できます。
     削除したいレコードの Reference Char1 枠の左端に半角の * を入力します。
     削除したいレコードの N No 枠に R No と同じ数字を入力します
     《更新》 をクリックしますとそのレコードは削除されます。


NDBS17-3 既スキーマファイルの訂正

作業場所の下のフォルダ Form スキーマファイル名登録ファイル に登録されているスキーマファイルであれば、修正ができます。

 (1) NDBS17 構造設計 を起動

 (2) スキーマファイル選択
   画面左の 《スキーマファイル選択》 の枠内に、
   ・ スキーマファイル名登録ファイル に登録されているスキーマファイル名の一覧が表示されています。
   ・ この中から訂正したいスキーマファイルをダブルクリックします。
   ・ 《訂正》 《削除》 《削除》 の3つのオプション釦が表示されています。
     この中から 《訂正》 をクリックします。

 (3) 訂正作業
   訂正作業作業は NDBS17-3 既スキーマファイルの訂正 にならって行って下さい。


NDBS17-4 スキーマ設計上のいろいろな機能

 (1) 記録位置自動割付
   データベースが未だ存在していない場合は記録位置を自動割付できます。
   記録位置は第一項目が 1 で、第二項目は第一項目の位置に第一項目の長さを加えたものです。
   NDBS17-4図の例では、 1 + 8 = 9 が第二項目である氏名の記録位置となります。
   記録位置自動割付はこの操作を自動化したものです。
   記録位置自動割付を行う場合は 《長》 のところに 必ず半角バイト数で記録長を入力して下さい。
   《長》 のところの値が 0,空白,全角文字 になっている場合は、
     その項目の一つ前の項目までしか割り付けません。
   このスキーマファイルをもとに作成された主表が、
   既に存在していて、かつデータが入力されている場合は記録位置自動割付は行いません。
     既に記録されているデータを利用できなくなるからです。

 (2) 主表項目の追加と削除
   項目を追加したり削除したいときは、該当項目名のセルを ダフルクリック します。
   《削除》、《追加》、《戻り》 のいずれかを選択できる画面が表れます。

   《追加》 を選択しますとその項目の1行は全て空白になります。
     いままでの項目情報は下の方向につぎつぎと移行します。
     その頁の最下行 32項目の情報は画面から消えます。
        ただし、次の頁には送られませんがメモリには記憶されています。
     メモリには記憶された情報は次の追加作業で指定箇所に挿入できます。

   《削除》 を選択しますとその項目の1行は削除されます。
     削除行には次の項目情報が入り、以下次々と繰り上がります。
     削除された情報はメモリに記憶されています。
     メモリに記憶された情報は次の追加作業でそこに挿入されます。

   《戻り》 を選択しますと何もしないでこの画面が消えます。

 (3) 検索情報の設定
   主表の入力画面の中からキーワードを入力してレコードを検索できますが、
   この際にどの項目について検索するかを予め設定しておかなければなりません。
   設定にあたっては項目名、記録位置、記録長が必要で、これらを総称して検索情報と名付けます。
   検索情報の設定は次のように行います。
   《検索条件 最大3項目》 をダブルクリックします。検索情報入力・訂正画面が下に現れます。
    画面左端の項目名の中から検索情報にしたい項目名のセルをクリックします
    次に、 《検索条件 最大3項目》 の項目1,2,3のいずれかのセルをダフルクリックします。
    画面左端の項目名、位置、長の値が自動的に入ります。
    キーから手入力もできます。
   最後に 《更新》 釦をクリックします。
    スキーマファイルへ保存されます。
 
 (4) 記録位置の重複
   設定した全項目について記録位置は重複できません。
   ただし、 全レコード書込禁止 と設定した場合は、複数の項目で記録位置が重複しても構いません。
     出力専用のスキーマファイルとしてお使い下さい。

NDBS17-4図 参照ファイル作成オプション
画像ファイル  が見つかりません