データベース

関係データベース

関係データベース 行 列


関係データベースは、データを複数の表で管理するデータベース。

SQL(Structured Query Language)という言語を用いて、次のような操作を行うよ。


選択 指定したを抽出する。
射影 指定したを抽出する。
結合 複数の表を1つの表にする。

表をテーブル、列をフィールド、行をレコードともいう。

表を結合することにより、CPUやメモリの消費を抑え、速く処理することができるようになる。

主キーと外部キー

主キー 外部キー


全ての表には、必ず主キー(Primary Key)を設定する。

主キーは、表の中で特定の行を識別するための列のこと。次の制約があるよ。


  • 一意性制約:他の値と重複しない
  • NOT NULL制約:空の値(NULL)がない

複合主キーは、複数の列を主キーに設定したもの。1つの列では特定の行を識別できない場合に用いるよ。



外部キーは、他の表の主キーを参照する列のこと。次の制約があるよ。


  • 参照制約:外部キーの値が被参照表に存在する

正規化

関係データベースを作成する際、正規化という作業を行う。

正規化は、表を分割して整理すること。重複したデータを取り除くよ。



正規化

正規化前は、色を付けた部分のように、部署番号と部署名で重複している値がある。



正規化

正規化後は、表を分割して整理したので、重複した値がないよ。


冗長

正規化の過程で、冗長な列は排除するようにする。冗長は、余分無駄という意味。

例えば、次のような表を作成するとする。

                                      
社員番号 名前 生年月日性別年齢保有資格
001 田辺 淳 平成1年2月12日 33歳ITパスポート
002 秋山 麗 平成3年9月23日 31歳基本情報技術者
003 加藤 太一 平成4年1月30日 30歳基本情報技術者

この場合、冗長な列は年齢になる。 年齢は、現在の日付から生年月日を引くことで分かるためだよ。