👋

【DB設計】ER図のレビュー

2023/07/14に公開

🍍作成したER図の理解を深める

ECサイトを作るために作成したER図をみて説明ができるように1つ1つ理解を深めていこうと思います!
今後に生かせるように!

管理者

管理者の情報を格納している。

※なぜそのカラムが必要だと思ったか。ここに書いてあったから!っていう感じのものを引用文を吹き出し内に記載しています。

会員

会員の属性は、会員登録するときに必要なものが入る。
ECサイトに登録する顧客の情報を格納。会員情報(氏名、住所、連絡先など)を管理する。


会員ステータスという名前だけでは会員の何を表したいかわからない。
そのため、今回は会員が退会しているかいるか否かを知りたいのでこのような書き方をしている。
お手本では、退会フラグというカラム名であったため基本的にはこちらの書き方が主流なのかもしれない。

💎💎なんで会員ステータスだけ何を表したいのか詳しく書いて他の奴は制作ステータスとかだけでいいの?

商品

サイトで販売している1つずつの商品のデータを格納している。



💎商品ジャンルを別テーブルにする理由
https://zenn.dev/skal073/articles/7ed56d1a788be1

商品ジャンル

商品を分類するジャンルを格納している。
商品ジャンルテーブルを作ることで下記画像のようにできるようになりジャンルの管理が簡易的になる。

カート内商品

  • カートに入れている間に価格変動が起こっても修正できないので価格はいれなくてよい!

💎カート内商品というテーブル名なんかむずむずする。
この名前にしちゃうと、会員IDとつなげないと誰が買ったかわからないかわかんなくなるからFKにしてるのは分かるけど、カート内商品ではなくない?とか思っちゃう~💦
なにかわかりやすい説明ないかな、、
『カート』っていうテーブル名だったら理解できてたけどテーブル名に商品ってつけるとわかんない!
けど注意されたから、直した、、、、。

注文


会員が商品を注文する際の注文情報を表すテーブル。
注文の情報を管理することで、履歴で追跡できるようにする。配送先idとつなげると過去の住所もすべて変更されてしまう。

注文詳細

注文ごとの詳細情報を表す。

配送先

会員の配送先データが保存されている。

💎なんで配送先のテーブル作ったの?
配送先一覧でそのユーザーに紐づいた配送先を表示させるため、、?
下記図のような流れで配属先テーブルがつかわれてることまでは理解できた。

💎💎注文時に指定された配送先のデータを管理してるの??違うよね?
それはそれぞれの注文の時の注文テーブルがデータ保存してるよね?
じゃあ配属先テーブルの役割はやっぱり一覧出すため?

🍍ER図完成


上記ER図は間違っていたので下記に正しいER図を載せ変えました

🍍まとめ

何とか完成できたけどER図の奥が深すぎてすごいわ🎉

Discussion