0

データベーススキーマを作成しましたが、本当に最適化されているかどうかわかりません。誰かがそれを見て、私がそれを最適化するのを手伝ってくれませんか?

Categoriesのような値を含むテーブルがあります"Pizza, Salat, Pasta, Drinks"

Sizesテーブルには、サイズがPizzaある場合があるように、各カテゴリのサイズが含まれますsmall,large,family,party

そして、pricesテーブルにはが含まれますproduct_id,size_id,price

しかし、をテーブルsizesに結合する必要があるのか​​、それとも私が行ったように結合するのかはわかりません。productscategories

4

1 に答える 1

0

もちろん、あなたのデザインはすべて、基礎となるビジネスドメインを完全に反映している可能性があります。どちらの方法を決定するのにも十分な情報を提供していません。まず、スキーマを言葉で表現することをお勧めします。これは通常、関係を少しよく理解するのに役立ちます。

あなたのドメインはおおまかに次のように機能すると思います。

  • 1つのカテゴリに1つ以上の製品があります。
  • 1つの製品が1つのカテゴリに属します。
  • 1つの製品が1つ以上のサイズで利用可能です。
  • 製品の基本価格は、そのサイズによって決まります。
  • すべてではありませんが、一部の製品にはトッピングがあります。
  • すべてではありませんが、一部の製品は、トッピングを追加することでカスタマイズできます。
  • 一部のカスタマイズされた製品の合計価格は、基本価格と追加のトッピングの合計によって決まります。
  • 一部のカスタマイズされた製品の合計価格は、基本価格に製品サイズの追加のトッピングの合計を加えたものによって決まります。
  • トッピングは、1つまたは複数の製品に追加できます。
  • 製品には、0個以上のトッピングを追加できます。

これは、デザインに表示されているものですが、使用可能なサイズを決定するのは製品ではなく、製品カテゴリであることを示しています。そうかもしれません。質問に答える方法は、「すべての製品が同じサイズで入手できるわけではない製品カテゴリーはありますか?」です。たとえば、飲料メーカーはさまざまなサイズの容器の飲料を販売していると思います。

于 2013-01-18T10:15:01.147 に答える