私は Web サイトのようなソーシャル プラットフォームに取り組んでいます。この状況のテーブル構造がどうあるべきかわかりません。
ユーザーが作成する旅行があります。また、ユーザーは一緒に旅行した旅行にユーザーを追加できます。
そう;
>One Trip >Many users
2 つの列だけで を作成する必要があります。
>tripID >userID
同じ旅行の新しいユーザーごとに新しい行を追加しますか?
それとも他に意見はありますか?
アドバイスをありがとう。
ここにはいくつかの異なる関係があります。
これは、旅行を作成するための旅行のユーザーと旅行の一対多を意味します (ユーザーは多くの旅行を作成でき、旅行の作成者は 1 人です)。
ユーザーは多くの旅行に行くことができ、旅行には多くのユーザーがいる可能性があるため、多対多もあるため、そのための結合テーブルが必要です。
結合テーブルには trip_users という名前を付けます。これは、2 つの結合されたエンティティをアルファベット順に並べたものであり、一部の地域では標準になっているためです。
ここには 3 つの異なるオブジェクトがあります。ユーザーは多くの旅行に参加できます 旅行には多くのユーザーが参加できます。定義上、これは多対多の関係です。ほとんどの RDBMS では、連想テーブルを使用して解決する必要があります。(これは 3 番目のオブジェクトです)