こんにちは、じじグラマーのカン太です。
年々面倒くさがりがひどくなるのを自覚しながら、週末プログラマーをしています。
今回はAccess講座実践編の二回目です。
早くもテーブル設計に手をつけます。基礎なんぞほったらかしても正しく動けばいいんです。細かいことは気にせず、とりあえず動くシステム目指してはじめましょう。
前回の内容はこちらです。
では早速テーブルの設計を行っていきましょう。
マスタテーブルの項目を考える
システムで扱うテーブルには、「マスタデータ」「トランザクションデータ」と呼ばれるものがあります(詳しくはこちらを参照ください)。
まずはマスタテーブルから考えてみましょう。
前回考えたように、入力するのものは「受注情報」であり、出力するものは「納品書」です。また、受注情報は、大きく分けて三つ(お客様の情報・商品の情報・納期の情報)でした。マスタデータと登録しておく必要がありそうなのは、お客様の情報と商品の情報です。
ここで、お客様の情報を「顧客マスタ」、また商品の情報を「商品マスタ」に登録することとします。
顧客マスタには、「顧客名」と「住所」を登録できるようにします。商品マスタには「商品名」「単価」を登録しましょう。それぞれのデータの識別子として、「顧客コード」「商品コード」を割り振りましょう。
だんだんシステムの設計みたいになってきました。
トランザクションテーブルの項目を考える
マスタの設計が終われば、次はトランザクションテーブルを考えます。入力するのは受注情報であり、出力は「納品書」であることを考えると、受注情報を登録する「受注トラン」と出荷情報を登録する「出荷トラン」が必要ですね。「納品書」はこの「出荷トラン」から出力することとします。
受注トランには、お客様情報に商品情報に加え、受注日や出荷日などの日付情報が必要ですね。先に設計したマスタを踏まえて考えると必要な項目は、「受注日」「顧客コード」「商品コード」「数量」「納期」といったところでしょうか。出荷トランには、受注情報と出荷日が必要です。ここでの識別子はそれぞれ、「受注番号」「出荷番号」としましょう。
以上で、マスタとトランザクションのテーブル設計が完了しました。後から変更することも可能ですので、とりあえず先に進みましょう。
テーブルレイアウトを定義する
ここまで来て初めてAccessを使用します。空のデータベースをお好きなところに作成してください(作成方法がわからない方はこちらをご覧ください)。
作成したデータベースにテーブルを作ります(作り方がわからない方はこちらをご覧ください)。
まずは、顧客マスタ。
次に商品マスタ。
さらに受注トラン。
最後に出荷トラン。
以上のように定義してみてください。
わかりやすいように、各テーブルのフィールド名は日本語にしています。また、データ型は日付とテキストと数値のみを使用しています。
テーブル定義を保存するとき「主キーが設定されていません」というダイアログが出ます。マスタの場合は「いいえ」トランザクションの場合は「はい」を選択してください。好みの問題ですが、僕はいつもそうしています。
まとめ
いかがでしたでしょうか。今回はテーブル設計まで終了しました。いよいよAccessを使用したシステム開発に着手しました。
細かい点は大胆に端折りましたが、目的は「とりあえず動くシステム」を作ることですので、気にせずまずは作ってみましょう。
不明点や疑問点は後から解決していく、というスタンスです。
次回は登録画面をデザインするところを攻めてみましょう。
コメント