これらの私の非公式な表現は次のとおりです。
1NF : テーブルは分割されているため、項目が重複して表示されることはありません。
2NF : ?
3NF : 値は主キーによってのみ決定できます。
オンラインや私の本で見つけた抜粋からは、それを理解することはできません. 1NF と 2NF の見分け方を教えてください。
これらの私の非公式な表現は次のとおりです。
1NF : テーブルは分割されているため、項目が重複して表示されることはありません。
2NF : ?
3NF : 値は主キーによってのみ決定できます。
オンラインや私の本で見つけた抜粋からは、それを理解することはできません. 1NF と 2NF の見分け方を教えてください。
すべての非プライム属性がすべてのキーに完全に機能的に依存している場合、関係スキーマは 2NF です。
ウィキペディアは次のように述べています。
テーブルが 2NF にあるのは、テーブルが 1NF にあり、テーブルのすべての非プライム属性が候補キー全体に依存しているか、別の非プライム属性に依存している場合に限られます。
概念を説明するために、 Head First SQLから適用されたおもちゃの在庫表を使用してみましょう。
TOY_ID| STORE_ID| INVENTORY| STORE_ADDRESS
主キーは、属性 TOY_ID および STORE_ID によって構成されます。非プライム属性 INVENTORY を分析すると、TOY_ID と STORE_ID に同時に依存していることがわかります。カッコいい。
しかし一方で、非プライム属性 STORE_ADDRESS は STORE_ID 属性のみに依存します (つまり、主キー属性 TOY_ID とは関係ありません)。これは明らかに 2NF に違反しているため、2NF に文句を言うには、スキーマは次のようにする必要があります。
インベントリ テーブル:TOY_ID| STORE_ID| INVENTORY
および Store テーブル:STORE_ID| STORE_ADDRESS