テーブルを作成してみよう
データベースが正常に生成されたら、早速テーブルを作成してみましょう。テーブルとは、システムで入力する項目を格納する大事な入れ物となります。今回は、見積情報を入力するという例で進めていきたいと思います。
「見積」というと、見積書(↑画像)を想像するかと思います。
見積情報に限らず、「どの項目をテーブルに格納しておくのか」ということを先に決めておくことが一番重要です。このテーブル設計段階でしっかりシステムの仕様を固めておかないと、後々のプログラム工程で大きな時間ロスが発生してしまう可能性があります。
上記の見積書は基本的なものです。何が項目として必要でしょうか?
↑画像の赤枠項目は、見積NOや得意先、自社情報、担当者や発行日などの必要な項目が格納されます。(もちろん業務によって必要項目はさまざまです)加えて、小計や消費税、合計金額や備考なども必要となります。見積NO1(イチ)に対して入力項目が1(イチ) 1:1というテーブルをヘッダテーブルといいます。
次に青枠を見てみましょう。青枠はひとつの見積NOに対していくつ商品の行が入るか分からない情報となります。このような項目が見積NO1(イチ)に対して複数の行が存在するテーブルを「明細テーブル」といいます。
マスタテーブルと普通のテーブルとの違い
「マスタ」というのは聞いたことがあるかと思います。日々の業務でそれほど変化がない情報はマスタテーブルを作成して格納しておいたほうが便利です。例えば見積情報の得意先がいつも決まっている場合には「得意先マスタ」を作成しましょう。ネット販売のように得意先が決まっていない場合には見積テーブルに得意先名を格納しておく必要があります。
当社では、マスタ関連のテーブルを「MST_〇〇〇」というテーブル名で生成します。(例:MST_得意先/MST_商品/MST_担当者)(※MST=Masterの略語)
テーブルの頭文字3文字を見て、「あぁ、このテーブルはマスタなんだ」ということがわかるようにしています。逆に日々更新・追加・削除されていくテーブル(見積テーブルや見積明細テーブルなど)は、「TBL_〇〇〇」という名前で生成します。そうすれば、マスタテーブルなのか日々更新されていくテーブル(トランザクションテーブルと言います)なのかの区別がつくようになります。
※もちろん上記でなければならない決まりはありません。「得意先マスタ」「商品マスタ」など、「マスタ」を語尾につけるという方法でも構いません。
主キーの必要性
SQLAzureDatabaseは1テーブルにつき主キーを決める必要性があります。主キーとは「重複することのない番号」を意味しています。
主キーを作成しないと、例えば得意先情報で「株式会社鈴木商事」のような同じ名前の会社が存在した場合、どちらの売上なのかが分からなくなります。担当者も「山田花子」が二人いた場合にはどちらが担当なのかが分からなくなります。また、得意先情報の入力で
㈱鈴木商事/株式会社鈴木商事/鈴木商事/鈴木商事株式会社/株式会社 鈴木商事(全角スペース空き)/株式会社 鈴木商事(全角スペース空き)はすべて異なる得意先名として認識してしまいます。よって後々に「得意先別売上集計表」などの得意先で集計を行う処理が必要になった場合、集計することができなくなってしまいます。任意に重複しない番号(得意先コード)を格納しておくのは非常に大事になります。
フィールドの型について
1つのテーブルには、各フィールドを追加していく画面が存在します。その時に「型」を設定する必要があり、「何を入力するか」で型をフィールドごとに決定する必要があります。
MS-Accessでは赤枠のような型が存在しています。Azureデータベースの型は以下となっております。今回はシンプルなシステム構成のため最低限の型を紹介します。※詳細に関しては、コチラのHPなどを参考にしてみてください。
今回は数値・日付・文字列を紹介していきたいと思います。
数値型(通貨型)…数値が入る項目(商品数量等)は「int」を選択します。金額が入る項目(単価・値引・合計)等の項目については「money」を選択します。
日付型…2021/08/01の日付を管理する項目については「datetime」を選択します。
テキスト型…文字が入力される項目はnvarchar(0~)を選択します。得意先コードや商品コードなどは桁数が決まっているのではないかと思います。例えば得意先コードが5桁以上は絶対に増えないということであればnvarchar(5)と設定します。当社では6桁にいずれは増えるだろうということも想定して、コード系についてはnvarchar(50)、住所などの文字数はnvarchar(255)、備考などはnvarchar(MAX)に設定しています。
テーブルの新規作成
テーブルを新規に作成するには、テーブルフォルダアイコンを右クリックし、新規作成→テーブルを選択します。列名とデータ型、Nullを許容するかどうかのチェックを入力する画面が表示されます。
次回はマスタ系「得意先マスタ・商品マスタ・担当者マスタ」をさっそく作成してみましょう。ここまで読んで頂いて、ありがとうございます。