多值依赖示例棘手

时间:2012-12-19 17:41:13

标签: database dependencies key relationship modeling

Employé3: {noEmp, ability, country}

我有一小部分属性和以下限制:每个员工可能具有与某个国家相关的一些能力。例如,阿尔弗雷德可以烹制意大利和中国菜,也可以用法语写作。

我的问题在于我无法确定哪种DM是最佳解决方案。我试过用 noEmp,country ->> aptitude,但它让我感到困扰。它说我可以有两个具有相同(noEmp,country)的元组,但不一定具有相同的能力。好的,但是够了吗?

我想过使用noEmp->>country,ability,但似乎并没有表达能力与国家之间的关系。

当然,所有这些DM都是微不足道的,因为它抱怨所有的属性,所以也许这是一个愚蠢的问题......

另一个问题:钥匙怎么样?我可以使用DM来确定它吗?起初我认为不,因为关键必须是单一的。但在这种情况下,我将被迫使用所有属性作为键,它有点奇怪,如果我不能使用DM来确定某些东西,我怎么可能有4FN关系呢?

1 个答案:

答案 0 :(得分:1)

(ability, country)复合属性。由于缺乏更好的术语,我们称之为ethnic_ability。复合属性是复杂的域,它们被展平为多列原始数据类型。示例:(yyyy_mm_ss_date, hh_mm_daytime)(first_name,last_name)(integer_part_of_real_number,decimal)。从DM角度来看,复合属性可以被视为原子。因此,您有一个包含两列{noEmp, ethnic_ability}的表,并且依赖理论对二元谓词的说法并不多。