如何确定功能依赖关系中违规的范式?

问题描述 投票:0回答:1

我努力找出什么FD(功能依赖性)违反了哪种范式。但是我无法确定FD是否违反了2NF,3NF,BCNF甚至没有违反。请提供任何线索。

R1 (ABCDEF)
F1= {F-> A, D -> AB, CDF -> EF, BD ->C, A -> B}
R1 : 1 NF Keys : DF

R2 (ABCDEF)
F2 = {ADF -> C, AC -> F, C -> A, E -> C, CD -> B, BF -> CD}
R2: 1 NF  Keys: EB, ED

我需要找出哪个FD违反了哪种标准格式。

For example: F->A = violates 2 NF or CDF -> EF = None or A->B = BCNF
database-design relational-database database-normalization functional-dependencies
1个回答
0
投票

NF(正常形式)是一个条件。因此,关系值或变量/模式是否违反它。

我们可以合理地说,错误条件违反了NF。如果该定义恰好用词表达,使得该条件是某些子条件的“与/与”,那么我们可以合理地说一个错误的子条件违反了NF。如果这样的条件或子条件不是持有的FD(功能相关性)是某种种类的,则可以合理地认为持有的这种FD使其条件错误并违反NF。如果这样的条件或子条件是持有的每个FD都是某种种类的,则可以合理地认为不是持有的那种FD使其条件为假并违反NF。

因此,如果要求您查找违反的FD,则引用所指的定义&查找关于某种类型FD的那种条件或联合/与子条件。持有的FD属于不允许种类或非必需种类,它们违反了NF 按该定义

((请注意,将较高的NF归一化并不一定涉及拥有没有违反原始设计的FD的组件。也许具有除一个或多个违反原始设计的FD之外的所有原始FD的组件不会当其余FD与不存在的FD一起出现时,它们会被违反。)

© www.soinside.com 2019 - 2024. All rights reserved.