我有这两张桌子。

如果我确定他们在3NF中,这是正确的方法吗?我的答案是:
StaffDetails(StaffID,SName,道布,师号*)
Division(DivisionNo,DivName,DivSupervisorID)
StaffProject(StaffId*,ProjectNo*,SName,ProjectName,HoursAssigned)
Project(ProjectNo,ProjectName)
主键是粗体的,但星号背后的原因是什么?
发布于 2021-09-29 14:59:03
表主键上的一列或多列也可以是另一列的外键。
在您的例子中,似乎:
StaffProject.
StaffId
StaffDetails的FK;这就是为什么它有一个针对表Project的FK也是,这就是为什么它本身有一个星号。
F 216
如果您希望您的模型是3NF,则需要删除额外的依赖项:
在本例中,StaffDetail.
ProjectName和DivSupervisorID是冗余的,应该从表中删除,在StaffProject中,SName也是冗余的。您必须删除它们才能使模型符合3NF.。
https://stackoverflow.com/questions/69378624
复制相似问题