2

同僚は、Nullable外部キーは初期の正規形の1つに違反しているため、データベース設計では悪い習慣と見なされていると説明しました。私は学校で基本的なデータベースのクラスを受講しましたが、通常の形式がトピックとして議論されたとは思いません。このトピックについて説明しているウィキペディアやその他のWebサイトでは学期が使用されていますが、クラス全体を受講しなくても、正規形のこの側面をよりよく理解したいと思います。

null許容型の外部キーが悪いと誰もが感じているわけではないことを認識しています。この質問は、その問題についての議論を開くものではありません。代わりに、それらが正規形のトピックにどのように関連しているかを具体的に理解したいと思います。null許容外部キーが違反している正規形とその理由を教えてください。

4

1 に答える 1

3

Erwin Smoutは、あなたがリンクした Q/A でその質問に答えていると思います。

日付はこれを第 7 版に書きました。データベース システムの概要の

第 1 正規形: relvar が 1NF にあるのは、その relvar のすべての正当な値において、すべてのタプルが各属性に対して正確に 1 つの値を含んでいる場合に限られます。(p357)

また、

NULL についての重要な点は、NULL が値ではないということです。繰り返しますが、NULL はマークまたはフラグです。(p584)

したがって、Date の意見では、任意の列で null を許可する relvar は 1NF にはありません。

彼の章「Missing information」には、このトピックについて多くのことが書かれています。

于 2012-08-22T00:45:38.837 に答える