Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 第2正規形 | 正規化と正規形
リレーショナルデータベースと正規化

book第2正規形

メニューを表示するにはスワイプしてください

第二正規形を理解するためには、まず複合主キーの概念に慣れることが重要です。複合主キーとは、テーブル内の2つ以上の属性を組み合わせて形成されるキーです。複合キーの目的は、複数の列の組み合わせによって各行を一意に識別することです。前のセクションでも触れたように、複合主キーを構成する属性はキー属性と呼ばれます。

Employee-Departmentテーブルを考えます。EmployeeテーブルにはEmployeeIDDepartmentIDの列があるとします。各従業員が複数の部署で働く可能性があり、各部署にも複数の従業員が所属できるため、両方の列を組み合わせた複合キーがテーブルの主キーとして機能します。

第二正規形のルール:

  • テーブルは第一正規形の条件を満たしていること;

  • すべての非キー属性(主キーに含まれない列)は、主キー全体に完全従属していること。

後者のルールを理解するためには、「完全従属」の意味を明確にすることが重要です。列が主キーに完全従属しているとは、その依存関係が主キー全体に対して成り立ち、一部のみに依存していない場合を指します。

例の場合、テーブルはEmployeeIDDepartmentIDからなる複合キーで第一正規形を満たしています。しかし、第二正規形は満たしていません。給与は従業員IDと部署IDの両方に依存していますが、部署責任者は部署IDのみに依存し、従業員の識別子には依存しません。

NameおよびSurname属性はEmployeeIDに依存しています。したがって、これらは別のテーブルに格納すべきです。このように、一部の属性は複合キーの一部のみに依存しています。

この構成は更新異常を引き起こす可能性があります。たとえば、2行目を削除すると、その部署の責任者に関する情報も失われてしまいます。なぜなら、他の行にはその特定の部署IDが存在しないからです。

正規化

それでは、正規化を進めましょう。第二正規形では:

更新されたデータベースは、どの属性も複合キーの一部だけに依存しないことを保証:テーブルは第2正規形に準拠し、初期テーブルから行が削除されても重要な情報が保持される

注意

複合キーを持たない第1正規形のテーブルは、自動的に第2正規形の要件を満たす。

question mark

第2正規形のルールは何ですか?

すべての正しい答えを選択

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  3

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 3.  3
some-alt