ホームページ > データベース > mysql チュートリアル > 4 つのデータベース パラダイムについてどれくらい知っていますか?

4 つのデータベース パラダイムについてどれくらい知っていますか?

坏嘻嘻
リリース: 2018-09-15 10:56:11
オリジナル
3364 人が閲覧しました

この記事はデータベースの 4 つのパラダイムに関するもので、困っている人は参考にしていただければ幸いです。

1. 1NF (第一正規形)

第一正規形は、データベース テーブルの各列が分割できない基本データであることを意味します。同じ列に複数の値を含めることができます。つまり、エンティティ内の属性は複数の値や重複した属性を持つことはできません。

繰り返し属性が表示される場合は、新しいエンティティを定義する必要がある場合があります。新しいエンティティは繰り返し属性で構成されます。新しいエンティティと元のエンティティの間には 1 対多の関係があります。最初の正規形パターンでは、属性値をより小さな部分に分割できないこと、つまり、属性項目を属性の組み合わせにしたり、属性のセットで構成したりすることはできません。

つまり、第 1 正規形は重複しない列です。たとえば、テーブルが「従業員番号」、「名前」、「電話番号」で構成されている場合 (人はオフィスの電話と携帯電話を持っている可能性があります)、それを 1NF に正規化すると、電話番号を「オフィスの電話」に分割できます。 「電話番号」には、従業員 (従業員番号、名前、会社の電話番号、携帯電話番号) という 2 つの属性があります。

2. 2NF (第 2 正規形)

第 2 正規形 (2NF) は、第 1 正規形 ( 1NF)、つまり、第 2 正規形 (2NF) を満たすには、まず第 1 正規形 (1NF) を満たす必要があります。第 2 正規形 (2NF) では、データベース テーブル内の各インスタンスまたは行が一意に区別できる必要があります。差別化を実現するには、通常、各インスタンスの一意の識別子を格納する列をテーブルに追加する必要があります。

リレーショナル モデル R が第 1 正規形であり、R の各非主属性が R の候補キーに完全に機能的に依存している場合、R は第 2 正規形スキーマと呼ばれます (A がリレーショナル スキーマ R それが候補キーの属性である場合、A は R の主属性であると言われ、それ以外の場合、A は R の非主属性であると言われます。

たとえば、科目選択関係表(学籍番号、科目番号、成績、単位)では、キーワードは組み合わせキーワード(学籍番号、科目番号)ですが、非主属性の単位は単位のみであるため、キーワード(学生ID、コースID)への依存は部分的であり、完全な依存ではないため、この方法ではデータの重複や更新異常などの問題が発生します。解決策は2つに分けることです。関係モデル: 学生テーブル (学生テーブル) 番号、コース番号、スコア) とコース スケジュール (コース番号、単位)、新しい関係は学生テーブルの外部キーワード コース番号を介して接続され、必要に応じて接続されます。

3. 3NF (第 3 正規形)

リレーショナル モデル R が第 2 正規形であり、各非主属性の場合は転送されません 候補キーが R に依存する場合、R は第 3 正規形であると言われます。

学生テーブル (学生番号、名前、コース番号、成績) を例にとります。重複する学生名はないため、テーブルには 2 つの候補コード (学生番号、コース番号) と (名前、コース番号)) なので、関数的な依存関係があります: 学生番号 ——> 名前、(学生番号、コース番号) ——> 学年。唯一の非主属性学年はコードに部分的に依存しません。推移的な依存関係がないため、この属性は 3 番目のパラダイムに属します。

4. BCNF (BC 正規形)

関係モデル R が次の場合に基づいて構築されます。第一正規形であり、各属性が R に依存する候補キーを渡さない場合、R は BCNF スキーマと呼ばれます。

倉庫管理関係テーブル (倉庫番号、保管品目番号、管理者番号、数量) が、管理者が 1 つの倉庫でのみ作業できることを満たしているとすると、次の関係が存在します。

(倉庫番号、保管品目番号)——>(管理者番号、数量)

##(管理者番号、保管品目番号)——>(倉庫番号、数量)

したがって、(倉庫番号、保管品目番号) と (管理者番号、保管品目番号) は、倉庫管理関係テーブルの候補コードです。テーブル内の唯一の非キー フィールドは、3 番目と一致します。パラダイム的な。ただし、次のような決定関係があるため:

(倉庫番号)——>(管理者番号)

(管理者番号)——>(倉庫番号)

つまり、キーフィールドがキーフィールドを決定する状況があり、BCNFに準拠していません。倉庫管理関係テーブルを倉庫管理テーブル(倉庫番号、管理者番号)と倉庫テーブル(倉庫番号、保管品目番号、数量)の 2 つの関係テーブルに分解し、このデータベース テーブルが BCNF に準拠し、削除例外、挿入例外を排除します。そして更新例外。

5. 4NF (第 4 正規形)

R がリレーショナル モデルで、D が複数の値の依存関係であると仮定します。 R. D に X->Y の多値依存性がある場合、X は R のスーパーキーでなければならず、その場合、R は第 4 正規形であると言われます。

たとえば、従業員テーブル (従業員番号、従業員の子の名前、従業員の選択コース) では、同じ従業員が複数の従業員の名前を持つ可能性があります。従業員向けの選択コース、つまり、ここには多値の事実があり、第 4 のパラダイムに準拠していません。第 4 正規形に準拠したい場合は、従業員テーブル 1 (従業員番号、従業員の子の名前)、従業員テーブル 2 など、多値ファクトが 1 つだけになるように、上記のテーブルを 2 つのテーブルに分割するだけで済みます。 (従業員番号、従業員選択コース) 、どちらのテーブルにも多値ファクトが 1 つだけあるため、第 4 正規形に準拠します。

1. 第一正規形 (1NF)
リレーショナル データベースでは、第一正規形 (1NF) がリレーショナル モデルの基本要件となります。第一正規形 (1NF) 1NF) データベースはリレーショナル データベースではありません。
いわゆる第一正規形 (1NF) とは、データベース テーブルの各列 (つまり、各属性) が分割不可能な基本データ項目であり、複数の値が存在できないことを意味します。同じ列、つまりエンティティ内の属性には、複数の値や重複した属性を持つことはできません。つまり、第一正規形は重複のない列です。
2. 第 2 正規形 (2NF)
第 2 正規形 (2NF) は、第 1 正規形 (1NF) に基づいて確立されます。第 2 正規形 (2NF) は、まず第 1 正規形 (1NF) を満たさなければなりません。第 2 正規形 (2NF) では、データベース テーブル内の各インスタンスまたは行が一意に区別できる必要があります。差別化を実現するには、通常、各インスタンスの一意の識別子を格納する列をテーブルに追加する必要があります。各従業員の従業員番号は一意であり、各従業員を一意に識別できるため、従業員情報テーブルに従業員番号 (emp_id) 列が追加されます。この一意の属性列は、主キー、主キー、主キーと呼ばれます。
第 2 正規形 (2NF) では、エンティティの属性が主キーに完全に依存していることが必要です。いわゆる完全な依存とは、主キーの一部にのみ依存する属性が存在することはできないことを意味します。存在する場合、この属性と主キーのこの部分を分離して、新しいエンティティを形成する必要があります。元のエンティティは 1 対多の関係です。差別化を実現するには、通常、各インスタンスの一意の識別子を格納する列をテーブルに追加する必要があります。つまり、第 2 正規形は、非主属性が主キーに依存するということです。
3. 第 3 正規形 (3NF)
第 3 正規形 (3NF) を満たすには、まず第 2 正規形 (2NF) を満たす必要があります。第 2 正規形を満たすことに基づいて、推移関数依存があってはなりません。その場合、それが第 3 正規形になります。つまり、第 3 正規形は、属性が他の非主属性に依存しないということです。

以上が4 つのデータベース パラダイムについてどれくらい知っていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート