苦苦挣扎,看看他们之间的差异.我知道我们说2NF是"全键"而3NF"只不过是关键".
Smashery参考了这个伟大的答案:数据库设计中的1NF,2NF和3NF是什么?
用于3NF的示例与2NF完全相同 - 它是一个仅依赖于一个键属性的字段.3NF的例子与2NF的例子有何不同?
谢谢
我已经阅读了不同的教程并看到了标准化的不同例子,特别是第一范式中"重复组"的概念.从他们那里我已经认识到,重复的群体是"有点"的多值属性(例如这里和这里).
但是,在将ERM(实体关系模型)映射到RDM(关系数据模型)的过程中,我们已经通过在父表中包含外键来为每个多值属性创建单独的表?参考:这个
其次,那些"重复组"基本上是在同一行中水平排列,还是可以在同一列中反复出现相同的值,即一次又一次地出现属性的相同值,也是一个重复的组,应该被消除?
在此示例中,英语值一次又一次地重复.这是一个重复的群体吗?如果我删除它以使用Subject Name和Module_ID(外键)创建另一个表SUBJECT,这就是我得到的.当然它摆脱了重复的价值,但我不确定这是否是正确的.这样对吗?

我想在我的表中创建一个新字段(或两个),这是其他字段的串联,这似乎相对简单.但是我用什么case语法或if/when语法来帮助创建以下字段(GPA_TXT,和newfield)?
逻辑是:每个GPA应该是#.#,每个新字段应该是:
name & "-" & GPA_TXT & (
case where GPA_TXT > 3.3
set newfield = newfield & 'GradeA',
case where GPA_TXT >2.7 and GPA_TXT < 3.3
set newfield = newfield & "GradeB",
etc...
)
Run Code Online (Sandbox Code Playgroud)
例如:
name major GPA(num) GPA_TXT [newfield]
Bob sci 2 02.0 Bob-sci-GradeC-02.0
Jane chem 3.1 03.1 Jane-chem-GradeB-03.1
Charlie phys 3.7 03.7 Charlie-phys-GradeA-03.7
Garfield food 0 00.0 Garfield-food-GradeF-00.0
Run Code Online (Sandbox Code Playgroud)
所以我想我在这里有两个问题:
如果有人可以通过示例或解释将我链接到资源,我会非常感激!我正在查看文档,但没有示例,没有任何地方.
这是一个常见的面试问题.我面对一次采访,面试官给了我一张桌子,并告诉他桌子的正常形式是什么?如果它在## NF中,那么将其标准化为下一个NF?
我总是对这些正常形式的数据库感到困惑.任何人都可以向我解释这些正常形式,以及如何将每个NF建模到表格中的适当示例,以便在我的下一次采访中有所帮助吗?
我对这些的非正式表述是:
1NF:表格被划分,以便任何项目都不会出现多次。
2NF:我需要一个明确的定义
3NF:值只能由主键确定。
我无法从网上或书中找到的摘录中理解它。如何区分 1NF 和 2NF?