レストラン チェーンのデータベースを設計する必要があります。
状況は次のとおりです。顧客は、アイテム C を購入すると、アイテム A が無料になるか、アイテム B が無料になるか (両方ではない) を取得します。
以下は、私の DB の 2 つのテーブルです。
上記の例では、新しい HappyHourMenuTransId を生成する HappyHour_Menu_Trans に項目 C のエントリを挿入します。この HappyHourMenuTransId を使用して、HappyHour_Menu_Subsequent テーブルに 2 つのエントリを挿入します。
ではオプションパーツはどうでしょうか。
両方のエントリに値「OR」を入れる列「条件」を追加することを考えることができます。この OR は、1 つのオプションしか選択できないことを示しています。
値を 'AND' にすると、両方の商品に割引が適用されることがわかります。
今のところはこの解決策で問題ありませんが、先輩は文字列の使用を避けるように求めています。チェックボックスを使用できます (それは問題ではありません!)。
トリッキーな部分はここから始まります -
割引がこのようなものであるとしましょう - アイテム A を購入すると、両方 (アイテム B + アイテム C) が無料になるか、または (アイテム D + アイテム E) だけが無料になります。
現在のシステムに従って、4 つのエントリを挿入します。しかし、テーブルから正確なロジックを知るにはどうすればよいでしょうか (どの 2 つの項目がペアになるのでしょうか?)。