0

私は Web サイトのようなソーシャル プラットフォームに取り組んでいます。この状況のテーブル構造がどうあるべきかわかりません。

ユーザーが作成する旅行があります。また、ユーザーは一緒に旅行した旅行にユーザーを追加できます。

そう;

>One Trip
  >Many users

2 つの列だけで を作成する必要があります。

>tripID
>userID

同じ旅行の新しいユーザーごとに新しい行を追加しますか?

それとも他に意見はありますか?

アドバイスをありがとう。

4

2 に答える 2

2

ここにはいくつかの異なる関係があります。

  • 旅には作り手がいる
  • 旅行には、旅行に行く多くのユーザーがいます
  • ユーザーは多くの旅行に出かけます

これは、旅行を作成するための旅行のユーザーと旅行の一対多を意味します (ユーザーは多くの旅行を作成でき、旅行の作成者は 1 人です)。

ユーザーは多くの旅行に行くことができ、旅行には多くのユーザーがいる可能性があるため、多対多もあるため、そのための結合テーブルが必要です。

結合テーブルには trip_users という名前を付けます。これは、2 つの結合されたエンティティをアルファベット順に並べたものであり、一部の地域では標準になっているためです。

旅行

  • ID
  • Creator_id (旅行を作成したユーザーを参照)

ユーザー

  • ID

trip_users

  • ユーザーID
  • trip_id
于 2012-05-19T20:35:05.997 に答える
1

ここには 3 つの異なるオブジェクトがあります。ユーザーは多くの旅行に参加できます 旅行には多くのユーザーが参加できます。定義上、これは多対多の関係です。ほとんどの RDBMS では、連想テーブルを使用して解決する必要があります。(これは 3 番目のオブジェクトです)

表: ユーザー

  • ユーザーID
  • ユーザー情報...

表: 旅行

  • トリップID
  • トリップ情報...

表: userTrips

  • ユーザーID
  • トリップID
  • userTripInfo...
于 2012-05-19T20:32:22.490 に答える