 |
PSQL Programmer's Guide (v11) |
 |
|
Demodata サンプル データベースの参照整合性
ここでは、サンプル データベースの参照整合性(RI)設計について説明します。
図 4 は、University データベース内の様々なテーブル間に存在する参照制約を示したものです。ボックスはテーブルを表します。一方向の方向矢印は、親テーブルから参照用テーブルまでの参照制約を意味します。たとえば、制約番号 16 では、親テーブル Course で主キーを参照する Class テーブルに外部キーが存在します。
図 4 サンプル データベースの RI 構造
メモ
図 4 は、依存関係グラフの役割も果たします。このグラフは、物理設計を行うときにどのテーブルを先に作成しなければならないかを示します。
RI に参加するテーブル、列、キーは、以下のように定義されます。
表 47 RI に関連するテーブルと列
制約
|
参照用テーブル
|
外部キー
|
参照されるテーブル
|
主キー
|
1
|
BILLING
|
Registrar_ID
|
PERSON
|
ID
|
2
|
STUDENT
|
ID
|
PERSON
|
ID
|
3
|
FACULTY
|
ID
|
PERSON
|
ID
|
4
|
STUDENT
|
Tuition_ID
|
TUITION
|
ID
|
5
|
FACULTY
|
Building_Name、Room_Number
|
ROOM
|
Building_Name、Number
|
6
|
DEPARTMENT
|
Building_Name、Room_Number
|
ROOM
|
Building_Name、Number
|
7
|
CLASS
|
Building_Name、Room_Number
|
ROOM
|
Building_Name、Number
|
8
|
FACULTY
|
Dept_Name
|
DEPARTMENT
|
Name
|
9
|
DEPARTMENT
|
Head_Of_Dept
|
FACULTY
|
ID
|
10
|
STUDENT
|
Major
|
DEPARTMENT
|
Name
|
11
|
STUDENT
|
Minor
|
DEPARTMENT
|
Name
|
12
|
COURSE
|
Dept_Name
|
DEPARTMENT
|
Name
|
13
|
BILLING
|
Student_ID
|
STUDENT
|
ID
|
14
|
ENROLLS
|
Student_ID
|
STUDENT
|
ID
|
15
|
CLASS
|
Faculty_ID
|
FACULTY
|
ID
|
16
|
CLASS
|
Course_Name
|
COURSE
|
Name
|
17
|
ENROLLS
|
Class_ID
|
CLASS
|
ID
|
 Demodata サンプル データベースの構造 |
 Demodata サンプル データベースのテーブル設計 |
|