












Abstract:Traditionally, it was accepted that a relational database can be normalized step-by-step, from a set of un-normalized tables to tables in $1NF$, then to $2NF$, then to $3NF$, then (possibly) to $BCNF$. In particular, the rule applied to a table in $1NF$ in order to transform it to a set of tables in $2NF$ seems to be too straightforward to pose any difficulty.
While it is a common belief to consider, theoretically, a database to be 'better' the higher it is normalized, practical usage advocates that this may not always be true -- in some cases a database performance may increase if left in a lower normal form, without sacrificing any of the advantages of a higher normal form.
It was taken for granted that a normalization process can be stopped after reaching any normal form, without proceeding to the next higher one. However, we show that, depending on the set of functional dependencies, it may be impossible to be `precisely' (in a manner to be explained in the sequel) in $2NF$. One must, in these cases, either perform the normalization from $1NF$ to $3NF$ as an indecomposable move, or settle for a normalization between $2NF$ and $3NF$.
For a clear presentation and a concise characterization of the phenomena, we model the functional dependencies as a (particular type of) directed hyper-graph -- an FD-graph. The minimal setup to exhibit the phenomena requires a single composite key, and two partially overlapping chains of transitive dependencies. This can be sketched as a specific sub-hyper-graph. Thus, an FD-graph containing that sub-hyper-graph indicates that its corresponding database cannot be precisely in $2NF$.
From: Ariel Sapir [view email]
[v1]
Tue, 29 Jun 2021 18:14:26 UTC (61 KB)
[v2]
Thu, 6 Aug 2026 18:42:47 UTC (124 KB)
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。