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 の列があるとします。各従業員が複数の部署で働くことができ、各部署にも複数の従業員が所属できる場合、両方の列を組み合わせた複合キーがテーブルの主キーとなります。

第二正規形のルール:

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

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

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

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

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

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

正規化

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

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

Note
注意

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

question mark

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

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

すべて明確でしたか?

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

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

セクション 1.  11

AIに質問する

expand

AIに質問する

ChatGPT

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

セクション 1.  11
some-alt