 |
PSQL Programmer's Guide (v11) |
 |
|
Demodata サンプル データベースの構造
データベースの物理構造は、リレーショナル データベースの要素であるテーブル、列、行、キー、インデックスで構成されています。
このデータベースに含まれる 10 個のテーブル間にはさまざまな関係があります。このデータベースには、学生、教職員、授業、登録などに関するデータが含まれています。
前提条件
以下に、データベースを構築したときのいくつかの前提条件を示します。
- データベースの適用範囲は 1 学期です。
- 学生は、同じコースを何回も受講できません。たとえば、学生は Algebra I の Sections 1 と 2 に受講登録できません。
- 教職員は学生でもかまいませんが、同じ授業での講義と受講登録は行えません。
- どのコースも 1 つの学部だけから提供されます。
- 学生が評価を受けるには、学生を授業に受講登録し、その授業を教える教職員を任命しなければなりません。
- 教職員が所属する学部は 1 つですが、複数の学部で講義を行うことができます。
- すべての学生は、アメリカの社会保険番号基準に基づいた学生 ID を持っています。
- すべての教職員は、アメリカの社会保険番号基準に基づいた教職員 ID を持っています。
- その他すべての職員は、アメリカの社会保険番号基準に基づいた個人 ID を持っています。
- 教室は、同じビル内で固有です。
- 2 つの授業を同じ教室で同時に教えることはできません。
- 教職員は、与えられた時間に 1 つの授業しか教えることができません。
- 授業に受講登録するための前提条件は必要ありません。
- 学部は専攻を意味します。
- 1 つの授業は、学期を通じて 1 人の教職員しか担当できません。
- 電話番号または郵便番号と州には相関関係がありません。
- 教務係は、教職員または学生であってはいけません。
- ある人がデータベースに入力されると、すべての質問に答えなければならない調査か、あるいは、質問にまったく答える必要がない調査を行うことができます。
- コースの履修単位時間は、必ずしも、授業が行われる時間数と同じではありません。
- 電子メール アドレスは、一意のアドレスである必要はありません。
エンティティの関係
エンティティは、データベース内の主なコンポーネントを記述するオブジェクトです。データベースを設計する場合、エンティティとそれらの相互の関係を定義してから先に進むことが大切です。University データベースでは、CLASSES、STUDENTS、FACULTY、GRADES などがエンティティです。エンティティとそれらの相互関係については、図 3 で概説しています。
図 3 エンティティの関係
GRADES は 弱いエンティティです。このエンティティは授業を受ける学生に依存しているので、その存在は他のエンティティの有効性に依存しています。STUDENT テーブルと FACULTY テーブルが共通の情報を作成するのは、学生が教職員になったり、教職員が学生になる場合があるからです。共通の情報は、PERSON テーブルにあります。
 Demodata サンプル データベースの概要 |
 Demodata サンプル データベースの参照整合性 |
|