関係データベース(リレーショナルデータベース)と表(table)

関係データベース(リレーショナルデータベース)は、関係モデルに基づいて設計されたデータベースであり、現代データベース技術の主流をなすものです。

関係(relation)は、通常、表(table)として表現されます。

ここでは、関係モデルの用語について、下記の出典から引用します。

引用文献: 「PROLOG データベース・システム」発行:近代科学社 原著者:D. リー 翻訳者:阿部憲広

 

関係(relation)

集合D1、D2, …, Dn があるとき、Rがこのn個の集合上の1つの関係であるとは、Rが(d1, d2, …, dn)という形をした順序をもったn組の集合であるときとする。ここでd1はD1に、d2はD2に、そしてdnはDnに属する。関係は普通、表(table)として表す。属性(attribute)は表の列に対する見出しであり、表の行が組を表す。したがって表と関係とを区別せずに用いる。

関係スキーム(relation scheme 属性の集合を関係スキームといい、属性は関係を表す表の縦方向に対する名前である。関係スキームは時間に対して不変であると仮定されるが、対応する関係は頻繁に変化する。

次数(arity) 関係の次数とは、その関係が表している表が持つ列の数である。次数が1の関係を1項関係、次数が2の関係を2項関係、次数nの関係をn項関係という。

属性(attribute) 関係の属性とは、関係を表した表の列に対する名前であり、属性値は列の内容のことである。

定義域(domain) 定義域とは、関係の属性値集合がとりうる値の集合である。すなわち表の列の値がとる値の範囲をいう。定義域と列の違いを理解することが大切である。列は1つの関係の中で定義域が果たす役割りを表す。

組(tuple) 組を表の行とすると、関係は組の数学的集合であると考えることができよう。各組は数学的集合の要素であるから、関係中の各組は一意的である。

素数(cardinality) 関係Rの要素数 |R| は、Rに含まれる組の数をいう。

完全性の制約(integrity constraints) 完全性の制約とは、データベース中の各データが従わなければならない言明をいい、データベースの整合性がこの制約によって守られる。データ従属性(data dependency)は完全性の制約の特殊な場合である。

関数従属(functional dependency: FD) 関数従属 X→Y は関係スキームに関する言明である。t1, t2という組が属性集合Xに対して同じ値をとるなら、属性集合Yに対しても同じ値をもつことをいう。すなわち、t1[X] = t2[X] ならば、t1[Y] = t2[Y] が成り立つ。

多値従属(multivalued dependency: MVD) t1とt2とがX→→YとX→Yとを満たす関係の組であれば、この関係は次の条件を満たす3番目の組t3をもたなければならない。すなわち、t3は組の一方たとえばt1から属性Yの値をとり、その他の値のすべてを残る組t2からとったものでなければならない。別の言い方をすると、X→→Yは、ある特別の属性Xの値と関連した属性Yの値の集合は他の属性値と独立でなければならない、ということである。

キー(key) FDとMVDの点から考えて、一意的な識別子として働きうる属性集合の中で最小の属性集合を候補キーと呼ぶ。1つの関係が複数の候補キーをもつこともある。

正規化(normalization) 正規化定理は関係スキームの望むべき性格を従属性の型に関連づける。正規化によって、指定した型の従属性による冗長性を減らすことができる。

正規化された関係(normalized relation) 正規化された関係とは、それ以上分解できない値をもった表のことであり、基本表または基本関係と呼ばれることがある。

データベース(database) データベースは関係の集合であり、これらの関係のスキームが集まってデータベース・スキームを形成する。 要約すると、関係データベースDBは集合 R={Ri} であり、属性DとDのもつ関係、すなわち依存性Fの集合をもつ対象の記述である。各関係Riは関係スキームと呼ばれる属性集合 Si={Dj|Dj?D} により特性化され、組の集合から構成される。各組は、関係スキームの属性から、F中のすべての依存性を満たす定義域への写像である。