
何となくじゃダメ!データベースをきっちり理解する--WebデザイナのためのPHP入門
データベースを知ってWebサイトをパワーアップ
例えばショッピングサイトを作ることを考えてみよう。
「価格が安い順に並べたい」とか、「入力したキーワードに一部でも合致したら、その商品を表示する」とか、はたまた「最初に20件だけ表示して、『次のページへ』のリンクをクリックすると、次の20件を表示する」といった具合に、さまざまな機能を思い浮かべることができるだろう。
いったい、どれだけ難しいテクニックが必要なのかと思われるかも知れない。また、実際にWebプログラマに提案しても「難しすぎるので無理」などといわれるかも知れない。
しかし、実際にはこのようなデータ処理は「データベース(DB)」を利用してさえいれば、実に簡単に実現することができる。是非、デザイナの皆さんもデータベースの知識を身につけ、理論武装でプログラマを説得してみて欲しい。
データベースはソフトの種類の名前
まず最初におさえておきたいのは、データベースというのはソフトウェアの種類の名前ということだ。
例えば「Webブラウザ」という種類の中に「Microsoft Internet Explorer」や「Firefox」があるのと同様に、データベースにも具体的な製品群がある。
「Oracle(オラクル)」という製品がその筆頭で、世の中の多くのシステムがOracleで作られている。とはいえ、この製品は十万円弱から構成によっては数千万円になるようなソフトウェア。とても個人や小規模のWebサイトで使えるようなものではないだろう。
小規模サイトに最適なのはオープンソースのデータベースで、「MySQL(マイエスキューエル)」や、「PostgreSQL(ポストグレエスキューエル)」といったものが有名だ。オープンソースと市販ソフトの違いは、大量のデータの処理速度や、複雑な処理、データのバックアップ処理などだが、機能的な不足はほとんどない。
データベースをより細かく解説すると、さらにさまざまな種類があるのだが、ここでは割愛する。現在一般的なデータベースは「リレーショナルデータベース」という種類で「RDB」と略されることもある。
このデータベースは、簡単に言えばMicrosoft Excelのような表計算ソフトを思い浮かべると良いだろう。縦と横の2次元の表にデータを格納することになる。例えば、下の図1を見てみよう。

横軸に各データの「定義」がされ、縦軸にデータが複数件含まれている。これがデータベースの基本形である。データベースは、こうして2次元の表でデータをどんどん蓄積していくことができるわけだ。