我正在设计一个用户表。在我的项目中,用户可以Legal
或Real
。
如果用户Legal
有一些属性并且应该填写如下:Company name , Company Phone
...
设计它,我有两个解决方案:
方式1:将所有字段放在用户表中,如下所示:
方式2:创建另一个类似UserLegal
的表,并在此表与User
表之间创建一个关系(一对一)。
答案 0 :(得分:1)
真实用户和法定用户是用户的子类(或者,如果您愿意,也可以是子类型)。 在关系模型中建模子类,并在SQL表中实现模型通常会让数据库新手感到困惑。
请查看以下标记:class-table-inheritance single-table-inheritance
在这些标签下分组的问题和答案将向您展示其他一些示例。信息选项卡将为您提供两种设计的概述。这几乎可以证实你的开始,但那里有更多的材料。