考虑一个包含表Products和Employees的数据库.对当前产品经理进行建模是一项新要求,他们是负责产品的唯一员工,并指出某些产品简单或成熟,不需要产品经理.也就是说,每个产品可以有零个或一个产品经理.
方法1:alter table Product添加新的NULLable列product_manager_employee_ID,以便没有产品经理的产品由NULL值建模.
方法2:使用非NULLable列product_ID和employee_ID创建一个新表ProductManagers,对product_ID具有唯一约束,以便没有产品管理器的产品通过此表中没有行来建模.
假设这些都是合法的设计选择(我倾向于相信)并且只代表不同的风格,他们有名字吗?我更喜欢方法2并且发现很难将风格差异传达给那些喜欢方法1而没有使用实际例子的人(正如我在这里所做的那样!)如果我能说,我会很高兴,“我更喜欢我自己倾向于6NF(或其他)风格.“
假设其中一种方法实际上是一种反模式(因为我只是怀疑方法1的情况可能是通过将两个实体之间的关系建模为这些实体之一的属性),这种反模式是否具有名称?