首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >第三范式(3NF)

第三范式(3NF)
EN

Stack Overflow用户
提问于 2021-09-29 14:45:19
回答 1查看 351关注 0票数 0

我有这两张桌子。

如果我确定他们在3NF中,这是正确的方法吗?我的答案是:

StaffDetails(StaffID,SName,道布,师号*)

Division(DivisionNo,DivName,DivSupervisorID)

StaffProject(StaffId*,ProjectNo*,SName,ProjectName,HoursAssigned)

Project(ProjectNo,ProjectName)

主键是粗体的,但星号背后的原因是什么?

EN

回答 1

Stack Overflow用户

发布于 2021-09-29 14:59:03

表主键上的一列或多列也可以是另一列的外键。

在您的例子中,似乎:

StaffProject.

  • StaffId

  • (StaffId,ProjectNo)是的PK,也是针对表StaffDetails的FK;这就是为什么它有一个针对表Project的FK也是,这就是为什么它本身有一个星号。

F 216

如果您希望您的模型是3NF,则需要删除额外的依赖项:

在本例中,StaffDetail.

  • ProjectNameDivSupervisorID是冗余的,应该从表中删除,在StaffProject中,SName也是冗余的。您必须删除它们才能使模型符合3NF.

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69378624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档