目次
d. 集合差(Set Difference Operation)
第 2 章 リレーショナル モデルの概要
2.1 リレーショナルデータベースの構造
関係
- 属性: テーブル内の各列のデータ。
A1, A2, …, An
- タプル:テーブル内の各行のデータ
- 関係: 関係は順序付けされていませ ん
- リレーションインスタンス: テーブル
- 関係スキーマ:
R = (A1, A2, …, An )
。例えば:instructor = (ID, name, dept_name, salary)
2.2 データベーススキーマ
2.3ヤード
-
superkey : リレーション内のタプルを一意に識別できるようにする属性または属性のセット。
たとえば {ID, name}
、{ID}
-
候補キー(候補キー): 最小の (最小数の属性を含む) スーパーキー。例えば
{ID}
-
主キー: 候補キーの 1 つが主キーとして選択され、どの関係に対しても主キーは 1 つだけ存在できます。
-
マスターコードの選択には注意が必要です。お気づきのとおり、同じ名前の人がたくさんいる可能性があるため、その人の名前だけでは明らかにプライマリ コードとして十分ではありません。
-
主キーは、値がまったくまたはほとんど変更されない属性を選択する必要があります
-
-
外部キー(外部キー):あるテーブルの列のすべての値は、別のテーブルの列に出現する必要があり、別のテーブルの主
2.4 モード図
大学データベースのスキーマ図!!!
主キーと外部キーの依存関係を含むデータベース スキーマは、スキーマ図で表すことができます。以下は大学データベースのスキーマ図です。
大学データベースのリレーショナルモデル!!!
部門(部門名、建物、予算);
講師( ID、名前、部門名、給与);
course ( course_id ,title,dept_name,credits);
セクション( course_id、sec_id、学期、年、建物、部屋番号、タイムスロット ID);
教えます( ID、course_id、Section_id、学期、年);
学生( ID、名前、部門名、tot_cred);
prereq ( course_id , prereq_id);
アドバイザー( s_id , i_id )は( ID , course_id , sec_id ,学期,年, 学年)教室(建物, room_number ,capacity) time_slot ( time_slot_id , day , start_time ,end_time)
をとります
2.5 リレーショナルクエリ言語
2.6 関係演算
2.7 概要
- リレーショナル データ モデルは、テーブルのコレクションに基づいています。データベース システムのユーザーは、これらのテーブルにクエリを実行し、新しいタプルの挿入、タプルの削除、およびタプルの更新 (変更) を行うことができます。これらの操作を表現するための言語がいくつかあります。
- 関係のスキーマはその論理設計を指しますが、関係のインスタンスは特定の瞬間におけるその内容を指します。データベース スキーマとインスタンス定義は似ています。リレーションシップのスキーマにはその属性が含まれており、属性タイプや、主キー制約や外部キー制約などのリレーションシップの制約も含まれる場合があります。
- リレーションのスーパーキーは、リレーション内のタプルを一意に識別する値が保証されている 1 つ以上の属性のコレクションです。候補キーは最小限のスーパーキーです。つまり、スーパーキーを構成する属性のセットですが、この属性のセットのサブセットはスーパーキーではありません。リレーションの候補キーが主キーとして選択されます
- 参照関係の外部キーは、そのような属性のセットです。参照関係の各タプルについて、外部キー属性の値は、コードのメイン値の参照関係のタプルの値と等しくなければなりません。
- スキーマ ダイアグラム (スキーマ ダイアグラム) は、データベース内のスキーマをグラフィカルに表現したもので、データベース内の関係、関係の属性、主キー、外部キーを示します。
- リレーショナル クエリ言語は、テーブルに対して実行できる一連の操作と結果としての出力テーブルを定義します。これらの操作を組み合わせて、目的のクエリを表現する式を作成できます。
- 関係代数 (関係代数) は一連の演算を提供し、1 つ以上の関係を入力として受け取り、1 つの関係を出力として返します。SQL などの実際のクエリ言語はリレーショナル代数に基づいていますが、いくつかの便利な構文機能が追加されています。
第 6 章 形式的なリレーショナルクエリ言語
1. 関係代数 関係代数
関係代数は手続き型クエリ言語です。これは、1 つまたは 2 つのリレーションを入力として受け取り、結果として新しいリレーションを生成する一連の操作で構成されます。関係代数の基本演算は、選択、射影、和集合、差分集合、デカルト積、名前変更です。基本的な操作に加えて、交差集合、自然結合、代入などの操作もあります。これらの操作を基本操作の観点から定義します。
選択、射影、および名前変更の操作は 1 つのリレーションを操作するため単項操作と呼ばれ、他の 3 つの操作は 2 つのリレーションを操作するため、二項操作と呼ばれます。
a.操作の選択
選択 (select) 操作は、記号 σ で示される、指定された述語を満たすタプルを選択します。
b. プロジェクション(プロジェクト運営)
組み合わせ
c.ユニオン操作
1. 関係 r と s は同種でなければなりません。つまり、それらは同じ数の属性を持たなければなりません。
2. すべての i について、 r の i 番目の属性のドメインはs の i 番目の属性のドメインと同じでなければなりません。
r と s はデータベース関係、または関係代数式の結果である一時的な関係であることに注意してください。
d. 集合差(Set Difference Operation)
- で示される差分集合演算を使用すると、一方の関係にはあるが、もう一方の関係には存在しないタプルを見つけることができます。式 rs の結果は、s にない r のすべてのタプルを含むリレーションになります。
e. デカルト- 積演算
f. 名前変更操作
完璧になるために