3NF中的数据库关系?

时间:2012-05-24 17:02:34

标签: database relational-database normalization 3nf

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

组由其GGroupId定义,因此这是主键。每个小组都有一个小组负责人,可以是任何雇员。因此ENr是外键。

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

最后,产品由其产品ID PId定义,并与群组GGroupID相关联。

这里是书面描述的关系。

  

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

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

我试图把这种关系放到3NF。谁能证实这是对的?

1 个答案:

答案 0 :(得分:1)

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