とあるITエンジニアたちの備忘録

新米エンジニア5人がお送りする、ちょっとためになる話

データベース解説 ~基礎編~

みなさん、こんにちは。

どうも、さいばーきゃっとです。

 

今回は、データベースの基礎について、紹介していきます。

 

前回に引き続き、SQL文の記事を投稿しようと考えていましたが、具体的にSQL文を説明するためには、実際に「SQLPLUS」を使用して、説明したほうがいいと思い、実機の準備ができるまで、データベースの基礎的な解説をしていきたいと思います。

 

データベース基礎知識

データベースとは、データを「ある関連性」に着目して、ひとまとまりにしたものを指します。

例えば、社員の名前、年齢、住所、役職、給与などの情報をひとまとまりにしたものを「データベース」と呼びます。

データベースの目的は、簡単に言うと、蓄積したデータを、あとから抽出・検索など、データを活用するためです。

しばしばデータベースは、言葉的に「データを蓄積する。整理する。」という目的と勘違いされることが多いですが、実際は、「蓄積・整理」したデータを活用するために、データベースは存在しています。

情報は考えなしにため込むだけではデータでしかありませんが、あとで有効に活用できる形式で蓄積していれば、ほかの人とも情報を共有することが可能となり、価値ある「データベース」に変身するのです。

 

リレーショナルデータベース(データベースの種類)

データベースには、様々な種類が存在します。

今回は、オラクルデータベースが「リレーショナルデータベース」を管理するためのソフトウェアであるため、「リレーショナルデータベース」について解説していきます。

リレーショナルデータベースの形式では、データは2次元の表(テーブル)に格納されます。

 

リレーショナルデータベースでは、データは下記のような表で格納されています。

f:id:cloudy0901:20160412003503p:plain

 

リレーショナルデータベースの特徴

リレーショナルデータベースの最大の特徴は、データを複数の表で管理していることです。

データを複数の表で管理することは、一見すると面倒なように思えます。

しかし、複数の表で管理するとディスク領域の無駄や更新の手間という問題が解消されるのです。

 

例えば、以下の表をご覧ください。

f:id:cloudy0901:20160419015638p:plain

このように、リレーショナルデータベースでは、共通の情報を持つ列(学部番号)を使用して、表を一時的に結合して処理することができます。

 

例えば、もし1万人のデータが格納されている「生徒表」に「学部表」のデータも含めた場合、「学部」が生徒ごとに必要となります。

そのため、重複データが増えて多くの無駄なディスク領域が必要となります。

また、「学部」を変更する場合、所属している生徒分の変更処理を行わなければなりません。

 

このような問題を避けるため、データの重複を省きながら1つの表を複数の表に細かく分けて、必要に応じて結合ができるようにしておくのが、リレーショナルデータベースの最大のメリットになります。