リレーショナルデータベース
1.リレーショナルデータ構造と正式な定義
データモデルの3つの要素によれば、リレーショナルモデルは、リレーショナルデータ構造、リレーショナル操作セット、およびリレーショナル整合性制約の3つの部分で構成されます。以下が順に紹介されます。
1.1。関係
リレーショナルモデルのデータ構造は非常に単純で、単一のデータ構造と関係のみが含まれます。ユーザーの観点から見ると、リレーショナルモデルデータの論理構造はフラットな2次元テーブルです。リレーショナルモデルは代数に基づいています。セット理論の観点から見たリレーショナルデータ構造の正式な定義を次に示します。
-
範囲
ドメインは、同じデータ型の値のセットです。
-
デカルト積
デカルト積は、ドメインの集合演算です。
定義:ドメインのセットが与えられた場合:D1、D2、...、Dn、それらのいくつかは同じであることが許可されますこのドメインのセットのデカルト積は次のとおりです:
D 1✖D 2✖。。。✖D n = {(d 1、d 2、。。。、dn)∣ di∈D i、i = 1、2、。。。、n}D1✖D2✖...✖Dn= \ {(d1、d2、...、dn)|di∈Di、i = 1,2、...、n \}D 1 ✖ D 2 ✖ 。。。✖ D N={ (D 1 ;d 2 、。。。、d n )∣ d i∈D i 、私=1 、2 、。。。、n }
これらの中で、各素子(D1、D2、···、DN)が呼び出されるnタプル、又はためのタプル短いです。要素の各値diはコンポーネントと呼ばれます。ドメインに許可されるさまざまな値の数は、ドメインのカーディナリティと呼ばれます。デカルト積は、2次元の表として表すことができます。テーブルの各行はタプルに対応し、テーブルの各列の値はフィールドから取得されます。
-
関係
D1✖D2✖...✖Dnのサブセットは、ドメインD1、D2、...、Dn上の関係と呼ばれ、次のように表されます:R(D1、D2、...、Dn)。ここで、Rは関係の名前、nは関係の次数または次数です。
関係内の特定の属性グループの値がタプルを一意的に識別できるが、他のサブセットはそれを識別できない場合、属性グループは候補コードと呼ばれます。関係の候補コードが複数ある場合は、そのうちの1つをプライマリコードとして選択します。候補コードの属性は、メイン属性と呼ばれます。候補コードに含まれていない属性は、非プライマリ属性または非コード属性と呼ばれます。最も単純なケースでは、候補コードに含まれる属性は1つだけです。最も極端なケースでは、関係パターンのすべての属性がこの関係パターンの候補コードであり、これは完全コードと呼ばれます。
リレーションシップには、基本リレーションシップ(通常、基本テーブルまたはベーステーブルと呼ばれます)、クエリテーブル、およびビューテーブルの3種類があります。基本的な関係には、次の6つのプロパティがあります。
- 列は同種です。つまり、各列のコンポーネントは同じタイプのデータであり、同じドメインからのものです。
- 異なる列が同じドメインからのものである可能性があり、各列は属性と呼ばれ、異なる属性には異なる属性名を付ける必要があります。
- 列の順序は重要ではありません。
- 2つのタプルの候補コードが同じ値をとることはできません。
- 行の順序は関係ありません。
- コンポーネントはアトミック値を取る必要があります。つまり、各コンポーネントは分割不可能なデータ項目である必要があります。
1.2、関係モデル
タイプと値はデータベースで区別する必要があります。リレーショナルデータベースでは、リレーショナルモデルはタイプであり、関係は値です。関係モデルは、関係の記述です。その関係のどの部分を説明する必要がありますか?
定義:関係の説明は、関係モデルと呼ばれます。正式には次のように表現できます:R(U、D、DOM、F)
このうち、Rは関係の名前、Uは関係を構成する属性名のセット、DはUの属性の元のドメイン、DOMは属性からドメインへのマッピングのセット、Fは属性間の依存関係のセットです。
1.3、リレーショナルデータベース
リレーショナルモデルでは、エンティティとエンティティ間の接続は関係によって表されます。特定のアプリケーションドメインでは、すべての関係のコレクションがリレーショナルデータベースを構成します。
リレーショナルデータベースには、タイプと値もあります。リレーショナルデータベースの種類は、リレーショナルデータベースモデルとも呼ばれ、リレーショナルデータベースの説明です。リレーショナルデータベースの値は、特定の瞬間におけるこれらのリレーショナルパターンに対応する関係のコレクションであり、通常はリレーショナルデータベースと呼ばれます。
2.リレーションシップ操作
2.1、基本的な関係操作
リレーショナルモデルで一般的に使用されるリレーショナル操作には、クエリ操作、挿入、削除、変更操作があります。クエリ操作は、選択、射影、接続、除算、和集合、差、交差、デカルト積などに分けることができます。そのうち、選択、射影、和集合、差、デカルト積が5つの基本操作です。
2.2。リレーショナルデータ言語の分類
Relational Algebra Language(ISBL)、Relational Calculus Language:Tuple Relational Calculus Language(ALPHA、QUEL)and Domain Relational Calculus Language(QBE)、Language with Dual Features of Relational Algebra and Relational Calculus(SQL)
3.リレーショナル整合性制約
3.1、エンティティの整合性制約
ルール:属性(1つまたは属性のグループを参照)Aが基本的な関係Rの主要な属性である場合、Aをnullにすることはできません。
3.2、参照整合性制約
外部コード。ルール:属性(または属性グループ)Fが基本リレーションRの外部コードである場合、それは基本リレーションSのメインコードKsに対応します(基本リレーションRとSは必ずしも異なるリレーションではありません)。 Fのタプルの値は、次の条件を満たす必要があります。
- ヌル値を取ります。
- または、Sのタプルのメインコード値と等しい。
3.3、ユーザー定義の制約
リレーショナルデータベースのユーザー定義の制約条件。
4.関係代数
4.1、従来の集合演算
- そして
- 差
- クロス
- デカルト積
4.2、特別な関係操作
- 選択する
- 投影
- 接続
- 同等の接続
- 自然接続:2つの関係で比較されるコンポーネントが同じ名前の属性グループでなければならず、重複する属性列が結果から削除される必要がある特殊な等価接続。
- 外部接続:自然接続で破棄されたタプルは、浮動祖先と呼ばれます。浮動タプルは結果関係にも格納され、他の属性は空白値で埋められます。
- 左外部結合:左の関係にある浮動タプルのみを保持します。
- 右外部結合:フローティングタプルのみを正しい関係で保持します。
- 除算:象セットによって定義
5.まとめ
- 関係:関係は通常言われるテーブルに対応します
- 関係モード:関係の説明
- リレーショナルモデル:リレーショナルモデルは、リレーショナルデータ構造、リレーショナルオペレーションコレクション、リレーショナル整合性制約の3つの部分で構成されます。
- 関係と関係モデルの違い
- 関係モデルはタイプ、関係は値、関係モデルは関係の説明です
- 関係とは、ある瞬間における関係モードの状態または内容です。関係モードは静的で安定していますが、関係は動的であり、関係操作はデータベース内のデータを常に更新しているため、時間とともに変化します。
- オブジェクト指向プログラミングにおける「クラス」と「オブジェクト」の違いに似ています。「関係」は「関係モード」の例です。「関係」はデータを含むテーブルとして理解でき、「関係モード」はこのデータテーブルのテーブル構造です
- 関係モデルと関係の違い
- 関係モデルには関係が含まれます。関係は関係モデルのデータ構造です。関係モデルでは、実世界のエンティティとエンティティ間のすべてのレベルの接続が単一の構造タイプ、つまり関係によって表されます