リレーショナルデータベース(RDB)について調べました。
まずはじめに、データベースは大きく分けて「階層型データモデル」「ネットワーク型データモデル」「リレーショナルデータモデル」があります。
階層型データモデルではデータをツリー構造でデータを管理する仕組みで、データにアクセスするためには一通りしかありません。
ネットワーク型データモデルでは網の目の形で表現され、階層型を改善したもので、複数の親データからのアクセスが可能になりましたが、データ構造への依存性は強く持っています。
そこで一般的に使われているのが、リレーショナルデータベースです。
リレーショナルデータベースは、データを行(row)と列(column)から構成される2次元の表形式(table)で表します。
データを扱うには、SQLというプログラム言語を使い、ユーザの目的に応じてデータを表すことがが出来ます。
また、リレーショナルデータベースには、正規化というものがあります。
図のようなデータを作るとします。
正規化とは、データの冗長性を少なくして、関連性の強いデータ項目をまとめて、一箇所になるようにすることです。
先ほどの図をこのように正規化をしました。
正規化をすることで、ディスク領域の無駄を省くことができます。
それから、部署の名前が変わってしまった場合に1か所を変更すれば一つ一つの名前を変更しなくても済みます。
こういった理由から正規化を行うことでより効率的に扱うことは重要だと思います。
リレーショナルデータベースには多くの製品があり、有名なOracle社のDatabaseや、MicrosoftのAccessなどがあります。
無償で使えるのがPostgreSQLやMySQLといったソフトウェアです。
前回Webアプリケーションについての記事でLAMPのご紹介しましたが、Mにあたる部分がMySQLです。
以上、リレーショナルデータベースについて調べました。
リレーショナルデータベースしか知らなかったので、他のデータモデルの事が学べました。
SQLの知識もWebアプリケーション開発には欠かせないので、そういった勉強もしようと思います。