データベース概論Ⅰ_5. リレーショナルデータモデル(2)
記事タイトル:
データベース概論Ⅰ_5. リレーショナルデータモデル(2)
目次:
リレーショナルデータモデルの復習
データ構造、整合性制約、操作系の基本
リレーションの形式的定義
リレーションとタプルの数学的な定義
正規化と第1正規形(1NF)
非正規リレーションとフラットな構造の意義
リレーショナルデータモデルの整合性制約
ドメイン制約
キー制約
参照整合性制約
データ操作の体系
リレーショナル台数
リレーショナル論理
リレーショナル台数の基本演算
和(Union)、差(Difference)、直積(Cartesian Product)
射影(Projection)、選択(Selection)
リレーショナル台数の結合演算
結合(Join)の種類と応用
リレーショナルデータモデルの拡張と限界
推移的閉包問題とその対応
本文:
1. リレーショナルデータモデルの復習
リレーショナルデータモデルは、データ構造(リレーション)、整合性制約、操作系の3要素で構成されます。このモデルでは、データをテーブル形式で表現し、タプル(行)の集合として扱います。形式的には「リレーション名(属性名1, 属性名2, ...)」の形式で記述されます。
2. リレーションの形式的定義
リレーションは、各属性に対応するドメイン(値の集合)の直積から生成されるタプルの部分集合として定義されます。タプルは写像として表現でき、各属性が特定の値にマッピングされます。こうした数学的基盤がリレーショナルデータモデルの強力な特性を支えています。
3. 正規化と第1正規形(1NF)
リレーショナルデータモデルでは、フラットな構造(非入れ子構造)のみを考慮します。これは第1正規形(1NF)として知られ、データのドメインは単純な値の集合であるべきと規定されています。
4. リレーショナルデータモデルの整合性制約
ドメイン制約: 各属性の値は、指定されたデータ型や範囲に従わなければなりません。
キー制約: 特定の属性(または属性の組み合わせ)が一意にタプルを識別できる必要があります。キー制約は候補キー、主キー(プライマリキー)などの概念を含みます。
参照整合性制約: あるリレーションの外部キーが別のリレーションの主キーを参照する場合、その値が必ず存在する必要があります。
5. データ操作の体系
データ操作は主に2つの体系に基づきます:
リレーショナル台数: リレーションに代数的演算を適用して新しいリレーションを生成。
リレーショナル論理: リレーションから論理的条件を満たす部分集合を抽出。
6. リレーショナル台数の基本演算
和(Union): 2つのリレーションのタプルを結合(重複は排除)。
差(Difference): 1つのリレーションに存在し、もう1つには存在しないタプルを取得。
直積(Cartesian Product): すべてのタプルの組み合わせを生成。
射影(Projection): 指定された属性のみを抽出。
選択(Selection): 条件を満たすタプルのみを選択。
7. リレーショナル台数の結合演算
等結合(Equi-Join): 指定された条件でタプルを結合。
自然結合(Natural Join): 共通する属性で結合。
外部結合(Outer Join): 結合条件を満たさないタプルも残す。
結合はリレーショナルデータベースにおいて極めて頻繁に使用されます。
8. リレーショナルデータモデルの拡張と限界
リレーショナル台数は強力ですが、推移的閉包(すべての祖先や子孫を求める操作)などの一部の演算はサポートしていません。これに対処するため、リレーショナル台数の拡張や新たなモデル(例: 階層型データモデル)が提案されています。
参考文献:
関連講義資料: データベース概論Ⅰ
書籍: データベースシステム概論