こんにちは。ぽこです!
今回はデータベースシステムについて解説し、データベースとファイルの違いをお話ししたいと思います。
データベースシステム
データベースシステムとは、データベースとデータベース管理システム(DBMS)をまとめたものです。データベースとデータベース管理システムについては、こちらの記事で解説しています。
データベースシステムの特徴としては、以下のようなものが挙げられます。
- プログラムの独立性
データベースの仕様変更が発生しても、多くの場合プログラムを変更する必要がない。
- データの非重複
データベースとして情報を一元管理するためデータに重複がない。
- 同時処理の実現
データベースのアクセスは同時に複数のユーザが行える。
同時の書き込みや削除などもDBMSが制御するため、データに矛盾が発生することがない。
- データの機密性
データベースへのユーザのアクセスをDBMSによって制御できる。
- データの障害回復
データベースに何らかの障害が発生した場合でも、DBMSはこれを回復するための手段をあらかじめ講じている。
このように
データベースシステムは、利用者が安全にかつ、効率的にデータを活用するサービスを提供しているといえます。
データベースとファイルの違い
データベースについてセル名してきましたが、これはファイルと何が違うのでしょうか?
従来のファイルは、システムにおいで何らかの処理を行うために作成したものでした。このため、いろいろな処理のためにいろいろなファイルが作成されます。
このようにいろいろなファイルが作成されると同じようなファイルや同じ項目(データ)を持つファイルも多数出てきます。
こうなるとデータを変更したくなってもどのファイルに対して変更を行えばよいのかが分からなくなり、データの変更漏れが発生し、データの整合性が取れなくなります。
これに対してデータベースは、処理に付属して作成されるものではなく、データ(情報)に着目して整理・分類したものですから同じ項目が発生することもなく、データの整合性が保たれています。
データベースとファイルの違いを下表にまとめました。比較してみてください。
ファイル | データベース | |
規定・管理の単位 | アプリケーションごとに規定・管理 | データベースの中で一元的に規定・管理 |
データの一貫性 | 異なるファイル間でデータの重複や齟齬が発生し、データの一貫性に欠如 | データが重複しないように設計するため、データの一貫性が保証されている |
データ構造の変更 | アプリケーションに密着しているため、アプリケーションへの影響大 | アプリケーションから独立しているため、アプリケーションに与える影響は少ない。 |
データベースはそれ自身で論理的な定義情報を保持し、データベース管理システムによって一元的に管理されています。
一方、ファイルはそれを利用する個々のアプリケーションに強く依存しています。
このため、ファイルは、
- 複数のファイル間でデータの一貫性を保つことが難しい
- 複数のアプリケーションでの共有が困難
データベースは、
- データの一貫性を確保
- 複数のアプリケーションで情報の共有が容易
という特徴があります。