関係データベース

データベース

 関係データベースとは、前回説明した関係モデルをもとに作られたデータベースのことをいいます。今回はそんな関係データベースについて説明したいと思います。

はじめ

 はじめに関係データベースで使われる言葉を説明します。下図は表の例です。

 上図の関係「部活」における属性の数を次数といいます。よってこの場合、属性には「学籍番号」、「部活名」、「名前」が存在するので次数は3になります。一般に次数1の関係を単項関係、次数2の関係を2項関係といい、この場合は3項関係となります。次に、属性値に値が存在しないものをナル値といい、下図のように表します。

キー属性

 ここからはキー属性について説明していきます。ここで説明するキー属性は「候補キー(キー)」、「主キー」、「外部キー」の3つです。

  • 候補キー(キー):関係内で属性値が2つ以上一致しない(1行を特定できる)属性のことをいいます。下図の場合、関係「学部」の「学部ID」や関係「学生」の学籍番号を候補キーもしくはキーといいます。下図では関係「学生」の「学部ID」でもいいと思われるかもしれませんが、同じ学部の学生が表にいる可能性もありますので、被ることがない「学籍番号」が適切でしょう。
  • 主キー:候補キーの中から、最も1行を特定するのに適切な候補キーのことを主キーといいます。主キーとなる条件として、重複するデータがないことナル値がないことが挙げられます。この条件が満たされていないと1行を特定できなくなりますからね。
  • 外部キー:ほかの関係の主キーを参照する属性のことをいいます。下図の場合、関係「学部」の属性「学部ID」が主キーであり、それに対して関係「学生」の属性「学部ID」が外部キーとなります。

関係代数

 ここからは関係代数について説明していきます。条件として「和」、「差」、「積」は属性が同じ関係でないと行うことができません

・和:2つの関係の和集合を取る、つまり論理和を行うことです。

・差:指定した関係から別の関係に存在する行を取り除いたもの。関係の入れ替えによって、結果が変わるので気を付けなければいけません。

・積:2つの関係から共通部分を取る、つまり論理積を行うことです。

・直積:2つの関係の行ですべての組み合わせを求めることです。

・射影:関係の中から指定した属性のみを抜き出すことです。

・商:2つの関係R1とR2があったとします(このときR2はR1と共有の属性のみで構成されています)。R1をR2で除するということは、R1の共有属性と同じ行にある属性値を取り出すことです。

結合には「等結合」と「自然結合」の2種類あります。

・等結合:2つの関係に存在する共通の属性を用いて結合し1つの表にすることです。ただし等結合の場合は、共通の属性が2つとも存在する表ができます。

・自然結合:等結合と基本的に同様なのですが、自然結合の場合は共通の属性が1つのみ存在します。

まとめ

 以上が関係データベースの基本でした。データベースでは関係モデルが多く使われますから、データベースを学んでいる人であれば良く見聞きする事柄だと思います。これからデータベースについて学ぶという人は一緒に勉強を頑張りましょう。

コメント

タイトルとURLをコピーしました