Access講座 実践編 第二回 システムで扱うデータのテーブルを設計する

Access

こんにちは、じじグラマーのカン太です。
年々面倒くさがりがひどくなるのを自覚しながら、週末プログラマーをしています。

今回はAccess講座実践編の二回目です。
早くもテーブル設計に手をつけます。基礎なんぞほったらかしても正しく動けばいいんです。細かいことは気にせず、とりあえず動くシステム目指してはじめましょう。

前回の内容はこちらです。

では早速テーブルの設計を行っていきましょう。

マスタテーブルの項目を考える

システムで扱うテーブルには、「マスタデータ」「トランザクションデータ」と呼ばれるものがあります(詳しくはこちらを参照ください)。

まずはマスタテーブルから考えてみましょう。

前回考えたように、入力するのものは「受注情報」であり、出力するものは「納品書」です。また、受注情報は、大きく分けて三つ(お客様の情報・商品の情報・納期の情報)でした。マスタデータと登録しておく必要がありそうなのは、お客様の情報と商品の情報です。

ここで、お客様の情報を「顧客マスタ」、また商品の情報を「商品マスタ」に登録することとします。

顧客マスタには、「顧客名」と「住所」を登録できるようにします。商品マスタには「商品名」「単価」を登録しましょう。それぞれのデータの識別子として、「顧客コード」「商品コード」を割り振りましょう。

だんだんシステムの設計みたいになってきました。

トランザクションテーブルの項目を考える

マスタの設計が終われば、次はトランザクションテーブルを考えます。入力するのは受注情報であり、出力は「納品書」であることを考えると、受注情報を登録する「受注トラン」と出荷情報を登録する「出荷トラン」が必要ですね。「納品書」はこの「出荷トラン」から出力することとします。

受注トランには、お客様情報に商品情報に加え、受注日や出荷日などの日付情報が必要ですね。先に設計したマスタを踏まえて考えると必要な項目は、「受注日」「顧客コード」「商品コード」「数量」「納期」といったところでしょうか。出荷トランには、受注情報と出荷日が必要です。ここでの識別子はそれぞれ、「受注番号」「出荷番号」としましょう。

以上で、マスタとトランザクションのテーブル設計が完了しました。後から変更することも可能ですので、とりあえず先に進みましょう。

テーブルレイアウトを定義する

ここまで来て初めてAccessを使用します。空のデータベースをお好きなところに作成してください(作成方法がわからない方はこちらをご覧ください)。

作成したデータベースにテーブルを作ります(作り方がわからない方はこちらをご覧ください)。

まずは、顧客マスタ。

次に商品マスタ。

さらに受注トラン。

最後に出荷トラン。

以上のように定義してみてください。

わかりやすいように、各テーブルのフィールド名は日本語にしています。また、データ型は日付とテキストと数値のみを使用しています。

テーブル定義を保存するとき「主キーが設定されていません」というダイアログが出ます。マスタの場合は「いいえ」トランザクションの場合は「はい」を選択してください。好みの問題ですが、僕はいつもそうしています。

まとめ

いかがでしたでしょうか。今回はテーブル設計まで終了しました。いよいよAccessを使用したシステム開発に着手しました。

細かい点は大胆に端折りましたが、目的は「とりあえず動くシステム」を作ることですので、気にせずまずは作ってみましょう。

不明点や疑問点は後から解決していく、というスタンスです。

次回は登録画面をデザインするところを攻めてみましょう。

コメント