リレーショナルモデル
リレーショナルモデルには、属性(attribute)、ドメイン(domain)、タプル(tuple)があります。 ドメインは属性ごとのデータ情報の定義域のことです。属性は関係表の縦列のヘッダ、タプルは関係表の横列に相当します。
図1 学生リレーション
図1について考えてみます。このリレーションでは学籍番号、名前、住所が属性名になります。 {1,田中,東京}などがひとつのタプルとなります。名前の集合や住所の集合などがドメインとなります。
タプルを表す変数としてタプル変数があります。図1において一番目のタプルをtとすると
t[名前] = t[1] = "田中";
t[住所] = t[2] = "神奈川"
となります。
ドメインは有限集合や無限集合の集合のことです。一般にドメインはで
表されます。ドメインの直積(Cartesian product)を定めると
と表されます。
図1の場合だとドメインの直積は
で表され、
は学籍番号の集合、
は名前の集合、
は住所の集合となります。
整数の集合のようにドメインの要素が不可分であるものをドメインの原子性と言い、 全ての整数集合のようにドメインの要素が内部構造を持つ集合であるドメインは原子性がありません。 となります。
例えば図1のリレーションの他に教師の情報のリレーションがあったとすると、 学生名と教師名は同じ人名の集合という、同じドメインを持っていることになります。
値が未定であったり、対応する値が存在しないデータを扱う場合にはNULL値(null valule)を使います。 (電話を持っていない人を電話番号という属性を含むリレーションに登録するときなど。)