这种情况的表格结构应该是什么

时间:2012-05-19 20:27:51

标签: sql database

我正在开发像网站这样的社交平台。我不确定这种情况的表结构应该是什么;

我将有用户将创建的旅行。并且用户可以将用户添加到他们旅行的旅行中。

因此;

>One Trip
  >Many users

我应该创建只有两列;

>tripID
>userID

为同一次旅行的每个新用户添加新行?

或者您还有其他意见吗?

感谢您的任何建议。

2 个答案:

答案 0 :(得分:2)

这里有几种不同的关系:

  • 旅程有创作者
  • 一次旅行有很多用户去旅行
  • 用户进行多次旅行

这意味着用户创建旅程的一对多(用户可以创建多次旅行,旅行有一个创建者)。

你也有多对多,因为用户可以去多次旅行,旅行可以有很多用户,所以你需要一个连接表。

我会将连接表命名为trip_users,因为这是按字母顺序排列的两个实体,这在某些地方是标准:

  • ID
  • creator_id(指创建旅程的用户)

用户

  • ID

trip_users

  • USER_ID
  • trip_id

答案 1 :(得分:1)

这里有三个不同的对象。 用户可以多次旅行 旅行可以有很多用户。根据定义,这是一种多对多的关系。对于大多数RDBMS,它需要通过关联表来解析。 (这是第三个对象)

表:用户

  • 用户ID
  • USERINFO ...

表:旅行

  • TRIPID
  • TripInfo ...

表:userTrips

  • userID
  • TripID
  • userTripInfo ...