我有以下关系。一家公司有几名员工。每位员工都由其员工编号ENr
定义,并且他住在地址EAddress
,其中包含ZipCode ZZipCode
。具有ZipCode的City是一个自己的表,否则表Employee中存在冗余。因此ZZipCode
是Employee中的外键。
组由其GGroupId
定义,因此这是主键。每个小组都有一个小组负责人,可以是任何雇员。因此ENr
是外键。
每位员工都可以在一个或多个小组上工作。出于这个原因,表GroupMember
存在于元组ENr
和GGroupID
定义主键并且两者都是外键的位置(我不能同时使用粗体和斜体)。
最后,产品由其产品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
。谁能证实这是对的?
答案 0 :(得分:1)
这似乎很好并且正常化了。我没有看到任何进一步划分的表格。