我有一个问题,我正在寻找在数据库中存储数据的不同方法......并且无法确定哪一种比另一种更好.例如,我们正在制作多用户博客网站,并希望存储帖子数据并将其与作者(用户(作为一对多关系相关联。
-
第一种方法是制作两个表格
-
发布:
- post_id
- post_title
- post_body
- user_id
- post_timestamp
-
用户:
- user_id
- user_name
- user_email
- user_password
- user_timestamp
-
-
秒的方式是做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