识别功能依赖性

时间:2014-11-18 17:45:18

标签: database database-design functional-dependencies diagrams

我一直在阅读数据库设计,我在从表格构建功能依赖关系图时遇到了一些困难。

我有下表。 每个销售人员都由销售人员的编号标识,他们的销售活动是 在表格中记录每个月。

http://i.stack.imgur.com/2NXru.png

我做了以下假设:

  • 每位销售员都有一个独特的销售员编号
  • 每个客户都有一个唯一的客户编号
  • 每个产品都有唯一的产品编号和描述
  • 每位客户都有独特的销售人员与他们打交道。

我提出了以下功能依赖关系图:

http://i.stack.imgur.com/XFndy.png

我的问题是:

  • 首先是创建fd图的正确方法吗?
  • 这是基于假设的正确吗?

1 个答案:

答案 0 :(得分:0)

功能依赖性通常不以图表形式表示。相反,他们通常表达如下。 。

A->B
B->CD

或者像这样。

"Salesperson number" -> "Salesperson name"
"Client number" -> "Client name"

如果你的图表意味着"产品编号" - > "销售数量",那么你的图表是错误的。此外,客户编号不确定产品编号。


功能依赖性回答问题,"给定A的一个值,我可以确定B的唯一一个值吗?",其中A和B是属性集。让我们看一个简单的例子。

给定"产品编号"的一个值,我们可以确定"产品说明"中的一个且仅一个值是。鉴于产品编号P1023-01,我们只能确定"产品描述":" A4纸"的一个值。产品编号P1023-01绝不匹配任何产品名称,但" A4纸"。

给定"产品编号"的一个值,我们可以确定"销售数量的一个且仅一个值"?不会。鉴于产品编号P1023-01,我们可以为"销售数量":6和10确定两个不同的值。依赖"产品编号" - > "销售数量"并没有坚持这种关系。