ER図 自分たちのER図と修正記録
6/11
参考記事
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