1

Employé3: {noEmp, ability, country}

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

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

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

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

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

4

1 回答 1

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},依赖理论对二元谓词的描述并不多。

于 2012-12-19T20:25:57.333 回答