3

これらの私の非公式な表現は次のとおりです。

1NF : テーブルは分割されているため、項目が重複して表示されることはありません。

2NF : ?

3NF : 値は主キーによってのみ決定できます。

オンラインや私の本で見つけた抜粋からは、それを理解することはできません. 1NF と 2NF の見分け方を教えてください。

4

3 に答える 3

3

すべての非プライム属性がすべてのキーに完全に機能的に依存している場合、関係スキーマは 2NF です。

于 2012-04-11T20:58:08.220 に答える
2

ウィキペディアは次のように述べています。

テーブルが 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

于 2012-04-11T21:14:43.163 に答える