我正在建立一个留言板,但我对数据库设计有疑问。添加新消息后,如果是新消息,则会创建主题。问题是,我应该在主题表中保留主题的创建日期和创建者,还是应该使用sql从消息表中获取?
选项 a - 数据库:
- 用户:id,用户名
- 主题:id、主题、create_date、creator_id(用户)
- 消息:id、subject_id、create_date、creator_id(用户)
选项 b - 数据库:
- 用户:id,用户名
- 主题:id,主题
- 消息:id、subject_id、create_date、creator_id(用户)
第二个在设计上似乎更好,没有更多的重复数据。但在第一个选项中,会有更轻的 sql 查询..
哪一个更好?