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