データベースシステムの原則---リレーショナルデータベースの設計理論

リレーショナルデータベースの設計理論

関数従属性

  注A-> Bが表す決定関数Bを、言えるB Aが関数に依存します

  {A1、A2、...、Anは場合 } 関係の1つ以上の属性の集合であり、集合関数は、他のすべての属性を判定し、最小であり、その後のセットが呼び出され、キーコード

  集合Aの適切なサブセットを見つけることができる場合A-> Bの場合、「Aである」 - > Bは、次いで、A-> Bである関数に部分的に依存して、またはある完全に依存する関数

  A-> B、B-> Cのために、次にA-> Cである伝達関数従属性

異常な

  次は当然の機能は、学生スノ、Cname-> SNAME、sdept、MNAMEとの関係に依存しています。グレードは、キーコードが{スノ、CNAME}です。これは、カリキュラムや学生を決定した後、他の情報を決定することができるようになりますされています。

スノ 脱げます Sdept ゲーム CNAME グレード
1 学生-1 学校-1 ディーン-1 コース-1 90
2 学生-2 大学-2 ディーン-2 コース-2 80
2 学生-2 大学-2 ディーン-2 コース-1 100
3 学生-3 大学-2 ディーン-2 コース-2 95

関係のパラダイムを満たしていない、それは主に次の4つの異常で、例外がたくさんあります。

  • 冗長データ:例えば、二人の学生があった-2。
  • 例外レビュー:レコード内の情報を修正するが、他のレコードには、同じ情報が変更されていない持っています。
  • 例外を削除するには、次のメッセージを削除し、それはまた、他の情報が失われます。そのようなコース-1を削除するように、第一及び第三の行を削除する必要があり、情報-1学生が失われることになります。
  • 例外を挿入します。学生は選択科目ではない持っている場合たとえば、あなたはそれを挿入することができない、情報に学生を挿入したいです。

パラダイム

異常の上記4種類を解決するためのパラダイム論。

  高レベルのパラダイムは、低レベルのパラダイムに依存している、1NFはパラダイムの最低レベルです。

1.最初のパラダイム(1NF)

  プロパティを分離することはできません

2.第二のパラダイム(2NF)

  各キーコードに完全に依存して非プライマリプロパティ

  これは、分解によって満たすことができます。

分解前

スノ 脱げます Sdept ゲーム CNAME グレード
1 学生-1 学校-1 ディーン-1 コース-1 90
2 学生-2 大学-2 ディーン-2 コース-2 80
2 学生-2 大学-2 ディーン-2 コース-1 100
3 学生-3 大学-2 ディーン-2 コース-2 95

もちろん学生上記の関係、{スノ、CNAME}キーコードは、次の関数従属。

  Sno->取り外し可能Sdept

  Sdept-> MNAME

  スノ、Cname->グレード

  キーコードに完全に依存グレード、それはデータの冗長性を持っていない、それぞれのコースは各学生が特定の結果を持っています。

  SNAME、SdeptとMNAMEは、学生がドアクラス以上に在籍する場合、これらのデータは冗長な大量のデータを引き起こし、数回表示され、キーコードに一部依存しています。

分解した後、

に関連します

スノ 脱げます Sdept ゲーム
1 学生-1 学校-1 ディーン-1
2 学生-2 大学-2 ディーン-2
3 学生-3 大学-2 ディーン-2

以下の機能の依存関係:

  Sno->取り外し可能Sdept

  Sdept-> MNAME

関係-2

スノ CNAME グレード
1 コース-1 90
2 コース-2 80
2 コース-1 100
3 コース-2 95

以下の機能の依存関係:

  スノ、Cname->グレード

3.第3正規形(3NF)

  非プライマリプロパティは、キーコードの伝達関数に依存しません

伝達関数の依存関係次の関係上記-1:

  Sno-> Sdept-> MNAME

あなたは、次の分解を行うことができます。

関係-11

スノ 脱げます Sdept
1 学生-1 学校-1
2 学生-2 大学-2
3 学生-3 大学-2

関係-12

Sdept ゲーム
学校-1 ディーン-1
大学-2 ディーン-2
4.BCNFパラダイム

  ファンクションキーコードに依存し、依存伝達関数の要部の特性を排除に基づいて3NF、

おすすめ

転載: www.cnblogs.com/yjxyy/p/11129566.html
おすすめ