プログラミングの必須知識!データベースは便利なデータ貯蔵庫です

プログラミングを初めてからだいぶ経ちました。とはいえ、まだペーペーですけどね。

そんな簡単に身に付けられるようなことだとは思ってませんので、結構気軽に構えています。でも、学ぶときは本気で学ぶ!がモットーです。

さて、今日はSEをやる上で欠かせない、データベースについてまとめておきます。プログラミングに関わる人もそうでない人も、今の時代はデータベースがとっても大事なんです。

データベースとは何か

database

みんな大好き!ウィキペディア!によるとデータベースとは以下のように定義されています。

データベース(英: database, DB)とは、検索や蓄積が容易にできるよう整理された情報の集まり。

通常はコンピュータによって実現されたものを指すが、紙の住所録などをデータベースと呼ぶ場合もある。

狭義には、データベース管理システム (Database Management System, DBMS) またはそれが扱う対象のことをいう。

だそうです。相変わらずウィキペディアの説明は簡潔ですね。一部だけですけど。データベースで重要な概念は「検索や蓄積が容易にできるよう整理された情報の集まり」というところになります。

 

データベースとは、読んで字のごとくDataとbaseが重なり合ってできた言葉。

  • data = 情報
  • base = 基地

なので、想像は付きやすいかと思います。そんなデータベースの主な役割は、各コンピューターに対して情報を供給することです。

データベースは柔軟なシステムである、従来データを扱ってきた「ファイル」という概念の枠を飛び越えて、様々なデータを整理統合したものです。

「組織的なデータの塊」がデータベースといえるでしょう。

 

データベースの管理システム

巨大なデータの塊がデータベースである、というのはお伝えしました。

ウィキペディアの説明にも出てきましたが、データベースはそのもの単体ではデータの整理を行うことはできません。結局はデータを保管しておけるスペースのようなものです。

なので、データを管理してくれるシステムが必要になります。ウィキペディア内の説明にも出てきましたが、DBMS(Data Base Management System)というシステムがデータ内に存在するデータの管理に役立っています。

コンピュータのデータベースを構築するために必要なデータベース運用、管理のためのシステム、およびそのソフトウェアのことである。データベースマネジメントシステムとも呼ばれる。

データベースの管理システムで有名所といえば、

  • ADABS
  • ADBS
  • AIM
  • DB2
  • SQLBase
  • Oracle Database

など数多くが世界中で使用されているようです。たくさんあって迷っちゃいますね。また、データベースにはモデルというものがあって、データの収容構造を示しているものが幾つかあります。

  • 階層モデル
  • 網モデル
  • 関係モデル

が有力となっています。今回は特に解説はしませんが、こうしたモデルによってデータベースにデータを収容しているんだ、というイメージが付けば十分でしょう。

 

データベースのメリット

database3

では次にデータを使用するとどのようなメリットがあるか、という点について簡単に説明していきます。大きく分けると、データベースを使用することで得られるメリットは以下の三点です。

  1. ファイル領域の浪費の回避できること
  2. 更新が一箇所で済むこと
  3. 更新に漏れがないこと

データベースは、データ内部の情報を統合して作られているデータの塊なので、幾つかにおいてデータを共有して使用することが可能となっています。

database

上の図のようにデータベースを真ん中に添えることで、各地に散らばっているプログラム(これらをクライアントと呼びます)からデータベースに対して加工ができるようになるのです。

これによりデータがあちこちに散らばることもなく、また、一箇所のみの更新で済んでしまうという手間暇が回避されます。データとしての塊なので重複もなく、ファイルのようにデータ容量を必要としないのも特徴です。

こうした図のように現代のシステムでは、データのみをプログラム(クライアント)から独立させることで「複数のシステムで一つのデータを使用する」ことができ、「システムの標準化」につながっています。

こうしたデータベースを使用したプログラムは、データありきのアプローチであることをお忘れなきように。

以上がデータの概要でした。少しは理解していただけたでしょうか。

 

まとめ

現代でのシステムでは非常に多用されてるデータベースというものの考え方をご紹介していきました。このデータベースでは、中に格納されているデータを取り出すためにコマンドを打ち込む必要があります。

こうしたコマンドは、また別の機会に紹介させて貰えればと思います。

SELECT文やWHERE句などのコマンド文が存在していますので、それらを少しでも次の機会などにご紹介できればと思います。また、僕の説明を読んで「ここはこうした方がいいよ!」とか「この説明間違っているよ!」なんてのがあったらぜひぜひ教えてください。

まだまだ未熟者なので、ご教授いただければ!

この記事が気に入ったら
いいね ! しよう

Twitter で
SPONSORED LINK

ABOUTこの記事をかいた人

旅・音楽・プログラミング・ブログを愛するコンテンツ・クリエーター。フィリピンで就業、カナダで語学留学を経験しニュージーランドで大学を卒業。 TECH::CAMPの二十九期生としてRuby / Ruby on Railsを勉強しました。記事の執筆・広告は「お問い合わせ」からお願いします。