データベース 正規化
Q&A
解決したいこと
データベースのテーブルをどこまで、正規化していいかわからない!
例)クライアントからの要望
①弊社が実店舗で提供する100種類のプロテインを掲載する
②原材料別(ホエイ、カゼイン、ソイ)で検索できる
③1つの商品に対して原材料は1つである
④会員のみ商品を注文できる
⑤商品注文画面では商品の名前、原材料、価格、画像を確認できる
⑥複数の種類の商品を注文できる
⑦同一商品を複数個注文できる
⑧注文後、注文完了メールが会員に送信される
⑨支払いは商品を受け取った後に別システムで行うので本システムに機能を含めない
⑩データベースを直接触るので管理画面は必要ない
プロテインの購入ができるECサイトを作成する開発案件です。
AmazonのようなよくあるECサイトですが、支払いを行わなくてよいのが特徴的です。
発生している問題・エラー
会員エンティティ 会員ID アドレス パスワード
商品エンティティ 商品ID 商品名 原材料名 価格 商品画像
カート(エンティティ) カートID 会員ID 商品ID 商品個数
注文(エンティティ)注文ID 会員ID 商品ID 商品個数 配送先
自分で試したこと
商品エンティティを正規化すると、商品エンティティは商品ID 商品名
価格エンティティは、商品ID 価格
商品画像エンティティ:商品画像ID 商品画像
原材料エンティティ:原材料ID 原材料名
これが自分なりに正規化した仕様です。あってますでしょうか?
それと、注文エンティティはどこまで、正規化していいかわかりません。