2

我已经创建了数十个用户登录系统,并且总是在表的末尾添加选项、标志、设置等,所以它非常大......

  • 用户身份
  • 用户名
  • 用户姓氏
  • 用户电子邮件

这只是开始。然而,对于其他类型的表格,我使用基于元的系统,我JOIN在表格中添加了一些 id some_meta,这总是有几个好处。这样做对用户也有好处吗?所以主users表只包含 id、基本用户详细信息,然后是另一个用于偏好等的元表?这种事情的最佳做法是什么?

4

1 回答 1

1

这真的取决于你的目标是什么。如果所有用户元数据都具有相同的superkey,(user_id最有可能)我会将所有“元数据”保留在一个表中。将其分离到另一张桌子没有任何好处。

但是,如果客户的元数据要求可以变化和扩展/收缩,那么拥有三个表可能是有益的:一张用于用户,一张用于元数据列,一张用于用户的元数据:

(user_id, user_email)
(meta_id, meta_column_name)
(user_id, meta_id, user_meta_value)

这样做的好处是允许您动态添加和删除元数据值,并且它也不需要所有客户都具有所有相同的元数据列。

于 2013-02-28T15:42:00.837 回答