リレーショナルデータベースの基本
データベースとは何か
「IT(Information Technology)」という言葉が一般的に使われるようになって、10年ほどが経過しました。今の世の中は、まさに「情報」が主役になっていると言えるでしょう。
そのような中で、大量の情報を保存・管理し、また検索等の処理を効率良く行うシステムは、非常に重要な存在になっています。このようなシステムのことを総称して、「データベース(Database)」と呼びます。特に、コンピューターを使って、電子的にデータを管理するのがデータベースの一般的な形態です。
本連載では「データベース基礎中の基礎」と題して、これまであまりデータベースに触れる機会がなかった方に、またちょっと復習したいと思っている方にも読んでもらえるように、解説していきたいと思います。
今の世の中では、個人の住所録のようなごく小規模なデータから、在庫管理・販売管理・顧客管理といった大企業の基幹業務で使うような大規模なデータまで、さまざまなデータがデータベースで管理されるようになりました。データベースは、私たちの生活の中で、なくてはならない存在になっています。
データベースのシステムは、さまざまなメーカーから販売されています。マイクロソフトの「Access」など、一般のパソコンにインストールして使えるようなデータベースもあれば、大型コンピューターで動作させる巨大なシステムもあります。
また、最近は「クラウドコンピューティング」が流行になっています。クラウドコンピューティングを大まかに言えば、インターネット上の多数のサーバー連携させ、仮想的に1台のサーバーのように見立てて、さまざまなサービスを提供する仕組みです。
クラウドコンピューティングの中でも、大量のデータを扱う機会が多く、データベースが重要な役割を果たしています。例えば、クラウドコンピューティングの代表的な存在であるGoogleでは、その内部で「BigTable」という巨大なデータベースを使っています。
「リレーショナルデータベース」がデータベースの主流
データベースが世の中に登場したころは、多数のデータを階層化して扱う「階層型データモデル」という手法が使われていました。階層型データモデルは、データをツリー状の構造で管理する仕組みです。
階層型データモデルの典型的な例として、パソコンのファイル管理の仕組みがあります。ファイルをフォルダに分類して管理し、またフォルダの中にフォルダを入れることもできる、階層型の構造になっています。
また、階層型データモデルを改良して、データ同士の関係をネットワーク的に表す「ネットワークデータモデル」も考案されました。
しかし、現在では「リレーショナルデータモデル」に沿ったデータベース(リレーショナルデータベース)が、圧倒的に広く使われています。詳しくは次のページで解説しますが、リレーショナルデータモデルでは、データを表に分割し、また表をさまざまな手法で組み合わせることで複雑なデータを柔軟に扱うことができます。
リレーショナルデータモデルのデータベースのシステムのことを、総称して「Relational Database Management System(以降RDBMS)」と呼びます。「Oracle Database」(オラクル)や「Microsoft SQL Server」(マイクロソフト)などをはじめとして、大小さまざまな規模のRDBMSが販売されています。
また、「MySQL」(http://www.mysql.com/)や「PostgreSQL」(http://www.postgresql.org/)など、オープンソースで公開されているRDBMSもあります。