1

我有以下关系。一家公司有多名员工。每个员工都由其员工编号定义,ENr并且他住在一个EAddress带有 ZipCode的地址上ZZipCode。带有 ZipCode 的 City 是一个自己的表,因为否则表 Employee 中存在冗余。因此ZZipCode是 Employee 中的外键。

一个 Group 由它定义GGroupId,因此它是主键。每个组有一个组长,可以是任何员工。因此ENr是外键。

每个员工都可以在一个或多个组中工作。出于这个原因,该表GroupMember存在于元组ENrGGroupID定义主键并且两者都是外键的位置(我不能同时使用粗体和斜体)。

最后,产品由其产品 id 定义PId并关联到一个组GGroupID

那么这里是该书面描述的关系。

Employe( ENr , EName, EGender, EAddress, ZZipCode , ESocNr, ESalery)
Group( GGroupId , GName, GCostNr, ENr ) GroupMember
( ENr , GGroupID ) #both 成员也是外键!
产品(PId,PName,PPrice,GGRoupId
邮编(ZZipCode,ZCityName,SStateID
状态(SStateID,SStateName)

为了澄清:粗体成员是主键,斜体成员是外键。

我试图将这种关系放入3NF. 任何人都可以确认这是正确的吗?

4

1 回答 1

1

这似乎很好并且正常化。我没有看到表格的任何进一步划分。

于 2012-05-25T13:20:06.450 回答