1.質問をする
特定の問題については、それに適したデータベーススキーマを構築する方法、つまり、複数のリレーショナルスキーマを構築する方法、各リレーションがどの属性で構成されているかなどがあります。これはデータベース設計の問題であり、正確には、リレーショナルデータベースの論理設計の問題です。
-------------------------------------------------- ----------ソリューション:データベースロジック設計のためのツール-リレーショナルデータベース理論。
リレーショナルモデルの正式な定義
第2章では、関係モデルの正式な定義について説明しました。これがレビューです。
以前に定義された
リレーショナルモデルは、5つのタプルである5つの部分で構成されています:
R(U、D、DOM、F)
- 関係名Rは、シンボリックタプルセマンティクスです。
- Uは属性のセットです
- Dは、属性グループUの属性が由来するドメインです。
- DOMは、属性をドメインにマッピングすることです
- Fは、属性グループUに対するデータ依存関係のセットです。
この章
DとDOMはパターン設計とほとんど関係がないため、この章では、関係パターンをトリプルと見なします。R<U、F>
U上の関係rがFを満たす場合に限り、rは関係パターンA関係と呼ばれます。 of R <U、F>
2次元テーブルとして、関係は最も基本的な条件を満たす必要があります。各コンポーネントは分離できないデータ項目である必要があります。この条件を満たすリレーショナルモデルは、第一正規形(1NF)
データ依存性
データ依存関係は、関係の内部属性と属性の間の制約関係です。この種の制約関係は、属性の値が等しいかどうかによって反映されるデータ間の相関関係です。
最も重要なデータ依存性は、機能依存性と複数値依存性です。
機能従属性
機能依存性は私たちの生活の至る所にあります。たとえば、学生の関係を説明するために、学生番号(sno)、名前(sname)、および学部名(sdept)を指定できます。学生番号は1人の学生にしか対応せず、学生は1つの学部でしか勉強しないため、学生番号が決定されると、学生の名前と学部の価値が決定されます。この属性の関係は、数学のy = f(x)に似ています。独立変数xが決定されると、yの値も決定されます。同様に、sname = f(sno)、sdept = f(sno)、sno-> sname、sno-> sdeptとして記録されます。
この単一モードの機能依存性には、実際の使用では次の問題がある可能性があります。データの冗長性、例外の更新、例外の挿入、例外の削除など。したがって、このモデルを改善する必要があります。次のセクションでは、変換モデルと標準化について説明します。
2.標準化
機能従属性
機能従属性
定義:R(U)を属性セットUのリレーショナルパターンとし、XとYをUのサブセットとします。R(U)の可能な関係rについて、r内の2つのタプルがXで等しい属性値を持つことは不可能であるが、Yで等しくない属性値を持つ場合、「X関数がYを決定する」または「Y関数はXに依存します」、X→Yで表されます。
関数従属性はセマンティックカテゴリの概念であり、関数従属性はデータのセマンティクスに基づいてのみ決定できます。たとえば、「名前→年齢」の機能依存性は、同じ有名人が許可されていない場合にのみ確立できます。
関数従属性は、リレーショナルパターンRの1つまたはいくつかの関係インスタンスによって満たされる制約条件を参照しませんが、Rのすべての関係インスタンスが満たさなければならない制約条件を参照します。
自明な機能依存性自明でない機能依存性
X→Yですが、X→YはY⊈X自明でない関数従属性と呼ばれます。
X→Yですが、Y⊆XはX→Yが自明な関数従属性であることを意味します。
どのリレーショナルモデルでも、些細な関数従属性が確立されるはずであり、新しいセマンティクスを反映していません。特に明記されていない限り、重要な機能依存性については常に説明します。
X→Yの場合、Xは関数依存行列式(行列式)と呼ばれます。
X→Y、Y→Xの場合、X←→Yと表記されます。
Yが関数としてXに依存しない場合、X↛Yと記述されます。
完全な機能依存性と部分的な機能依存性
伝達関数の依存関係
注:Y→X、つまりX←→Yの場合、Zは伝達関数依存ではなくXに直接依存します。
コード
パラダイム
1NF
簡単に言えば、テーブルにはテーブルがありません。
2NF
図1問題の最適化:
3NF
BCNF
多値従属性
4NF
標準化の概要
3.一般的な理解
リレーショナルデータ理論は、実際にはデータベース設計の理論的サポートを提供することです。本だけで理論を理解することは非常に困難です。この記事を読むことをお勧めしますhttps://www.cnblogs.com/yanggb/p/10849850.html以下のための一般的な理解。