web-dev-qa-db-ja.com

これは良いdbアーキテクチャですか?そうでない場合、それについて何を変更できますか?

Database structure

私はこれを古い投稿で見つけ、プロジェクトで使用することを考えていますが、変更するか、そのままにするかわかりません。変更したいものは次のとおりです。

  • 削除製品オプションおよび追加製品IDおよびオプショングループIDからオプション
  • order detailsを削除し、-ordersに情報を含めます

私が悪いことをしているのですか?また、このようなもののベストプラクティスを教えていただければ幸いです。

御時間ありがとうございます。

4
salah1337

両方のテーブルが存在するのには十分な理由があります。

productoptionsoptionsproductsの間のマッピングテーブルです。これは、多対多の関係であり、特定の製品に複数のオプションがあり、オプションが使用される場合があります複数の製品によって。このテーブルを削除すると、同じオプションに関連するoptionNameのすべての行にproductoptionsを再度追加することになり、効率が悪く、データの整合性が損なわれる可能性があります(どのようにして特定のオプションが常に同じ名前であることを確認しますか?)。

はどうかと言うと order_details:これはordersに対する多対1の関係です。注文には、それぞれ異なる製品を参照する複数の詳細行がある場合があります。このテーブルを削除すると、この可能性が失われます。

0
GMB