データベースを学ぶ
データベースとは
図5-1.データベースはアプリに不可欠
4日目の段階で、アプリケーションの見栄えはかなり良くなりました。「これでいいのでは」と思う人もいるかもしれませんが、実は現在のプログラマーが要求される、もう一つの大事な知識が抜け落ちています。それがデータベースです。
データベース(DataBase:DBと略すことが多い)とは、データの集合体という意味で、大量のデータを集めて、コンピューターでデータの追加、削除、検索をしやすい形に整理するための仕組みです。
様々な種類がありますが、現在主流で用いられているデータベースはリレーショナルデータベースと呼ばれるものであり、SQLという言語で操作されています。
したがって、データベースそのものを、SQLと呼ぶこともあります。また、SQLを利用できるデータベースは、MySQL、SQL-Serverなどのように、名前のなかにSQLが入っているケースがほとんどです。
なぜデータベースが必要なのか?
ではいったい、なぜデータベースが必要なのでしょうか?それは、SQL文というきまった命令を発行することで、データベースが大量のデータを高速で追加・削除・編集、そして検索を行うことができるからです。(図5-2.)
図5-2.データベースの使い方
同様の処理をプログラマーが自分で開発することは、理論上は不可能ではないでしょう。しかし、それはあまりにも開発コストなどの面で非現実的です。
その上、現在多くのリレーショナルデータベースはネットで無料で手に入れることが可能になっていることから、だれでも容易に利用できるため、そういった意味でも是非ともデータベースを使うべきでしょう。
SQLの学習
SQLの学習は、プログラミング言語の習得に比べれば簡単です。データを挿入するINSERT、削除するDELETE、更新するUPDATE、そして最も利用頻度が高いと思われる、検索するためのSELECTの、主な4つの命令で構成されています。
そのため、データベースを学ぶにはまず手頃な入門書や入門サイトを見て、そこに出ている零代などを少し入力して試してみるなどすれば、割合簡単に利用が可能になります。
→ MySQLの入門サイト
→ SQL関連の書籍
データベースの導入
データ処理をSQLで置き換える
SQLについて学習が終わったら、今度は作ったプログラムのデータ処理の部分を、データベースの処理に置き換えてみましょう。処理方法は簡単で、プログラムの中にデータベースに接続し、SQL命令を発行し、必要に応じてその結果を取得するだけです。(図5-3.)
図5-3.データ処理をSQLで置き換える
データ検索などは、プログラマーが自分で実装するのはなかなか大変です。しかし、データベースを用いれば、プログラムは驚くほど簡単になります。
苦労して考えだしたデータ処理のプログラムが、実はあっけないほど簡単だった、とわかったら、プログラマーはおそらく拍子抜けするのではないでしょう。逆の言い方をすれば、それだけデータベースが便利だということになるわけです。
データベースの長所と短所
すると、「では、すべてのデータに関する処理をデータベースに置き換えればよいのではないか」という疑問も当然ながら浮かんでくると思います。
しかし、それはあまりにも極端な考え方です。なぜなら、データベースは確かに大量のデータを容易に高速で扱うことに関しては非常に便利なツールですが、同時に小規模なデータなどの処理はあまり高速で行えないのです。
そのため、高速な処理の中で小規模なデータを処理するようにしたいのであれば、逆にSQLは不向きです。そのため、状況に応じて、使い分けることができるようになる必要があるのです。
データベースを用いる効用
ここまでくると、ほぼプログラムとしては完成と言っていいでしょう。GUIの導入とデータベースの導入は順序としてゃどちらが先でもかまいませんが、大事なことは「現在の実用的なアプリケーションのほとんどが、その両方を用いている」という点にあります。
そのため、この両者を使いこなせるようになれれば、プログラマーとしては合格と言っていいでしょう。しかし、ここで満足していてはいけません。ここから先は、さらに腕を磨くことについて考えてみることにしましょう。