3 つのテーブルを含むデータベースを作成しました。
Restaurant
restaurant_id (autoincrement, PK)
Owner
owner_id (autoincrement, PK)
restaurant_id (FK to Restaurant)
Deal
deal_id (autoincrement)
owner_id (FK to Owner)
restaurant_id (FK to Restaurant)
(PK: deal_id, owner_id, restaurant_id)
各レストランには多くのオーナーがいる場合があります。オーナーまたはレストランのいずれかが取引を参照できるように、Deal に 2 つの外部キーを選択しました。deal テーブルには 3 つの主キーがあり、そのうちの 2 つは外部キーです。そして、それを指す 2 つの 1 対多の関係があります。私の外部キーはすべて主キーであり、後でこのようにして後悔するかどうかはわかりません。このデザインは理にかなっており、私が達成しようとしていることに適しているように見えますか?
編集: ここで本当に必要なのは、オーナーがログインして自分のアカウントを表示しているときに、その特定のレストランに関連付けられているすべての取引を表示および編集できるようにすることです。また、レストランごとに複数のオーナーが存在する可能性があるため、次のようなクエリを実行できる必要があります。select *from deal where restaurant_id = restaurant_id. つまり、私が所有者であり、ログインしている場合、クエリを実行できる必要があります。つまり、所有者である私だけでなく、関連するすべての所有者に関連するすべての取引を取得する必要があります。このレストラン。