今回は5つのテーブルを作成します。「受注」「受注明細」「商品」「商品分類」「得意先」です。
1つの「受注」データに対して、複数の「受注明細」データが結びつきます。また1つの「受注」データに1つの「得意先」データが結びつきます。
1つの「受注明細」データには1つの「商品」データが結びつき、1つの「商品」データには1つの「商品分類」データが結びつきます(図1参照)。
各テーブルの構造は以下の通りです。
「受注」
主キー |
フィールド名 |
データ型 |
フィールドサイズ |
主 |
受注コード |
数値型 |
長整数型 |
|
得意先コード |
数値型 |
長整数型 |
|
受注日 |
日付/時刻型 |
|
|
納品日 |
日付/時刻型 |
|
|
請求日 |
日付/時刻型 |
|
|
入金日 |
日付/時刻型 |
|
「受注明細」
主キー |
フィールド名 |
データ型 |
フィールドサイズ |
主 |
受注コード |
数値型 |
長整数型 |
主 |
商品コード |
数値型 |
長整数型 |
|
単価 |
数値型 |
長整数型 |
|
数量 |
数値型 |
整数型 |
|
消費税率 |
通貨型 |
|
「商品」
主キー |
フィールド名 |
データ型 |
フィールドサイズ |
主 |
商品コード |
数値型 |
長整数型 |
|
フリガナ |
短いテキスト |
50 |
|
商品名 |
短いテキスト |
50 |
|
分類コード |
数値型 |
バイト型 |
|
定価 |
数値 |
長整数型 |
「商品分類」
主キー |
フィールド名 |
データ型 |
フィールドサイズ |
主 |
分類コード |
数値型 |
バイト型 |
|
分類名 |
短いテキスト |
50 |
|
説明 |
短いテキスト |
255 |
「得意先」
主キー |
フィールド名 |
データ型 |
フィールドサイズ |
主 |
得意先コード |
数値型 |
長整数型 |
|
フリガナ |
短いテキスト |
50 |
|
得意先名 |
短いテキスト |
50 |
|
担当者名 |
短いテキスト |
50 |
|
部署 |
短いテキスト |
50 |
|
郵便番号 |
短いテキスト |
7 |
|
都道府県 |
短いテキスト |
4 |
|
住所 |
短いテキスト |
50 |
|
建物名 |
短いテキスト |
50 |
|
電話番号 |
短いテキスト |
11 |
【複合主キー】
受注明細テーブルには、「主」のマークが2つのフィールドについています。これを複合主キーと呼びます。
一般に、主キーは1つのフィールドに設定するケースが多いですが、受注明細テーブルには、1つのフィールドでデータを特定できるフィールドがありません。
しかし「受注コード」と「商品番号」をセットとして考えると主キーになることができます。
例えば、受注コード「1001」で商品コード「15」のデータは、このテーブルの中に1つだけしか存在しません。
このようなケースの場合、複数のフィールドをセットとして主キーを設定することができます。