データベースって何?

~知っているようで知らないネットショップを支える技術

印刷用ページを表示する

関連タグ

,

( 2008/4/17 グリニッジ有限会社 金井佳子 )

ネットショップを経営する上で欠かせないテクノロジー。
しかし、漠然とした理解でも運営が出来る今、いざ外注にシステムを・・となった時に慌てる事態になりかねません。
慌てる前に、触りだけでも勉強しておこう!という趣旨で、今回はデータベースを取り上げてみたいと思います。
今回はbuilder 「データベースのイロハ:そもそもデータベースとは?」を参考に、もう少し噛み砕いた表現で、再度、補足も交え、まとめた物です。builder本文の内容は、非常に分かりやすく、より詳しい説明がありますので、是非、ご覧下さい。

データベースって何?

データベースというのは、簡単に言うと、データの集まりの事です。
一つ一つがデータ、集まるとデータの基地(ベース)です。そうすると、よく使っている電話帳や図書館もデータベースですね。
そして、データを管理するソフトの事もデータベースと呼びます。
代表的なデータベースとしては、オラクル(オラクル社は、オラクルのインストールの簡単さをアピールするため、本物のサルにインストールさせた、面白い会社です!)やSQLServer、MySQL、PostgreSQL等があります。

所でデータベースってどうして必要なの?

データをたくさん集めたのがデータベース。それではファイルにデータをたくさん貼り付けるのと、何が違うのでしょうか?
実際に今までは、請求書や納品書を手書き、あるいはワープロソフトで作成し、印刷し、ファイリングしてきました。これで紙としてデータを管理していたのですが、大量の紙の管理は面倒ですし、破損したり置き場所を取ったり、お客様の名前と日付を変えて使いまわしたりする事が出来ないという事で、今度はファイルにとってかわります。

一つファイルサーバを用意しておけば、全社員が納品書も請求書もそこにため込んで行けば良く、コピーもメール添付も出来る様になりました。必要に応じて印刷すれば、紙の節約にもなり、バックアップも簡単に取れます。

ところがまた困った事がおきます。
ファイルに変更点があり、修正する場合、他の誰かが同時にファイルを開いていたらどうでしょうか。
その度に「ちょっと一旦作業ストップして、修正した所を保存してファイルを閉じてくれる?」というコミュニケーションが必要です。
しかし、だからと言って、毎回誰がどのファイルを作成しているのかチェックするは現実的ではありません。また、ファイルが大量になると、どこに何がどんな名前で置いてあるのか、混乱してきます。

さらに、社員番号10番のAさんが結婚のため苗字が変わったとしましょう。
名前変更の手続きをするには、まず社員情報を取り扱うファイルが、どんな名前で、どこに保存してあり、誰によって管理されているのかを予め知っておく必要があります。そして、その情報を更新しても、営業成績表も交通費精算表もデータが関連している訳ではないので、過去に遡って一から修正が必要になります。
挙句の果てに修正した後、同姓同名になってしまった人がいるとしたら、営業成績表を見分ける手段がありません。また、ファイルが壊れた場合、回復の手段をもっていません。

以上の様な事から、どうやらファイルを使ってデータを管理するには、徹底したルール作り、管理体制が必要になってくるようです。
データとして扱いたい情報が多くなってくると、ファイルでデータを管理する事がだんだん難しくなってくるという事です。

そこでデータベースが活躍します!

ファイルでのデータ管理と、データベースでのデータ管理の違いを見てみましょう。
まず、データは独立して管理されているので、呼び出すアプリケーションに依存しません。
データベースは各々関連付けられ、「社員番号10番」といえば、苗字が変わっても同じ個人を指す事が出来ます。(この様に関連付けが行われたデータベースを特にリレーショナルデータベースと言います。)
また、重複チェックはデータベースが持つ機能が勝手に行います。データへアクセスする人を制限する事も可能です。
さらに何らかの障害が起こった場合に備えて、回復機能を持っています。

これらは全て、データベースが持つ、データベース管理システム(DBMS)の機能です。
複数の人間が、大量のデータを簡単に検索し・抽出出来る仕組み。これがデータベースの利点であり、ファイルとの違いです。

簡単便利!?

ファイルに比べてデータの共用、管理が簡単に行えそうなデータベース。
しかしながら、データベースを個人で使用する分にはいいのですが、ネットワーク上で複数人で共用・・となると若干話は変わってきます。
サーバーへのインストール、命令後(SQL文)の習得、それを使用するためのプログラミング・・と必要となる技術が専門的になってしまいます。
しかもセキュリティや、レスポンスの速さなど、解決するのが難しい問題もあります。
そういった訳で、データベースの管理は専門家にお願いした方が安心という事になります。
しかし、概要を押さえておくと、どのようなデータをデータベース化すれば、どのような用途で使えるのかといった事を発想出来ると思います。
難しい技術より、そこが一番大事な所です。一度、何をデータベース化すれば、どんな良い事があるか、想像してみて下さい!

【参考サイト】

builder

トラックバックURL

この記事を読んだ人におすすめの記事

コメントをどうぞ

※初回のみ、管理者の承認が必要となります。