关系模式是否与某些"聚合"属性是否满足Boyce-Codd普通形式(BCNF)?

时间:2018-01-08 20:36:17

标签: database-design bcnf

假设关系数据库具有employeecompany实体且workFor关系,例如

employee ssn ,first_name,last_name),其中 ssn 是关键。

company company_name ,位置),其中 company_name 是关键。

workFor ssn company_name ),其中 ssn company_name 是外键。

假设数据库很庞大,我们需要经常查询公司的员工数量。我们不是每次都请求查询,而是决定在关系模式的某处添加number_of_employ属性以供性能考虑。我的问题是,如果我们将number_of_employee添加到company(company_name, location, number_of_employee)关系中,它是否仍然满足Boyce-Codd普通形式(BCNF)?这是一个很好的设计吗?

直观地说,我认为它仍然不能满足BCNF,因为单独的company_name无法确定这个属性(而且它不再是关键)。这个"聚合"是否有任何术语? number_of_employ的属性,它不是由特定值确定,而是由整个workFor关系确定的?如果我必须在我的模式中的某处添加此属性,那将是一个很好的模式设计?

0 个答案:

没有答案