子曰:「參乎!吾道一以貫之。」曾子曰:「唯。」子出。門人問曰:「何謂也?」曾子曰:「夫子之道,忠恕而已矣。」
論語·里仁第四
学習目標¶
- 意味記述とは何かを理解する.
- 主キー,候補キー,外部キーの違いを理解する.簡単なデータベースにおいて,それらを特定することができる.
- 検査制約,表明,トリガの概念を理解する.
- リレーショナルデータベーススキーマの構成要素を理解する.
候補キーと主キー¶
候補キー¶
リレーションの全属性集合の部分集合がそのリレーションのタプルの一意識別能力を持つ.このような性質を持つ極小組を候補キー(candidate key)という.
主キー¶
主キー(primary key)はタプルを一意識別するために使用される.候補キーが複数存在する場合,その中から一つを選び,主キーとする.どの候補キーを選ぶかはデータベース設計者の裁量による.
一般に,リレーションスキーマの属性集合が主キーであるとき,
と表記する.
外部キー¶
外部キー(foreign key)はリレーション間の関係を表現するための制約.
検査制約¶
検査制約(check constraint)はリレーションの属性値が特定の条件を満たすことを保証する制約.
表明¶
表明(assertion)は複数のリレーションにまたがる制約を表現するための制約.
トリガ¶
トリガ(trigger)はあるリレーションが変更されたときに,他のリレーションにも自動的に更新を行うための制約.
リレーショナルデータベーススキーマ¶
リレーショナルデータベーススキーマ(relational database schema)はデータベースを定める時間的に不変な構造的・意味的記述体系.リレーショナルデータベースのスキーマは次に示すような要素から成り立つ.
- 構造記述:データベーススキーマ名,ドメイン定義,リレーションスキーマ定義
- 意味記述:主キー,外部キー,検査制約,表明定義,トリガ定義,権限定義
練習問題¶
リレーショナルデータベーススキーマを、自由なテーマに基づいてを定義せよ。 テーマは自由(例:学生管理システム、図書館システム、病院システム、ポケモン管理システムなど)。
以下の要素をすべて含めること:
- ドメイン定義
- リレーションスキーマ定義
- 主キー
- 外部キー
- 検査制約
- 表明
- トリガ
ドメイン定義、リレーションスキーマ定義、主キーは数学的に記述すること。
外部キー、検査制約、表明、トリガの定義は自然言語で記述すること。