数据库表 - 要解耦还是不解耦?

时间:2012-12-31 05:29:03

标签: database

创建存储与实体(例如用户)相关的大量数据的表或存储所述数据的许多表是否更好?

例如:

用户表

  • 名称
  • 电子邮件
  • 订阅ID
  • 电子邮件通知
  • 权限

或者

用户表

  • 名称
  • 电子邮件

订阅表

  • 用户ID
  • 订阅ID

通知表

  • 用户ID
  • 接收?

...等

请考虑此处的代码,否则我会发布到ServerVault。

1 个答案:

答案 0 :(得分:0)

从关系设计的角度来看,重要的是你所瞄准的正常形式。通常,如果“列”需要多个值(subscription_id1,subscription_id2等),那么它就是一个重复组,这将指示您需要将其移动到相关表。你已经提供了非常一般的表格和栏目注释,但是从你用“复数形式”命名为“电子邮件通知”和“权限”的事实中得到了一个提示,我将假设它们需要相关的表格。