1NF、2NF、3NF、BCNFデータベースパラダイムの詳細な説明

 

序文

データベースパラダイムは、公共機関でのコンピュータスキルの試験で頻繁に検討されるポイントです。

このタイプの質問は、多くの場合、多肢選択式の質問の形式で表示されます。

データベースパラダイムの関連知識を習得することが重要です。

-------------------------------------------------- -----------

 

////////////////////////////////////////////////// ///////////////////////////

データベースのパラダイムを解釈する前に、まずいくつかの基本的な知識を理解する必要があります。

 

機能の依存関係機能の依存関係の簡単なポイントは、属性セットが別の属性セットを決定するとき、別の属性セットがその属性セットに依存すると言われていることです。

R(U)を属性セットUの関係モードとし、XとYをUのサブセットとします。XとY
の関係が1の場合(学校と校長の間など): 1の関係では、X→YおよびY→Xの関数依存があります。
XとYの間に1:nの関係(1対多の関係)がある場合、年齢と名前の間に1:nの関係がある場合、機能的な依存関係Y→Xがあります。
学生とコースの間にm:nの関係など、XとYの間にm:nの関係(多対多の関係)がある場合、XとYの間に機能的な依存関係はありません。

 

完全な機能依存関係:関係において、非プライマリ属性データ項目がすべてのキーワードに依存している場合、それは完全な機能依存関係と呼ばれます。
例:成績表(学生番号、コース番号、成績)の関係では、
完全な機能依存:(学生番号、コース番号)→成績、学生番号-\→成績、コース番号-\→成績、したがって(学生番号、コースいいえ)→スコアは完全に機能的に依存しています

 

候補コード/候補キー:関係の特定の属性グループの値がタプルを一意に識別でき、そのサブセットが識別できない場合、属性グループは候補コード/候補キーと呼ばれます。
メインコード:複数の関係がある場合候補コード。そのうちの1つがメインコードとして選択されます。
メイン属性&&非メイン属性:候補コードのすべての属性はメイン属性と呼ばれ、候補コードに含まれない属性は非メイン属性と呼ばれます。

 

////////////////////////////////////////////////// ///////////////////////////

 

1NF
       
が最小要件を満たしていることを、第1正規形と呼びます。
人と言えば、最初の正規形(1NF)は、データベーステーブルの各列が分割できない基本データアイテムであり、同じ列に複数の値を含めることはできないことを意味します。つまり、エンティティの属性に複数の値を含めることはできません。属性が重複しています。

 

2NF
     
Rが最初の正規形に属し、各非プライマリ属性完全関数が候補コードに依存する場合、Rは2NFに属します

人を話す:第2正規形(2NF)は、第1正規形(1NF)に基づいて確立されます。つまり、第2正規形(2NF)を満たすには、最初に第1正規形(1NF)を満たす必要があります。

第2正規形(2NF)では、データベーステーブルの各インスタンスまたは行を一意に区別できる必要があります。
第2正規形(2NF)では、エンティティの属性が主キーに完全に依存している必要があります。いわゆる完全依存とは、主キーの一部のみに依存する属性が存在できないことを意味します。存在する場合、この属性と主キーのこの部分を分離して、新しいエンティティを形成する必要があります。新しいエンティティと元のエンティティの間には1対多の関係があります関係。


3NF
   
Rの各非プライマリ属性がコード依存性を通過せず、コードに部分的に依存しない場合、Rは第3正規形に属し、
話します。第3正規形(3NF)では、データベーステーブルに表にすでに含まれている非主キー情報。

たとえば、部門情報テーブルがあり、各部門には部門番号(dept_id)、部門名、部門プロファイルなどの情報があります。その後、部門番号が従業員情報テーブルにリストされると、部門名、部門プロファイルなどの部門関連情報を従業員情報テーブルに追加できなくなります。部門情報テーブルがない場合は、第3正規形(3NF)に従って作成する必要があります。それ以外の場合は、データの冗長性が多くなります。つまり、第3正規形は、属性が他の非プライマリ属性に依存しないことです。  

 

BCNFの
すべての非主要属性は、各候補コードに完全に機能的に依存しています。
すべての主要属性、それを含まない各候補コードに完全に機能的に依存しています。
属性は、非候補コードの一連の属性に完全に依存していません。

例1:関係モデルSTJ(S、T、J)では、Sは生徒を表し、Tは教師を表し、Jはコースを表します。各教師が教えるコースは1つだけです。各コースには複数の教師がおり、特定の教師が固定教師に対応するコースを選択します。次の機能依存関係は、セマンティクスから取得できます:
(S、J)-> T;(S、T)-> J; T->J。
(S、J)、(S、T)はすべて候補キーです。
キー転送または部分的な依存関係に依存する非プライマリ属性がないため、STJは3NFです。しかし、STは決定因子であり、Tはスーパーボンドではないため、STJはBCNFの関係ではありません。
例2:倉庫管理関係テーブルがStorehouseManage(倉庫ID、保管品目ID、管理者ID、数量)であり、管理者が1つの倉庫のみで作業していると想定します。倉庫は複数の品目を保管できます。このデータベーステーブルには、次の決定関係が存在します:(
倉庫ID、保管アイテムID)→(管理者ID、数量)(管理者ID、保管アイテムID)→(倉庫ID、数量)
したがって、(倉庫ID、保管アイテムID) )および(管理者ID、ストレージアイテムID)はStorehouseManageの候補キーワードです。表の唯一の非キーフィールドは数量で、これは第3正規形に従います。ただし、
(倉庫ID)→(管理者ID)(管理者ID)→(倉庫ID)
という決定関係があるため、キーフィールドによってキーフィールドが決まる場合があり、BCNFパラダイムに準拠していません。

 

プログラマーである996にうんざりしていて、公共機関でテストを受けたいが、どこから始めればよいのかわからない場合、テストの準備情報が見つからないので、私に相談するよう依頼するだけで、私は何年も海岸に行ってきました。 、いくつかの筆記とインタビューの経験があります。

↓↓↓↓↓↓My WeChat↓↓↓↓↓↓

 

おすすめ

転載: www.cnblogs.com/kingsgao/p/12721422.html