はじめに
今、羽生 章洋著 『楽々ERDレッスン』を手を動かしながら進めています。おかげで、昨日よりもER図を作成することに慣れてきました。
今回は、同著の第3部第3回の例題である、ハンバーガーショップのレシートからER図を作成するまでの過程を例にとって、自分が学んだER図作成までの過程をまとめたいと思います💪
1. イベントを探す
まず、最初に行うことは、レシートからイベントを見つけることです。イベントの見つけ方は、属性に「When」を持つものを探すことです。もっと具体的に言えば、「〇〇日」と言えるものです。
今回のレシートを例にとれば、「注文する」という行動がイベントです。「注文日」と言うことができます。
2. リソース系を探す
ここで、リソース系とは、「イベント」を行う時に使われるもののことです。リソース系の見つけ方として、「誰に」、「誰が」、「何を」、「どこ」を考えると良いみたいです。
今回の例で言えば、「注文する」と言うイベントには、「誰に」は店員さんですが、レシートには店員さんの名前はなく、代わりにレジ番号があります。そのため、「どのレジに注文したのか」と考えるようにします。
次に、「誰が」は「お客さん」ですが、今回はデータベースに入れる必要はありません。
そして、「何を」にあたるのは「商品」です。
最後に、「どこ」ですが、これは支店別などで分析する際には必要かもしれませんが、今回の例題ではそこまでは求められていないため、データベースに入れません。
3. 項目を入れてみる
ここで、レシートをみて、素直に項目を入れてみます。私の考えでは以下のようになりました。
ここで、もう少し踏み込んで考えてみます。
レシートには金額合計と単価、個数があり、これを「注文」に一括して入れてもいいのだろうか
セット商品を管理するエンティティが必要ではないだろうか。
お持ち帰りの有無も聞いているぞ。
お金を預かっているな。
というようなことが気になってきました。そのため、これらが解決されるようにER図を書き直してみましょう。
レシートには金額合計と単価、個数があり、これを「注文」に一括して入れてもいいのだろうか
→「注文詳細」と「注文」に分けて考えよう。
セット商品を管理するエンティティが必要ではないだろうか。
→「セット商品構成」というエンティティで管理しよう
お持ち帰りの有無も聞いているぞ。
→「パッケージするかどうか」というエンティティで管理しよう
お金を預かっているな。
→「デポジット」というエンティティを作ろう
4. リレーションを考える
以上をもとに、エンティティ同士の関係を考えると、最終的なER図は以下のようになりました。
まとめ
ERDレッスンのおかげで大分ER図を書くことに慣れてきましたが、やはり新しい形式の注文書などを見るとまだ、完全に自分一人ではER図を作成することは少し難しそうです。 明日も引き続き取り組んで、ER図作成慣れていきたいです💪
参考文献
羽生 章洋 2006『楽々ERDレッスン』 翔泳社