コース: プログラミングの基礎:データベース

データベースとは

このレッスンでは、 表計算ソフトと比べることで データベースの必要性と 重要性について説明します。 データベースについて理解する場合、 いきなりデータベースソフトウェアから 学び始めないでください。 まず、データから始めましょう。 私たちの周りには 保存すべきデータがたくさんあります。 例えば、顧客、製品、 従業員、注文についての 詳細な情報などがあります。 これらのデータは、 名前や説明のようなテキスト形式でも、 数値や日付でも、 あるいは、ドキュメントファイルや 画像、オーディオ、ビデオなどの バイナリデータでも構いません。 けれども、すでに保存できる データである必要があります。 これは重要なことです。 テキストファイルを開いて その中に入力しても、 スプレッドシートを開いて入力しても 構いません。 さて、多くの小規模な企業は Excelなどの表計算ソフトで データを管理することから始めます。 そして、データベースを必要とする 十分な理由がないので、 何年もの間、 表計算ソフトを使い続けるでしょう。 すると、潜在的な問題が生じ始めます。 それは、データ量、更新のしやすさ、 正確性、セキュリティ、 冗長性、重要性の6つの問題です。 まず、データ量は どんどん増えていくでしょう。 表計算ソフトのシートに 100行のデータがある場合は 素早く表示されるでしょうが、 200万行になったらどうでしょうか? 多分、別のファイルに分割しますね。 当然、管理が複雑になります。 次に、データを簡単に 更新できるかという問題です。 複数の人がファイルをコピーし、 それぞれに編集する必要が生じた場合は どうなるでしょうか? 他の人の変更を すべての人が上書きすることになります。 そして、データの正確さです。 関連のあるデータの片方は修正したのに、 もう片方は何もしない場合、 表計算ソフトでは 誤りを検出する方法はありません。 ファイルが古くなるにつれて 正確でないデータでいっぱいになり、 一貫性がなくなり、信頼できなくなります。 更に、セキュリティの問題です。 給与や健康管理などの個人情報や、 財務上の機密データにアクセスする人を 表計算ソフトでは 監視することができません。 そして、データの複製による冗長性です。 冗長性自体は悪いことではありません。 バックアップによる冗長性は良いことです。 けれども、データ自体のコピーには 矛盾が生じる可能性があります。 競合が発生するからです。 営業部門のファイルでは 製品Aは1000円だと記述され、 販売部門のファイルでは 同じ製品Aが1100円だと書かれていたら どうでしょうか? どちらが正しいのか分からなくなりますね。 最後に、重要性の問題があります。 表計算ソフトや 文書作成ソフトで作業している場合、 経験があると思いますが、 作業中にクラッシュにより ファイルが破壊される可能性があります。 そのような場合、 例えバックアップがあったとしても 更新に費やした時間が 無駄になってしまいます。 データは非常に重要です。 多くの企業でデータはビジネスの中心です。 それを失うことはできません。 データベースを使用することで、 これらの問題を解決することができます。 データベースを使用すると、 増大するデータ量に 対応することができます。 例えば、テラバイトのデータがあっても データベースは処理をすることができます。 同時に、多数の人がデータを簡単に 更新することができるようになります。 データベースは同時アクセスを前提に 作られているからです。 データベースには多数の制約があり、 チェックを行うので、 正確で矛盾のない状態を 保つことができます。 また、誰がどのようにアクセスしたのかを 正確に追跡することで、 安全性が保たれます。 そして、正規化により 冗長性は排除することで 一貫性を保つことができます。 更に、非常に堅牢で データに変更を加えたあと、 その変更を失うことは決してないでしょう。 これらが データベースから得られるものです。 FileMakerや Microsoft Accessデータベースしか 操作したことがない場合には イメージできないかもしれませんが、 データベースは 単なるデータの置き場ではありません。 データを格納するための 構造化されたシステムであり、 そのデータにルールが適用されます。 このレッスンでは、 表計算ソフトと比べることで データベースの必要性と 重要性について説明しました。

目次