5

この画像は、データベースの一部に対して提案したレイアウトを示しています。私の懸念は、価格帯と、これらが [ショー] と [予約] に関連付けられる方法にあります。価格帯のリスト (タイトルのように) が必要ですが、どのショーに関連付けられているかによって、同じ価格帯に複数の値が含まれる場合があります (金曜日の標準チケットは 10 ポンドで、土曜日の標準チケットは 10 ポンドである可能性があります)。 11)。

このアプローチでは、それらは多くのほぼ同一のデータになるように思えます-[showpriceband]の5ポンドのチケットのエントリがたくさんあり、唯一の違いはshowidです。

これに対するより良いアプローチはありますか?

提案されたデータベース レイアウト

4

3 に答える 3

2

この問題について:

このアプローチでは、ほとんど同じデータがたくさんあるように思えます.[showpriceband]の5ポンドのチケットのエントリがたくさんあり、唯一の違いはshowidです。

この重複は、show テーブルと showpriceband テーブルの間に結合テーブルを追加することで回避できます。本当に自然だとは思いませんが、データ次第です。(そして、おそらく showpriceband の名前も変更する必要があります...)

または、フィールドを showpriceband から priceband に移動することを検討できます。(value, ongeneralsale) そこにもう少し冗長性を持たせますが、showpriceband テーブルを接続テーブルのようにします。

于 2013-11-12T11:00:09.470 に答える
2

あなたのアプローチは正しいと思います。あなたが持っている

  • さまざまなチケットの種類
  • 別のショー

そしてそれらの関係は n:n です。an:n 関係を解決するための正しい解決策は、すべての組み合わせを登録する別のテーブル (この場合は ShowPriceBand) です。

于 2013-11-12T10:45:20.533 に答える
2

Showとの関係PriceBandは多対多であるため、この関係を定義するために中間テーブルを定義するのが標準的な方法です。あなたの場合、リンク列(およびへの外部キー)とは別にShowPriceBandリンクの追加のプロパティを定義しました。

これは有効なアプローチであり、これらの追加フィールドの重複の可能性を減らす必要はありません。

于 2013-11-12T10:49:36.933 に答える