パラダイムの定義
通常フォーマット: 通常フォーマットは離散数学における一種の知識であり、データのストレージと最適化の問題を解決するために使用されます。関係を通じて見つかったデータは繰り返し保存されず、最終的な目標はデータの冗長性を削減することです。
パラダイムの背景:
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 に準拠していないため、データは非準拠です。 #解決策
解決策: 代替指導時間を 2 つのフィールドに分割して問題を解決します。
第 2 正規形: テーブル内の各列が主キーに関連付けられていることを確認します
要件1. データ テーブルの設計プロセス中に、複合主キー (複数フィールド主キー) であり、テーブル内のフィールドは主キー全体によって決定されるのではなく、主キー (主キーの一部) 内の特定のフィールドに依存します
2. フィールドが主キーの一部に依存するという部分依存という問題があります。##3. 2 番目のパラダイムは、テーブル設計の問題を解決することです。部分依存は許可されます
講師の授業スケジュール
複合主キー: 講師クラス上の表: 置換時刻、開始フィールド、終了フィールド これらはすべて関連しています。現在の主キー (講師とクラス) に依存しますが、性別はクラスに依存せず、教室は講師に依存せず、性別は講師にのみ依存し、教室はクラスにのみ依存し、性別と教室は主キーの一部に依存します。#解決策
解決策 1: 性別と講師を別のテーブルに分けることができ、クラスと教室も別のテーブルに形成することができます。##解決策 2: 複合主キーをキャンセルし、論理主キーを使用する
論理主キー: 自動インクリメント主キーなど、ビジネス上の意味を持ちません
ビジネス主キー:ビジネス上の意味がある。たとえば、person テーブルが主キーとして ID 番号を使用する
第 3 正規形: 各列が主キーに直接関連付けられていることを確認する
#要件
1。第 3 正規形を満たすには、第 2 正規形
2 を満たす必要があります。理論的には、すべてのフィールドがテーブル内のフィールドは主キーに直接依存する必要があります。テーブル設計にフィールドがある場合、それは主キーに直接依存しません。代わりに、特定の非キー フィールドに依存して、最終的に主キーへの依存関係を実現します。主キーに直接依存せず、主キー以外のフィールドに依存するこの種の依存関係は、推移的な依存関係#3 と呼ばれます。3 番目のパラダイムは、推移的な依存関係の問題を解決する ## です。 #講師が授業スケジュールを持ち込む
主キー: ID
上記の設計スキーム: 性別依存の講師が存在、講師依存の主キー; 教室に依存クラスに依存し、クラスは主キーに依存する: 性別とクラスルームの両方に推移的な依存関係があります。
解決策
推移的な依存関係を持つフィールドと依存するフィールド自体を取り出して、別のテーブルを形成します。対応する情報が必要な場合は、対応するエンティティ テーブルの主キーを使用して情報を追加します。
教室のテーブル
アンチパラダイム
テーブルを設計するときに、時々、場合によっては、別のテーブルから情報を取得する必要があるテーブル内に複数のフィールドがある場合、理論的に言えば、確かに目的のデータを取得できますが、効率が低下し、他のテーブルが一部のテーブルに意図的に保存されないことがあります。必要なデータ情報を直接保存すると、データのクエリ時に 1 つのテーブルで複数テーブルのクエリを必要とせずにデータを直接提供できます ((効率は低い) が、冗長性は増加します
推奨される mysql ビデオ チュートリアル、アドレス: https://www.php.cn/course/list/51.html
以上がMysqlのパラダイムの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。