Database design 从最小覆盖得到3NF

Database design 从最小覆盖得到3NF,database-design,relational-database,database-schema,database-normalization,3nf,Database Design,Relational Database,Database Schema,Database Normalization,3nf,模式属性:A、B、C、D、E、F、G 模式的候选键是A、CF、BFG 现在我有了以下最低限度的封面: BG->C,ABG->D CF->A A->C A->G AD->F AD->E AC->B 如何从最小覆盖得到3NF分解 有人说只要把FDs和同一个左手边结合起来就行了,但这似乎并不完全正确 实现这一点的标准流程是什么?任何R关系模式*都可以以3NF形式分解为多个关系,只要给定对R的任何依赖集 如果您有以下G最小保险: G = { X1 -> A1, X2 -> A2, ...,

模式属性:A、B、C、D、E、F、G

模式的候选键是A、CF、BFG

现在我有了以下最低限度的封面:

BG->C,ABG->D CF->A A->C A->G AD->F AD->E AC->B

如何从最小覆盖得到3NF分解

有人说只要把FDs和同一个左手边结合起来就行了,但这似乎并不完全正确


实现这一点的标准流程是什么?

任何
R
关系模式*都可以以3NF形式分解为多个关系,只要给定对
R
的任何依赖集

如果您有以下
G
最小保险:

G = { X1 -> A1, X2 -> A2, ..., Xn ->An}
正确的3NF、无损失、保留依赖关系的分解可以如下所示:

r={X1A1,X2A2,…,XnAn}U{K}
其中
K
r
关系的键

r
分解保留原始依赖项,因为投影到分解部分上的每个依赖项都从
G
集中的原始依赖项集中提供一个

r
分解也会产生3NF关系

一,
K
仅用于无损分解。如果只需要保留依赖项,则不必添加它

二,;在构建
r
分解过程中,r的某些
Ri
部分可能包含原始
r
关系的键。这次您不必添加带键的plus模式,因为键已经包含在分解中

*:必须至少为1NF表单,因此属性为原子属性

模式和依赖项集示例

依赖项集:

BG->C, ABG->D, CF->A, A->C, A->G, AD->F, AD->E, AC->B
候选密钥集:

A, CF, BFG
无损、保留依赖关系的3NF分解:

BGC, ABGD, CFA, AC, AG, ADF, ADE, ACB

正如您所见,分解中已经包含一个键,因此您不必添加该键。

但是,BFG不在分解中。我们必须将BFG添加到分解中吗?只要分解中存在一个候选键,我们就不必添加候选键?”有人说“不构成“显示任何研究成果”——请参见投票箭头鼠标悬停文本。现在你只是要求我们用定制的教程重写一本教科书&做你的(家庭)工作&你没有表现出任何研究或其他努力。大量的需求不是关于主题问题的。按照你的课本展示你的工作步骤,并说明你的第一个困境。