Database 标准化表格

Database 标准化表格,database,database-design,normalization,database-normalization,Database,Database Design,Normalization,Database Normalization,我想将这个表规范化为3NF ----------------------------------- | | | | | V V V --------------------------------------------------------------------------------------

我想将这个表规范化为3NF

              -----------------------------------
              |        |         |              |
              |        V         V              V
----------------------------------------------------------------------------------------------------------
|user_name|post_id|post_title|post_text|post_submitted_time|comment_id|comment_text|submited_comment_time|
----------------------------------------------------------------------------------------------------------
     |        |                                                  ^            ^                ^
     |        |                                                  |            |                |
     -------------------------------------------------------------------------------------------

我如何才能完成这项工作?

将它分成三张桌子,这就是全部的魔力所在

用户:

  • ID(主键)
  • 名字
职位:

  • ID(主键)
  • 头衔
  • 正文
  • 提交时间
  • 用户ID(FK)
评论:

  • ID(主键)
  • 正文
  • 用户ID(FK)
  • 职位(FK)
关系:

一篇帖子/评论总是分配给一个用户。我建议您为用户拥有自己的表,因为您可能希望将来扩展该表

一篇帖子可以有多条评论。但是一条评论只有一篇指定的帖子


您还需要添加,以确保数据保持一致。

假设用户名是PK

------------------------------------------------------------ |post_id|post_title|post_text|post_submitted_time|user_name| ------------------------------------------------------------ 1 foo bar 08:15 baz ------------------------------------------------------------------ |comment_id|comment_text|submitted_comment_time|user_name|post_id| ------------------------------------------------------------------ 1 blabla 13:37 anyname 1 2 foobar 13:38 anyname 1 ------------------------------------------------------------ |帖子id |帖子标题|帖子文本|帖子提交|时间|用户名| ------------------------------------------------------------ 1福吧08:15巴兹 ------------------------------------------------------------------ |评论|评论|文本|提交|评论|时间|用户名|帖子| id| ------------------------------------------------------------------ 布拉布拉书13:37随便哪一个名字1 2 foobar 13:38任意名称1
用户、帖子和评论之间的关系是什么?我想存储我的网站帖子以及所有关于这些帖子的评论。应该保存关于帖子的谁提交的帖子(用户名)和谁提交的评论(用户名)(帖子id)使用html标记并键入。在我看来,实际上并不需要“帖子id |评论id”表,因为这里没有多对多关系。而是像我的回答一样,将post_id放在评论表中。