データベースについて

更新日: 2003年 9月 27日(土)

データベースって?

データーベースこそ、コンピュータの主な利用方法でしょう。少なからずデーターベースを耳にしたことはあるとは思いますが、エクセル(表計算)とアクセス(データベース)の区別がつかない感じの方もいると思います。

先に答えからいうと、どちらもデーターベースになります。と、いうのはデータを蓄積するものは、すべてデーターベースだからです。ただ、無造作にデータを蓄積すると、データが次第に蓄積され、その量が膨大と化した時に、その膨大な量から探したいデータを探すのが大変になります。

一般的にデーターベースと言われると、高級なコンピュータでデータを集中/分散管理するようなハイテクノロジーみたいな感じがしますが、かなり身近ならところにデーターベースはあります。

リレーショナルデータベース

高級なデーターベースで集中管理・分散管理する高度なデーターベースの主流としてリレーショナルデータベースマネージメントシステム(RDBMS)と呼ばれるものがあります。

先に述べたように、普段から無造作に置かれたデータは保守がしにくいため、保守や検索が良くなるようにあらかじめ矛盾のない一貫したデータベースを作るシステムです。

データの一貫性がない例として、去年、住所録を作りそのデータをコピーして年賀状を作ったとします。今年、住所録に変更があり、住所録を修正しても、年賀状のデータは去年のままで、同じデータなのに異なるデータになり、矛盾が発生します。

この場合、シートをリンクすれば問題は解決できますが、異なるアプリケーションで利用するためデータをコピーしていることが問題になります。PCに無造作に置かれるファイル群こそデーターベースと化しますが、そのデータは一貫性が取れておらず変更や検索がとても大変になります。

そこで、一貫性が取れるように正規化し、レコードに重複のない複数の表に分割し保存します。それらの表を利用するときは、リレーショナル(関係)な表を結合し、元の表に戻したり、新しい表を作ったりします。

大体の場合 データーベース = RDBMS でも問題ないですが、広義の意味でのデーターベースも覚えておいてください。

主な RDBMS

RDBMS は SQL 言語と呼ばれる言語を共通で使用します。とりあえず、規格で統一はされてますが、仕様が古いですし、すべてをカバーするものではないので、メーカー独自のコマンドも覚える必要はあるでしょう。

SQL 言語を利用できる主なDBは以下の通りです。

など

ちなみに Access だけ、あくまで個人向けなのでスループットがよくなく、データーベースサーバーには向かない言われてます。

とりあえず RDBMS で Windows, Linux で人気が高いのは Oracle です。また、MS SQL Server, DB2 は同クラスの性能を誇りますが、ここでどっちが早いかと言うことはいいませんし、わかりません(爆

MySQL / PostgreSQL は、ともにオープンソースで無料で利用できます。ただ PostgreSQL に Windows版もあるのですが、少し不安定です。もし Windows で利用するなら MySQL がお勧め。ただ、サブクエリーやプロシージャが使えません。

 

次回予告

RDBMS でデータベースの設計手引き ( 更新日→不明 )