用户表,评级表和位置表之间的关系是什么?

时间:2017-10-21 15:04:22

标签: java android sqlite database-design android-sqlite

我正在制作一个小型Android应用程序,该应用程序允许用户创建帐户,查看和评价显示的地点,并保存要在以后查看的地点(这就是为什么我让他们创建帐户)。我正在使用SQLite数据库,并想知道我的User表和Location / Place表之间的关系。我最初的想法是与作为交叉表的评级表的多对多关系。例如,评级表将存储用户的ID和地点,但也有自己的评级ID。

2 个答案:

答案 0 :(得分:0)

以下是我认为应该是您的数据库设计的ER表示:

ER diagram

我还向UserRating添加了一些额外信息,以使ER图表更加真实......

根据这种设计,您的表格应该是:

  • 用户 id 名称年龄) - >的 ID
  • 地点 id ) - >的 ID
  • 评分 User_id Place_id 评分时间日期) - > 密钥 User_id Place_id
  • 保存 User_id Place_id 评分时间日期) - > 密钥 User_id Place_id
  • 注意 :由于Rating是一个弱实体(它依赖于用户和地点),我们可以从Rates关系中提取它因为在没有RatingUser的情况下没有Place

希望你觉得它有用。

答案 1 :(得分:0)

表格应该像
User-> Id,Name,Username,Password
Ratings-> Id,User_id,Location_id,Rating
Location->Id,Name
SavedLocations->Id,User_id,Location_id