用户配置文件的数据库设计

时间:2012-10-22 17:40:43

标签: mysql sql database database-design

用户可以创建两种配置文件类型之一,例如自由职业者和公司。此配置文件类型有几个常见字段和几个唯一字段。公司可能有许多用户作为工人。

更清楚:用户HAS_ONE个人资料(自由职业者或公司);公司HAS_MANY用户;

有关此情况的最佳数据库设计的任何建议吗?

2 个答案:

答案 0 :(得分:2)

一个数据库表,其中包含配置文件类型ProfileTypeID值的外键,可能包括但不限于以下内容:

  • 自由职业者
  • 公司

这一个字段将帮助您确定与用户关联的其他属性。其余的都是简单的UI。

答案 1 :(得分:0)

这是继承。当你面对这种情况时,你有3个选择。

第一个选项是公司和自由职业者的一个大表,有一个typeid表来知道它是公司还是自由职业者,但在你的情况下,你最终会得到很多nulls

第二个选项是公司和自由职业者的2个独立表以及用户表中的公共属性。然后,您必须在用户表中添加typeId以了解它是公司还是自由职业者

第三个选项是为用户,自由职业者和公司制作一个大表,但这将是最多空的选项。

您的案例中最好的选项是第二个选项,因为您有几个常见字段和几个唯一字段。