IT・ソフトウェア

受注管理のテーブル関係(ER・鳥の足記法)

テーブルの関係(ER)

受注管理の ER 図。テーブルと主キー・外部キー、1 対多の関係を記号で示した図

この図は、下の 1 枚の YAML から描かれています。手で図形を動かしてはいません。

正本に書いてある決まりごと

鳥の足(crow's foot)は、線の端の形が「何個つながるか」を言う。線そのものではなく、端を読む図。

端の形意味
三またの足多。この図では「1 以上」(受注 1 件に明細は 1 行以上、商品 1 つに価格は 1 行以上)
縦棒 1 本ちょうど 1
丸 + 三またの足0 以上(まだ 1 件も無くてよい)
丸 + 縦棒0 または 1

正式な IE 記法では「1 以上」は縦棒 + 三またの足、「ちょうど 1」は縦棒 2 本で描く。この道具の端の記号にはその 2 つが無いので、縦棒 1 本と三またの足だけで代えている。

「0 でもよい」かどうかは、業務のほうから決まる。まだ 1 件も注文していない顧客はいる(顧客 → 受注は 0 以上)。一度も売れていない商品もある(商品 → 明細も 0 以上)。受注 1 件に対する出荷は、まだ無いか 1 回(0 または 1)——端の形が、その表に何が入り得るかをそのまま言っている。

受注 1 件に明細は何行でも付く。同じ表に入れると、受注の日付が行の数だけ重複する。表を分ける理由は、たいていこの「個数の違い」にある。

商品は 1 つでも、価格は時期で変わる。過去の受注は、そのときの価格で残す。

鳥の足記法(IE 記法)の実体は矩形。円柱は「データベース(格納庫)」の記号なので、表 1 つずつを円柱にすると「DB が 8 個ある」と読まれる。在庫(商品×倉庫)の 2 本も、矢印ではなく端の形で言う(商品 1 に対して在庫行は 0 以上)。

正本(YAML)

examples/gallery/21-テーブルの関係.zumen.yaml

同じ分野の見本