我需要帮助分解与BCNF的关系

时间:2013-02-06 23:38:45

标签: database-design relational-database

我有一个具有以下功能依赖关系的表;

  • PropertyID→地址,价格
  • AgentName→AgentPhone
  • 价格→SalesTax
  • 客户名称→CustomerPhone
  • AgentName,Price→Commission

我将它分解为以下内容。

  1. 财产( PropertyID ,地址,价格)
  2. 代理( AgentName ,AgentPhone)
  3. 客户(客户名称,CustomerPhone)
  4. 价格(价格* AgentName * ,PropertyID *,SalesTax,Commision)
  5. 对我来说似乎仍然有点笨拙,但我看不出我怎么能进一步分解它。

1 个答案:

答案 0 :(得分:1)

分解中的第1,2和3项是正确的。你好像失去了FD“Price-> SalesTax”。并且项目4不在2NF中,因为部分键依赖性“Price-> SalesTax”。

  • { PropertyID ,地址,价格}
  • { AgentName ,AgentPhone}
  • {客户名称,CustomerPhone}
  • {价格,SalesTax}
  • { AgentName,价格,佣金}

所有这些都至少5NF。正确的分解与您开始时的功能依赖性相同。这种情况不会经常发生。