哪种方法更适合将数据存储在数据库中并建立一对多关系?



我有一个问题,我正在寻找在数据库中存储数据的不同方法......并且无法确定哪一种比另一种更好.例如,我们正在制作多用户博客网站,并希望存储帖子数据并将其与作者(用户(作为一对多关系相关联。

  1. 第一种方法是制作两个表格

    • 发布:

      • post_id
      • post_title
      • post_body
      • user_id
      • post_timestamp
    • 用户:

      • user_id
      • user_name
      • user_email
      • user_password
      • user_timestamp
  2. 秒的方式是做3个表

    • 发布:

      • post_id
      • post_title
      • post_body
      • post_timestamp
    • 用户:

      • user_id
      • user_name
      • user_email
      • user_password
      • user_timestamp
    • post_user:

      • post_user_id
      • user_id
      • post_id
      • user_timestamp

那么哪种方法更高效、更专业呢?

One:many -- "one"的id位于"many"表中,并已编制索引。 在您的示例中,user_id将位于表Posts中。

Many:many -- 这是一个带有 ID 对的额外表。 (示例:许多学生上许多课。 更多讨论: http://mysql.rjweb.org/doc.php/index_cookbook_mysql#many_to_many_mapping_table

最新更新