[Excel VBA] データベースとの連携 そもそもデータベースって何?

まず始めにデータベースとは?というところから説明するよ。

データベースっていうと何かとてつもなく難しそうな響きがあるけど、要はただのデータの入れ物です。だからもし例えばExcelとかCSVとかで顧客マスタみたいなのを作っているとしたら、それも1つのデータベースです。

ただ、Excelで作ったデータベースの弱点は、Excelはあくまで表計算ソフトなので、何でも入力出来てしまうので、例えば住所を入れるべきところに郵便番号を入れちゃうこともできる。

でもそうした瞬間にそのデータは全く価値の無いものになってしまうんだ。

世の中はたくさんのデータベースのソフトがあって、例えばMicrosoftの提供しているSQL ServerとかOracle社のOracleデータベースなんてのが有名どころだけど、どれも基本は同じで、データを入れるためのテーブルと呼ばれるものを作成して、そこに色々な制限を付けたり、検索スピードを早くするインデックスというものを設定したりして、あとはソフトウェアからデータを操作するって感じ。

操作と言っても基本はたった4種類。テーブルに登録されたデータを検索する、データを追加する、既に登録されたデータを更新する、データを削除する。これだけ!

では元の話に戻って、なぜデータベースソフトを使うと良いかというと、さっき言ったようにデータに様々な制限をかけることが出来るからなんだ。

例えば金額しか入れてはいけないところは、もちろん文字が入ることは無いから、数値しか受け付けないようにするとか。

あとは、マスタ系のデータでよくあるけど、それぞれの行の情報に対して番号を振って、その番号でデータ管理したりするけど、こういったソフトでは、自動で番号を割り振ってくれる機能があるんだ。

これはものすごく便利!手動で番号を振ろうとしても、どうしても重複してしまったり、おかしな番号を入れてしまったりすることがあるけれど、データベースソフトに任せておけば、確実に重複のない、一意の番号を自動で振ってくれるよ。

まあ他にも機能は色々あるんだけれど、まずはざっくりとデータの入れ物と思ってもらえればいいと思う。

次回以降でAccessデータベースとExcelの連携について教えるよ。データベースの入門としてはAccessが一番手ごろに使えて便利です。