首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >第三范式混淆

第三范式混淆
EN

Stack Overflow用户
提问于 2015-12-29 16:03:09
回答 1查看 34关注 0票数 1

所以我把这张桌子正常化了。我开始意识到存在着暂时性的依赖。因为学院的名称和城市取决于学院的代码。因此,我必须创建新的表,并将这些列移到那里。但问题是,不同机构的机构代码重复。那么是否有必要为这个新创建的平板电脑创建我自己的唯一ID呢?或者我可以只带外键去吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-29 17:15:40

传递依赖是形式A→B→C的依赖关系,其中A是键,B是非键属性。我认为您所指的传递依赖关系是Countt instituteCode→instituteName。

但是,您可以说“机构代码重复用于不同的机构”,这似乎表明instituteCode和instituteName之间不存在依赖关系。相依性要求行列式的任意给定值(左侧)的依赖(右侧)属性正好有一个可能的值。想必,如果同一instituteCode可以用于不同的机构,那么这些不同的机构可能有不同的名称?如果是这样的话,则传递的依赖项Countt instituteCode instituteName→instituteName将不保持,并且在相同的表中使用这些属性不会违反3NF。这只是我的假设;您需要自己找出实际应用的依赖项。

如果Countt→instituteCode→instituteName确实有效,那么您可以为instituteCode和instututeName创建一个新的关系,其中instituteCode是主键(因为instituteCode→instituteName)。

是否需要为这个新创建的表创建我自己的唯一ID?

不是的。规范化从不要求创建新的属性。

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

https://stackoverflow.com/questions/34514642

复制
相关文章

相似问题

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