0

我想将此表规范化为 3NF

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

我怎么能做这个工作?

4

2 回答 2

1

把它分成三张桌子,这就是全部的魔力。

用户:

  • 身份证(PK)
  • 姓名

邮政:

  • 身份证(PK)
  • 标题
  • 文本
  • 提交时间
  • 用户 ID (FK)

评论:

  • 身份证(PK)
  • 文本
  • 用户 ID (FK)
  • 邮政编号 (FK)

关系:

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

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

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

于 2013-05-18T18:52:33.780 回答
1

假设 user_name 是一个 PK。

-------------------------------------------------- ----------
|post_id|post_title|post_text|post_submitted_time|用户名|
-------------------------------------------------- ----------
     1 foo bar 08:15 baz  

-------------------------------------------------- ----------------
|comment_id|comment_text|submitted_comment_time|user_name|post_id|
-------------------------------------------------- ----------------
     1 blabla 13:37 任何名字 1
     2 foobar 13:38 任何名字 1  
于 2013-05-18T18:53:31.227 回答