まず、データの正規化
1、パラダイム
データストレージのパフォーマンスとポストプログラム開発のための適切なデータベース設計、重要な影響力を持っています。
標準化されたデータベースは、デザインや店舗のデータを最適化するために特定のルールを満たす必要があります確立し、これらのルールが呼ばれパラダイム。
異なる仕様に準拠するリレーショナルデータベースを設定する場合、非正規パラダイムを提示し、異なる仕様の異なるパラダイムと呼ばれる合理的なリレーショナルデータベースの設計、より高い小さな冗長データベースパラダイム。
2、3つの主要なパラダイム
- ケープコッドパラダイム(BCNF)、第四正規形(4NF)及び第五パラダイム(第1正規形(1NF)、第2正規形(1NF)、第3正規形(3NF)、バース:現在6つのリレーショナルデータベースのパラダイムがありますまた、完璧なパラダイムとして知られている5NF、)。
パラダイムの最小要件を満たして最初のパラダイム(1NF)です。最初のパラダイムに基づいて複数のさらなる満足規制要件は、第二のパラダイム(2NF)など残りのパラダイムと呼びます。一般に、データベースの値は、ライン上の第3正規形(3NF)する必要があります。
第二、第1正規形(1NF)
1、の概念
各データベーステーブル列が不可分の原子データ項目であり、アレイのようなデータ項目の非アトミック設定されません。
これは、複数の値のリストは、別の列に分割されなければならないとき、です。
Wordで:最初のパラダイムは、もはや原子と呼ばれる各列を、分割していません。
図2に示すように、ケース
学生ID | フルネーム | クラス |
1 | ジョー・スミス | 年3回 |
2 | ジョン・ドウ | 2年目 |
3 | 王呉 | 二年3つのシフト |
第三に、第二のパラダイム(2NF)
1、の概念
、最初のパラダイムを満たす前提フィールドごとのテーブルには主キーに完全に依存しています。(非コードは、従属関数コードの主要な部分を除去するために、すなわち、非プライマリ性コードの特性に完全に依存しなければなりません)
手段の存在に完全に依存し、いわゆるは、主キー列の一部のみに依存することはできません。要するに、第二は、主キー列に完全に依存してすべての列の最初のパラダイムパラダイムに基づいています。
化合物の存在は、主キーの主キー列を複数含む場合、ケースは、第二のパラダイムが発生する満たしていません。
たとえば:2つの列を持つテーブルの主キーは、数学的にはありませんがあり、それは列のいずれかにのみ依存している、この時間は、第二のパラダイムを満たしていません。
2、一般的な概念
① 機能従属関係:A - > Bの値は、プロパティ値、プロパティBを一意に決定することができる(属性グループ)場合。呼ばれるBは、Aに依存しています たとえば、次のように学生ID - >名前
② 完全に機能的な依存関係:A - Aは、グループ属性であるかどうかを決定> B、属性値Bは、すべての属性の属性の集合値に依存する必要があります。例えば:(学生番号、コース名) - >スコア
③ その機能的依存:A - Aは、グループ属性である場合> Bは、Bの属性値は、Aを設定することができる属性のいくつかの値にのみ依存して決定されます。例えば:(学生番号、コース名) - >名前
④ 依存伝達関数: - > B、B、A - > C 属性の場合(グループ属性)は、Bは、一意のプロパティの値を決定する値、値は、属性B(属性グループ)のみCによって決定することができます伝達関数と呼ばれるプロパティの値は、C Aに依存します たとえば、次のように学生ID - >部署名、部署名- >部門。
⑤ コード:テーブル、属性またはグループで、他のすべての属性に完全に依存している場合、テーブルのと呼ばれるコードの属性(グループ)。
-
-
- 主なプロパティ:すべての属性の属性のコードセット
- 非ライブプロパティ:プロパティコードは添加して属性グループ
- 主なプロパティ:すべての属性の属性のコードセット
-
3つの機能
①テーブルは一つだけを記述します
②テーブルの各列は、主キーに完全に依存しています
図4に示すように、ケース
①図書館カードテーブル
学生証 | 学生ID名 | 学生カードの処理時間 | 図書館カード番号 | 図書館カード名 | 図書館カードの処理時間 |
②二つのテーブルに分かれて
学生証 | 学生ID名 | 学生カードの処理時間 |
図書館カード番号 | 図書館カード名 | 図書館カードの処理時間 |
第四に、第3正規形(3NF)
1、の概念
第二のパラダイムを満たす前提の下で、テーブルの各列があり、直接、主キーに依存して、主キーに依存して、他の列を介してではなく、間接的(2NFは、送信に基づいて依存性を排除します)。
简而言之,第三范式就是所有列不依赖于其它非主键列,就是在满足第二范式的基础上,任何非主列不得传递依赖于主键。
所谓传递依赖,指的是如果存在“A—>B—>C”的决定关系,则 C 传递依赖于 A。因为,满足第三范式的数据库表不应该存在依赖关系。
2、案例
学生信息表
学号 | 姓名 | 年龄 | 所在学院 | 学院地点 |
存在传递的决定关系:
学号 —> 所在学院 —> 学院地点
拆分为两张表
学号 | 姓名 | 年龄 | 所在学院的编号(外键) |
学院编号 | 所在学院 | 学院地点 |
五、三大范式小结
范式 | 特点 |
1NF | 原子性:表中每列不可再拆分。 |
2NF | 不产生局部依赖,一张表只描述一件事情 |
3NF | 不产生传递依赖,表中每一列都直接依赖于主键。而不是通过其它列间接依赖于主键。 |