前回は、データを格納する構造の違いから、データベースの種類についてお話しました。いくつかあるデータベースの中でも、これからデータベースを使う読者の皆さんが実際に利用するのは基本的に、主流である「リレーショナル・データベース」になると思いますので、今回からは「リレーショナル・データベース」についてもっと詳しくお話ししていきたいと思います。でもその前に、これからリレーショナル・データベースについてもっと理解して頂けるように、連載第一回目にちょっとだけ触れたデータベース管理システム(DBMS)の役割と機能についておさらいしておきましょう。
DBMSの基本的な機能
連載第一回目では表計算ソフトを例に、ファイルとDBMSでのデータの取り扱いにおいてDBMSを使うメリットについてお話しました。ファイルでは利用するプログラムが制限されてしまうことがあること。また、データを利用するためには、どのファイルのどこに格納してあるかを予め理解しておく必要があること。そして、複数ユーザーが同じファイルにアクセス(更新など)した場合のデータの矛盾が発生してしまう可能性が発生してしまうことがあるいうことをお話しました。
それらを解決するためにDBMSが利用されていると考えると、DBMSの機能というものが見えてくると思います。つまり、DBMSの機能とは次のような内容になります。
- データの独立性:データの構造が変わってもプログラムからは独立しているので、プログラムの修正が必要ない。また、どのプログラムからも利用できること。
- データの一貫性:複数のユーザーが同時にデータを操作できること。また、同時に変更や削除した場合でも、データに矛盾が発生することなく利用できること。
- データの整合性:データの重複が発生しないこと。
また、これまでお話はしてきませんでしたが、次の2つの機能もDBMSの重要な機能になります。
- データの機密性:データベースへアクセスするユーザーを制御できること。
- データの障害対策:データベースに何らかの障害がおこった場合でも、回復するための手段をもつこと。
どの機能を見ても、ファイルでのデータ管理では実現は難しい内容であることはご理解頂けるでしょう。