ページの先頭行へ戻る
Symfoware Server V10.0.0 アプリケーション開発ガイド(共通編)

4.2 データベースの例

ここでは、データベースの例として、ある小売店の在庫管理データベースを示します。本書では、データ操作の説明に、このデータベースを使用します。このデータベースは、小売店の在庫管理業務を実現するもので、以下の3つの表から構成されています。

在庫表:

取り扱う製品とその在庫数量の情報を持つ表

発注表:

仕入れ先ごとの取引製品とその発注数量、および仕入価格に関する情報を持つ表

会社表:

取引会社の会社名、電話番号および住所の情報を持つ表

これらの表は“在庫管理”というスキーマに含まれます。

在庫表

在庫表の内容を“図4.1 在庫管理データベースの内容”のa)に示します。在庫表は以下の4つの列から構成されています。

製品番号:

製品につけたコード番号データの列

製品名:

製品の種類名データの列

在庫数量:

製品の在庫数データの列

倉庫番号:

製品を保管してある倉庫の番号データの列

発注表

発注表の内容を“図4.1 在庫管理データベースの内容”のb)に示します。発注表は以下の4つの列から構成されています。

取引先:

取引先の会社番号データの列

取引製品:

製品につけたコード番号データの列

仕入価格:

製品の仕入価格データの列

発注数量:

製品の発注数データの列

会社表

会社表の内容を“図4.1 在庫管理データベースの内容”のc)に示します。会社表は以下の4つの列から構成されています。

会社番号:

会社につけたコード番号データの列

会社名:

会社の名称データの列

電話番号:

会社の電話番号データの列

:

会社の住所データの列

本書の中で、特に断りなくSQL文の使用例などで上記の表名および列名が使用されている場合は、“図4.1 在庫管理データベースの内容”の表および列を指定しています。必要に応じて“図4.1 在庫管理データベースの内容”を参照してください。なお、“図4.1 在庫管理データベースの内容”に示す表に含まれるデータは架空のものです。

図4.1 在庫管理データベースの内容

在庫管理データベースの各表の列の属性

各表の列の属性を以下に示します。

表4.1 在庫管理データベースの各表の列属性

表名

列名

列のデータ型

列の制約

備考

在庫表

製品番号

SMALLINT

NOT NULL

製品のコード番号

製品名

NATIONAL CHARACTER(10)

NOT NULL

製品種類名

在庫数量

INTEGER

---

在庫する製品の個数

倉庫番号

SMALLINT

---

保管倉庫の番号

発注表

取引先

SMALLINT

NOT NULL

取引先の会社番号

取引製品

SMALLINT

NOT NULL

製品のコード番号

仕入価格

INTEGER

---

製品の仕入価格

発注数量

SMALLINT

---

発注した製品の個数

会社表

会社番号

SMALLINT

NOT NULL

会社のコード番号

会社名

NATIONAL CHARACTER(10)

NOT NULL

会社の名称

電話番号

CHARACTER(14)

---

会社の電話番号

住所

NATIONAL CHARACTER(20)

---

会社の所在地の住所

--- : NULLを許します。

在庫表、発注表および会社表の関連

3つの表の間の関連を“図4.2 在庫表、発注表および会社表の関連”に示します。在庫表と発注表は、製品番号と取引製品で関連が付けられています。発注表と会社表は、取引先と会社番号で関連が付けられています。例えば、在庫表上で製品番号が123の製品は、製品名が“冷蔵庫”、在庫数量が“60”で、この製品が格納してある倉庫の番号が“1”です。そして、この製品の仕入価格および発注数量は、発注表の取引製品が“123”の行から、それぞれ“48000”、“60”であることが分かります。さらに、取引先の会社番号は“61”なので、会社表の会社番号が“61”の行から、その製品の取引先の会社の会社名、電話番号および住所が分かります。

図4.2 在庫表、発注表および会社表の関連