🔥

ER図 自分たちのER図と修正記録

2024/06/11に公開

6/11

参考記事

https://qiita.com/codeReona/items/f7f0eef3ababef130018


6/11時点での課題

1、注文と注文詳細が自信ない
2、価格が複数場所に存在している。
3、管理者テーブルがよくわかっていない。

明日修正が返ってくるのでまた追記します。🐶
でもみんなでER図考えるの楽しかったです!

6/12追記 修正後とメモ

⭐️注文詳細は中間テーブル(これがないと注文と商品テーブルが多対多になり複雑)

[商品テーブル]→[税抜き価格]

[注文詳細テーブル]→[税込価格]

[注文]→[請求額(送料込)]

商品テーブルを税抜き価格にする理由。

ここが税込価格になっていると税率などが変わった時に1つずつ変えなければいけない。

注文詳細テーブルを税込価格にする理由

注文後に値段が変更されても(sale終わったなど)買った時の値段情報を入れるため。
+買った時の値段だからその値段に税率をかける(税込)

注文テーブルを請求額にする理由

合計で買うものの値段に送料(一律)を足した額。
注文詳細に請求額を入れるとそれぞれのIDごとに送料足す事になる

😲 {自分用解釈

注文と注文詳細は1対Nだから、例えば[クッキー2個ケーキ1個]を注文する場合....
『注文(1)』の中に『注文詳細(N)』が何個(①クッキー情報が入ったテーブル②ケーキ情報が入ったテーブル)も入っているということ。
だから送料を注文詳細に入れると(クッキーid)と(ケーキid)とかにそれぞれ送料が付いちゃう。
だから商品は税抜き(税率変わるから)、注文詳細(クッキー)は税込(注文時の値段×個数×税)
で、注文テーブルには(注文詳細1{クッキー2個})+(注文詳細2{ケーキ1個})+送料=請求額


カートに価格は不必要な理由

商品ページに最新の税抜き価格が入っており、関連付けしているのでわざわざカートに値段設定はいらない。
それこそ値段変わった時対応できない為。

注文テーブルに住所などが必要。配送先と関連付けではダメな理由

配送先が変わった場合、過去の履歴も変わってしまうから。
この(6/11の)注文はこの住所に届けましたよ!としなければならない。

商品写真が必要ない理由

通常カラムには入らない為、作っても意味がない、
ActiveStorageを使う。アプリケーション開発1の6章参照。

姓と名分ける(カナ)理由

複数理由はあるが・姓/名だけで検索することがあること、・何を入力するのか明確にできる(わかりやすい)
検索しやすくするためINDEXメソッド?もつける

Discussion