ホームページ >データベース >mysql チュートリアル >Mysqlのパラダイムの詳細な説明

Mysqlのパラダイムの詳細な説明

藏色散人
藏色散人転載
2020-03-21 08:53:513556ブラウズ

パラダイムの定義

通常フォーマット: 通常フォーマットは離散数学における一種の知識であり、データのストレージと最適化の問題を解決するために使用されます。関係を通じて見つかったデータは繰り返し保存されず、最終的な目標はデータの冗長性を削減することです。

パラダイムの背景:

1. データの冗長性を解決するため

2. データを最適化して保存するため

3. 保存後データ、関係を通じて取得できるデータは保存されなくなります。

パラダイムの概念:

1. 階層構造の仕様です。 , は 6 つの層に分かれています

#2. 各層は前の層よりも厳密です

#3. 次の層のパラダイムを満たすには、前の層を満たすことが前提です

4. パラダイムはデータベースにおいて指針となる重要性を持っていますが、必須ではありません。

##5. データベースはスペースの問題だけでなく、効率の問題も考慮する必要があります。一般に、最初の 3 つの層

6 および 6 層パラダイムが使用されます。1NF は最も低い要件で最も低いレベルです。6NF は最高レベルで最も厳格です。

現在、リレーショナル データベースには 6 つのパラダイムがあります: 第一正規形 ( 1NF)、第 2 正規形 (2NF)、および第 3 正規形 (3NF)、バスコード正規形 (BCNF)、第 4 正規形 (4NF)、および第 5 正規形 (5NF、完全正規形とも呼ばれます)。一般に、データベースは第 3 正規形 (3NF) を満たす必要があるだけです。

第一正規形: 各列をさらに分割できないようにする

要件

1. データを格納するテーブルを設計するとき、テーブル内のフィールド 保存されたデータは、取り出して使用する前に追加の処理 (分割) を必要とするため、テーブルの設計は最初のパラダイムを満たしていません

2。最初のパラダイムでは、フィールドがアトミックで非アトミックである必要があります。 -divisible

例:

講師補欠テーブル

上記のテーブルの設計に問題はありません。要件はデータを見つけることです。教師はいつ授業を開始し、いつ授業を終了しますか: を表示する必要があります。その場合、代替授業時間を分割する必要があります。1NF に準拠していないため、データは非準拠です。 Mysqlのパラダイムの詳細な説明#解決策

解決策: 代替指導時間を 2 つのフィールドに分割して問題を解決します。

第 2 正規形: テーブル内の各列が主キーに関連付けられていることを確認しますMysqlのパラダイムの詳細な説明

要件1. データ テーブルの設計プロセス中に、複合主キー (複数フィールド主キー) であり、テーブル内のフィールドは主キー全体によって決定されるのではなく、主キー (主キーの一部) 内の特定のフィールドに依存します

2. フィールドが主キーの一部に依存するという部分依存という問題があります。##3. 2 番目のパラダイムは、テーブル設計の問題を解決することです。部分依存は許可されます

講師の授業スケジュール

複合主キー: 講師クラス

上の表: 置換時刻、開始フィールド、終了フィールド これらはすべて関連しています。現在の主キー (講師とクラス) に依存しますが、性別はクラスに依存せず、教室は講師に依存せず、性別は講師にのみ依存し、教室はクラスにのみ依存し、性別と教室は主キーの一部に依存します。

#解決策Mysqlのパラダイムの詳細な説明

解決策 1: 性別と講師を別のテーブルに分けることができ、クラスと教室も別のテーブルに形成することができます。

##解決策 2: 複合主キーをキャンセルし、論理主キーを使用する

論理主キー: 自動インクリメント主キーなど、ビジネス上の意味を持ちません

ビジネス主キー:ビジネス上の意味がある。たとえば、person テーブルが主キーとして ID 番号を使用する

第 3 正規形: 各列が主キーに直接関連付けられていることを確認する

#要件

1。第 3 正規形を満たすには、第 2 正規形 Mysqlのパラダイムの詳細な説明

2 を満たす必要があります。理論的には、すべてのフィールドがテーブル内のフィールドは主キーに直接依存する必要があります。テーブル設計にフィールドがある場合、それは主キーに直接依存しません。代わりに、特定の非キー フィールドに依存して、最終的に主キーへの依存関係を実現します。主キーに直接依存せず、主キー以外のフィールドに依存するこの種の依存関係は、推移的な依存関係

#3 と呼ばれます。3 番目のパラダイムは、推移的な依存関係の問題を解決する ## です。 #講師が授業スケジュールを持ち込む

主キー: ID

上記の設計スキーム: 性別依存の講師が存在、講師依存の主キー; 教室に依存クラスに依存し、クラスは主キーに依存する: 性別とクラスルームの両方に推移的な依存関係があります。

解決策

推移的な依存関係を持つフィールドと依存するフィールド自体を取り出して、別のテーブルを形成します。対応する情報が必要な場合は、対応するエンティティ テーブルの主キーを使用して情報を追加します。

Mysqlのパラダイムの詳細な説明

教室のテーブル

Mysqlのパラダイムの詳細な説明

アンチパラダイム

テーブルを設計するときに、時々、場合によっては、別のテーブルから情報を取得する必要があるテーブル内に複数のフィールドがある場合、理論的に言えば、確かに目的のデータを取得できますが、効率が低下し、他のテーブルが一部のテーブルに意図的に保存されないことがあります。必要なデータ情報を直接保存すると、データのクエリ時に 1 つのテーブルで複数テーブルのクエリを必要とせずにデータを直接提供できます ((効率は低い) が、冗長性は増加します

推奨される mysql ビデオ チュートリアル、アドレス: https://www.php.cn/course/list/51.html

以上がMysqlのパラダイムの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。