1. 目的
    1. これから述べるデータベースのテーブル作成方法 へのアプローチを 社員に伝え、今後のソフト開発のアイディアを提供する。
      1. データベースを利用したツール作成時の工数削減に役立つ
  2. 作成した経緯について
    1. 一度完成したと思われたテーブルのフィールド構成 を直す必要が頻繁に生じた
    2. MDBは複数人数で使用すると応答が非常に遅くなったこと
  3. 説明する内容について
    1. 詳細なソースレベルでの説明は行なわず、特徴と作成方法に留めます。
      1. 詳細についてはドキュメントがあるため、興味をもたれ方はそちらを参照してください。
        1. 原が島次長にドキュメントをおいてよい場所を問い合わせる
    2. 説明に使用するソフトウェア
      1. Microsoft Access
      2. Microsoft Visual Studio 2005
  4. DBの特徴について
    1. シンプルで移植性の高いテーブルの構造
      1. 一度作ったデータベース用ソースコードを他のプロジェクトに容易に使いまわせる
      2. テーブルで管理するデータの種類の増減に強い
    2. データベースの負荷が少ない
      1. MDBは複数人数で使用すると応答が遅くなるが、それを回避する手段について説明します。
    3. ソースコードの修正量が少ない
      1. 管理するデータの種類が増えてもSQL文を書き直さなくてすむ。
  5. シンプルで汎用性の高いデータベース構造
    1. データを登録するテーブルの構造について
      1. データを入れるテーブルは扱うデータの種類が増えてもフィールドは追加しません。 5つのフィールドで管理を行います。
        1. Num
          1. 数値型で宣言された主キー
        2. Key
          1. SQLの検索キーとして使用するユニークではないキー。
        3. Type
          1. 登録するレコードの種類を入れるフィールド。 タイプテーブル(後で説明する)から導き出された数値が入る。
        4. Val
          1. KeyとTypeから導き出されるデータの中身を入れるフィールド。
        5. Day
          1. データの追加日を入れるフィールド
      2. サンプル用MDBで登録したデータ一覧を見せ説明します
    2. レコードの追加と編集
      1. レコードは常に追加しか行いません。(編集、削除はなし)
        1. 追加しか行わないので、ユーザーが編集した履歴は簡単に残せます。
        2. 記述するSQL文には、編集用、削除用のコードを記述しなくてよくなる
        3. データ削除時は、削除するキーのTypeフィールドにデリートの数字を入れます。
  6. データベースの負荷が少ない
    1. データベースのアクセス回数を減らせば早くなる
      1. 起動時にネットワーク上のテーブルをローカルメモリに コピーし、起動後はローカルPCのテーブルからデータを取得するようにする.
        1. 一度取得してしまえば、後は差分を見るだけになります。
      2. テーブルのレコードの取得、追加する際、ネットワーク上のDBが更新されているかチェック。 更新されているかどうかは、ローカルマシンとネットワーク上のテーブルのレコード数を数えるだけでわかる。
        1. データベースのアクセス回数の軽減につながる
  7. ソースコードの修正量が少ない
    1. データベースで扱うデータの種類が増えてもSQL文の修正なし
      1. SQL文は経験上不具合を生みやすい。データはループ処理で 取得、更新を行い、メソッドの修正を楽にします。
        1. 取得
        2. 登録、更新
        3. 削除
  8. その他
    1. 実運時の使用人数について
      1. 出向先では10名弱程度で使用しています
    2. 今後の課題
      1. レコードの追加可能な数に限度はある。MDBで2GBまで。
      2. レコードが多ければ多いほど処理速度は低下します
  9. 結論
    1. データベースのフィールドを変更しないで、他のソフトウェアへの 流用できるので、ソースコードの流用性が高い。 しかし、DBのサイズの限界や使えば使うほど重くなると考えられるので 社内等の限定した環境で複数人が使用するデータベース用途には向いていると考えます。
      1. 紹介した仕組みを活用できそうなソフト
        1. アプリケーションテスト項目一覧表
        2. 共有ブックマークソフト