3つのパラダイム
3つのパラダイム:Atomicity(細分化されていない)/一意の主キー(すべてのデータは主キーに依存します)/各列フィールドは、間接的な関係ではなく、主キーと直接的な関係を持っている必要があります
1.第一正規形(1NF)
データベーステーブルの各列は、分割できないアトミックデータアイテムである必要があります。
例えば:
上記の表では、「家族情報」列と「学校情報」列のどちらも原子性の要件を満たしていないため、最初の正規形を満たしていません。調整は次のとおりです。
調整後の各列は分割できないため、第一正規形(1NF)を満たしていることがわかります。
2.第2正規形(2NF)
1NFに基づいて、非コード属性は候補コードに完全に依存する必要があります(1NFに基づいて、メインコードへの非プライマリ属性の部分的な機能依存性が排除されます)
2番目のパラダイムでは、データベーステーブルの各列が、主キーの特定の部分(主に結合された主キー)だけでなく、主キーに関連していることを確認する必要があります。
例えば:
上図のような状況では、同じ注文に異なる商品が含まれている可能性があるため、主キーは「注文番号」と「商品番号」の組み合わせである必要があります。
ただし、商品数量、商品割引、商品価格はすべて「注文番号」と「商品番号」に関連していることがわかりますが、注文量と注文時間は「注文番号」と「商品番号」とは関係ありません。
これは、第2正規形の要件を満たしていません。調整は次のとおりであり、2つのテーブルに分割する必要があります。
3.第3正規形(3NF)
2NFに基づいて、非プライマリ属性は他の非プライマリ属性に依存しません(2NFに基づいて推移的な依存関係を排除します)
3番目のパラダイムでは、データテーブルのデータの各列が主キーに直接関連しているが、間接的に関連していないことを確認する必要があります。
3.説明:
上記の表では、すべての属性が完全に生徒数に依存しているため、2番目のパラダイムを満たしていますが、「クラス教師の性別」と「クラス教師の年齢」は「クラス教師の名前」に直接依存しています。
主キー「学生ID」の代わりに、次の調整を行う必要があります。
このようにして、第3正規形の要件が満たされました。
ps:上記の表の校長の名前を校長の先生の番号に変更すると、より正確で実際の状況に沿ったものになる可能性がありますが、理解できる限りです。