ディレクトリ
2.1関係モデル
2.2関係データ構造とその正式な定義
2.3関係の完全性
2.4関係代数
2.5関係計算
2.6まとめ
2.0関係
ドメインは同じタイプの値のセットです。ドメインは有限セットまたは無限セットにすることができます。ドメインDが有限セットの場合、Dの要素の数はDのカーディナリティと呼ばれます。IDIとします。
たとえば、整数コレクション、実数のコレクション、文字列のコレクション、20以下の文字列のコレクション、コレクション{0,1}などはすべてフィールドです
デカルト積
所与のNドメインD、D ..... DN(それらは互いに異なっていない)、:. D1X D2X ... XDNのデカルト積と呼ばれる,,とDyx D2X ... XDN、= {( D 、d2、.... dn、)}
各要素(d、d、... d、)はnタプル(略してタプル)と呼ばれ、diはタプルのi番目のコンポーネントです。
たとえば、D1 = {0,1}、D2 = {a、b、c}、D3 = {D、E}の3つのフィールドがあり
、D、D2、D3のデカルト積は
Djx D2x D3 = { (0、a、D)、(0、a、E)、(0、b、D)、(0、b、E)、(0、c、D)、(0、c、E)、(1 、D)、(1 、E)、(1、B、D)、(1、B、E)、(1、C、D)、(1、C、E)}
基部であります| D1lxI D2 | x | D3 | = 12
リレーションシップの別の表現は、リレーションシップが2次元のテーブルを使用して、各テーブルに一意の名前(リレーションシップ名)があることを示すことができることです。
テーブルの各列に対応するコンポーネントは属性と呼ばれます。テーブルの最初の行はヘッダーで、各列の属性名を示します。残りの行はタプルに対応し、各タプルはエンティティまたは関係を表しますこの種類の視覚的表現により、関係にいくつかのセマンティクスを関連付けることができます。
たとえば、関係タプルのセマンティクスを属性名で説明したり、属性のセマンティクスを通じて関係のコードを定義したり、関係の整合性制約を定義したりできます。
関係の性質
関係は、直積のサブセットである、すなわち、タプルのセットは、従って、関係行の順序は重要ではない、との関係(テーブル)は、2つの同一のタプル(行)を含むことができないという我々ように2次元テーブルとの関係を示します任意の列の順序に関係を表示することができ、または列の順序ではない、リレーショナルデータベース上で重要な、意味のある関係が一定の制約を満たす必要があり、これらの制約はある意味制約
意味的制約に加えて、関係には2つの主要な制限があります。1つ目
は、リレーショナルデータベースでは、有限関係のみが考慮されることです。2つ
目は、関係の各属性はアトミックである必要があります。
コードスーパーコード候補コード
メインコードは従業員関係を考慮し、そのモデルは次のとおりです。
EMPS(Eno、Ename、Esex、Eage、Eaddress、Dname、Esalary)
EnoはEMPS関係のコードです。これは、各従業員が一意の番号を持っているためです。Eno
を含む属性セットは{Eno、 Ename}、この属性セットは各従業員を一意に決定することもできます。
同じ自宅住所を持つ2人の従業員が同じ名前と姓を持つ可能性が低い場合、{Ename、Eaddress}もEMPSのコードです
KをリレーションRの属性セットとします。Kがタプルを一意に識別でき、その真のサブセットが識別できない場合、KはRのコードです。一般に、リレーションシップに複数のコードがある場合、それらの1つを唯一の識別リレーションシップとして選択する必要がありますタプルのコードはメインコードと呼ばれます。メインコードは、複数のコードから選択されたコードを一意の識別関係タプルとして表すために使用され、すべてのコードは候補コードとも呼ばれます。コード内の属性はメイン属性と呼ばれますが、コードに現れる属性は非プライマリ属性と呼ばれます。たとえば、Enoと{Ename、Eaddress}はEMPSの候補コードであり、Eno、Ename、Eaddressはプライマリ属性であり、Esex、Eage、Dname、Esalaryは非プライマリ属性定義です。 EMPSのメインコードとして1つを選択できます。たとえば、メインコードとしてEnoを選択します。FKがRの属性セットであり、Rのコードではないが、FKが関係R1のメインコードK1に対応する場合、FKはRと呼ばれます。外部コード。Rが参照関係である場合、R1は参照関係であり(RとR1は必ずしも異なる関係である必要はありません)、FKはR1のメインコードK1を参照すると言われています
エンティティの整合性ルール:リレーションRのすべてのタプルは、メインコードで一意の値を持つ必要があり、メインコードの属性でnull値をとることはできません
参照整合性ルールの
例
学生(Sno、Sname、Sex、Birthday、Enrollyear、Speciality、Dno)
コース(Cno、Cname、Period、Credit)
SC(Sno、Cno、Grade)
これら3つの関係の間に参照もあります。 SCの「Sno」はStudentの既存の学生である必要があり、SCの「Cno」はコースの既存のコースである必要があります
ユーザー定義の整合性ルール
ユーザー定義の整合性は、特定のデータベースに含まれるデータが満たす必要のある意味上の制約を反映しています。一般的な規則がないため、これらの制約は実際の問題のセマンティクスに従ってユーザーが指定する必要があります。失敗したコースは5つ以下です。性別〜の値は男性、女性、空白のみです。教師と生徒の名前は空白にできません。
2.1関係モデル
データの整合性は、次の4つのカテゴリに分類されます。
1.データ構造-リレーショナルモデルの関係
リレーショナルモデルのデータ構造:非常にシンプルユーザーの観点から見ると、リレーショナルモデルのデータの論理構造は2次元のテーブルです。しかし、リレーショナルモデルのこの単純なデータ構造は、豊かな表現できる意味論は、現実世界のエンティティとエンティティ間の各記述タイプのリンク。
3.関係の3種類の整合性制約関係モデルは、充実した整合性制御メカニズムを提供し、エンティティ整合性、参照整合性、ユーザー定義整合性の3種類の整合性を定義できるようにします。エンティティ整合性と参照整合性リレーショナルモデルが満たす必要があるのは整合性制約であり、リレーショナルシステムによって自動的にサポートされる必要があります。ユーザー定義の整合性は、アプリケーションドメインの特別な要件に従う必要がある制約条件であり、特定のドメインのセマンティック制約を反映しています。以下は、データモデルの3つの要素から始まり、関係モデルのデータ構造(関係の正式な定義と関連する概念を含む)、3種類の関係整合性制約、関係代数、および関係計算演算などを徐々に紹介します。
2.2関係データ構造とその正式な定義
2.3関係の完全性
2.4関係代数
2.5関係計算
2.6まとめ