リレーショナルデータベース
リレーショナル データベースは、リレーショナル モデルをサポートするデータベース システムです。
リレーショナル モデルのデータ構造: リレーションシップ、論理構造: 平面的な 2 次元テーブル
エリア
同じデータ型の値のコレクションです。
例: {a,b,c}、{0,1,2,3} など。
デカルト積
意味
デカルト積は、フィールド上の集合演算です。
計算式
一連のドメインを指定すると: D1、D2、D3、…、Dn [重複ドメインは許可されます]
デカルト積を計算する式は次のとおりです。
D 1 × D 2 × D 3 × … × D n = { ( d 1 , d 2 , d 3 , … , d n ) ∣ d i ∈ D i , i = 1 , 2 , … , n } D1×D2×D3 ×…×Dn = {\{(d1,d2,d3,…,dn) | di ∈Di, i = 1,2,…,n\}}D1×D2×D3×…×Dn={(d1,d2、d3、…、dn)∣d 私∈Di、私=1、2、…、n}
名词解释:
-
(d1, d2, d3,…,dn) は n タプル (タプルと呼ばれます) と呼ばれます。
-
diはコンポーネントと呼ばれます。
カーディナリティ
ドメインに許可されるさまざまな値の数は、ドメインのカーディナリティと呼ばれます。
有限集合 Di の場合、底は mi であり、デカルト積 D1×D2×D3×…×Dn の底 M は次のようになります。
M = Π n i = 1 m i \Pi{n \atop i=1}m_i 円周率i=1n メートルi
例1
関係
意味
D1×D2×…×Dn の有限部分集合は、領域 D1, D2,…,Dn 上の関係と呼ばれ、R(D1,D2,D3,…,Dn) で表されます。
R は関係の名前を表し、n は関係の順序または程度を表します。
リレーションシップは 2 次元のテーブルであり、テーブルの各行はタプルに対応し、テーブルの各列はフィールドに対応します。
フィールドが同じである可能性があるため、各列には属性と呼ばれる名前が必要です。
n 次の関係には n 個の属性が必要です
用語集:
- リレーション内の各要素はリレーション内のタプルであり、通常は t で表されます。
- n = 1 の場合、この関係は単位関係になります。
- n = 2 の場合、この関係は二項関係になります。
- 候補コード: 関係内の特定の属性グループの値はタプルを一意に識別できますが、そのサブセットは識別できない場合、その属性グループは候補コードと呼ばれます。
- 主コード: 関係には複数の候補コードがあり、そのうちの 1 つを主コードとして選択する必要があります。
- メイン属性: 候補コードの属性をメイン属性と呼びます。
- 非プライマリ属性: どの候補コードにも含まれていない属性は、非プライマリ属性 (または非コード属性) と呼ばれます。
- フルコード: 関係パターンのすべての属性がこの関係パターンの候補コードであり、この候補コードをフルコードと呼びます。
3 つのタイプの関係
-
基本リレーションシップ(基本テーブル/実テーブル)
これは実際のテーブルであり、実際に保存されているデータの論理表示です。
-
ルックアップテーブル
クエリ結果に対応するテーブルですか
-
ビューテーブル
基本表やその他のビュー表から派生した表であり、仮想的な表であり、実際の格納データとは異なります。
基本的な関係の性質
- 列は同種です (各列のコンポーネントは同じタイプのデータであり、同じドメインに由来します)
- 同じドメインから異なる列を取得することができ、各列は属性と呼ばれます。異なる属性には異なる属性名を付ける必要があります。
- たとえば例 1 は、
person{张清玫、刘逸、李勇、刘晨、王敏}
と に分割されます。specialty{计算机专业、信息专业}
。 person ドメインは 2 つの属性研究生和导师
- たとえば例 1 は、
- 列の順序は重要ではありません。つまり、列の順序は自由に入れ替えることができます。
- 行の順序は重要ではありません。つまり、行の順序は自由に入れ替えることができます。
- 2 つのタプルの候補コードが同じ値を持つことはできません。
- ⭐コンポーネントはアトミック値を取る必要があります。つまり、各コンポーネントは分割できないデータ項目です。
この標準化された関係はパラダイムと呼ばれます。
関係モデル
関係の記述は関係スキーマと呼ばれます。
R ( U 、 D 、 DOM 、 F ) R(U、D、DOM、F)R(U,D、DOM、F)
- R: 関係名
- U: 関係を構成する属性名のセット
- D: U のすべての属性が由来するドメイン
- DOM: 属性に似たドメインの画像のコレクション
- F: 属性間のデータ依存関係のコレクション
は通常、 R ( U ) R(U) と省略することもできます。R(U)
関係演算
基本的なリレーショナル演算
クエリと挿入、変更と削除が含まれます。
クエリ操作
- セレクトセレクト
- PROJECT 投影
- JOIN接続
- 除算以外
- ユニオンと
- EXCEPT 差
- 交差点
- デカルト積
関係言語
SQL 言語は、高度に非手続き型の言語です。つまり、特定のインジケーターをクエリする場合、リレーショナル データベースはクエリ効率を向上させるために最適なクエリ パスを選択します。
誠実さ
エンティティの完全性
ルール:
属性 (1 つまたはグループ) A が基本リレーション R の主属性である場合、A は null 値を取ることができません。
参照整合性
外部コードの概念
F が基本リレーション R の属性または属性セットであるが、リレーション R のキーではなく、Ks が基本リレーション S の主キーであるとします。 F が Ks に対応する場合、F は R の外部コードであると言われます。基本関係Rは参照関係とも呼ばれ、Sは被参照関係(対象関係)である。
ルール
属性 F が基本リレーションシップ R の外部キーであり、基本リレーションシップ S の主キー Ks に対応する場合 (基本リレーションシップ R と S は必ずしも異なるリレーションシップではありません)、R の各タプルについて、次の値が得られます。 F:
- Null 値 (F の各属性値は null)
- S のタプルの主キー値
ユーザー定義の整合性
特定のアプリケーションに関係するデータはセマンティック要件を満たしている必要があります
関係代数
オペレーター | 意味 |
---|---|
集合演算子 | |
∩ | 交差点 |
∪ | 連合 |
- | 差分セット |
× | デカルト積 |
関係演算子 | |
p | 選ぶ |
円周率 | 投影 |
∞ | 接続する |
÷ | 取り除く |
集合演算子
例として集合 R と集合 S を考えてみましょう。
そして∪
R ∪ S = { t ∣ t ∈ R ∪ t ∈ S } R∪S=\{t|t∈R∪t∈S\}R∪S={ t∣t∈R∪t∈S}
違い -
R − S = { t ∣ t ∈ R ∩ t ∉ S } R - S = \{t|t∈R∩t∉S\}R−S={ t∣t∈R∩t∈/S}
クロス∩
R ∩ S = { t ∣ t ∈ R ∩ t ∈ S } R∩S=\{t|t∈R∩t∈S\}R∩S={ t∣t∈R∩t∈S}
デカルト積
R × S = { t r t s ∣ t r ∈ R ∩ t s ∈ S } R×S = \{t_rt_s|t_r∈R∩t_s∈S\}R×S={ tr ts ∣tr ∈R∩ts ∈S}