データベースの正規化について学ぼうとして、次の表に戸惑いました。
名前 日付 生物 老化 1984-07-13 人間 老化 1984-07-13 ワーム しわ 1987-08-15 人間 しわ 1987-08-15 マウス 毛深い 1990-09-30 マウス
私が使用している本は、これを 1NF のテーブルの例として示しています。しかし、Wikipedia の 1NF、2NF、および 3NF の記事を読んだ後、少し混乱しました。
私が知る限り、このテーブルには {Name,Organisms} と {Date,Organisms} の 2 つの候補キーがあります。ウィキペディアによると (リンク テキスト):
1NF テーブルは、すべての非素数属性がすべての候補キー全体に機能的に依存している場合にのみ、2NF になります。(非プライム属性とは、どの候補キーにも属さない属性です。)
「非プライム属性」のこの定義により、すべてのフィールドが2つの候補キーの少なくとも1つに属しているため、このテーブルには非プライム属性がないように思えます。非プライム属性がない場合、(このテーブルは 1NF にあるため) Wikipedia の定義により、このテーブルは 2NF にあるように見えます。
しかし、このテーブルは設計が悪く、更新エラーが発生しやすいことを認識しているため、どこかでロジックを間違えているに違いないと思います。 この表がどの正規形であるか、および/または私の推論がどこに誤りがあるかを誰かが説明できれば、大いに感謝します.