2ntブログ

データベースとはなんぞや?

「EXCEL」は知ってる、使えるけど「Access」は知らない、よく分からない、使えないって人は多いと思います。
しかしあらゆる社会の仕組みがIT化された今日の世界のシステムの殆ど全てが、データベースを中核として作られています。

銀行のATMやコンビニのレジとか、あるいは配送や在庫管理とか、ホテルの予約も全てです。
もちろんネットショップもそうです。
データベースって言うと、よく出てくるのが住所録とか人の管理にしか使われていないと思われがちですが、銀行口座の残高や入出金、レジの売り上げの記録、配送状況や在庫状況、ホテルの予約情報も全てデータなんですね。
そういう大量のデータはEXCELみたいな表計算では管理しきれないんです。
もちろん全国に支店をいくつも持つようなお店の売り上げ管理とかってなると、いくらデータベースとはいえ「Access」でも無理ですから、業務用のものを使うわけです。
有名なのだと、Oracle(オラクル)データベースや、マイクロソフトもSQLサーバーという業務用のデータベースソフトを出しています。

データベースを扱えると、IT企業に居る人はもちろんですが、居ない人でも会社に重宝されます。
先に述べたように「EXCEL」は使えるけど「Access」つまりデータベースは使えない人が多いからです。

そんなわけで、データベースとはなんぞや?ってのを述べたいと思います。


1.EXCELとの違い

私も最初はそうでしたが、まずEXCELとAccessの違いが分からんって人が多いです。
EXCELは最初から表ができていて、データを入れるだけで簡単だけど、Accessは表を自分で作らなければならないので面倒だし難しい。
個人や小さな会社の住所力、社員名簿ぐらいならEXCELでも十分機能はします。
特定の情報の検索もできます。

EXCELとAccessの最大の違いは扱えるデータの量です。
EXCELの表は無制限に縦や横のマスは増やせません。
あれは65535列・行までって決まってるんですよ。
したがって従業員が65535人以上居たら、もうEXCELで社員名簿は作れませんw
あるいは何かの会員情報でも、受発注や売り上げの記録でもそうです。
データベースは保管できるデータの量に制限はありません。
HDDの容量がある限り、いくらでも保管できるんです。


また、大量のデータの中から欲しいものを抽出する、いわゆる検索についても違います。
数百・数千人の名簿の中から、一人の人を検索したいって場合、EXCELでもAccessでもさほど検索時間は変わらないと思いますが、これが数万人とかなると、確実にAccessなどのデータベースでないと、とてもじゃないけどすぐに検索結果なんて出てきません。
それと複数の条件がある場合、例えば2000年入社の男性で、埼玉県在住の営業の人みたいな。
こういう場合、もうEXCELだと非常に難しいか不可能です。
Accessをはじめとしたデータベースはこれが得意、というかそれが真の機能と言っても良いでしょう。

まとめると、ものすごい沢山のデータを保管できて、なおかつその中から必要な時に必要なデータをすぐに取り出せるのが「データベース」です。

役所で紙の住民票とかをファイルに閉じて、閉まってある。
これがデータベース
その住民票を集計して、今現在うちの市には何人の人が住んでいて、男性がそのうち何人で女性が何人で子供の割合がいくらでお年寄りの割合がいくらでってレポートみたいなのを出したときの表がEXCELですね。



2.データベースを扱えるようになるにはまずSQLを学べ

SQLとはデータベースを操作する為の言語です。
Accessでも使えますし、数百万・数千万円もするようなOracleなどの業務用のデータベースでも使えます。
SQLは新しいデータの追加や既存データの修正・削除の他に、指定された条件に合うデータの抽出、つまり検索も行えます。
これを知っていれば、どんなデータベースでも「操作」できるんですね。
もちろん「データベース」を作る、業界では「構築する」なんて言いますが、そういう仕事はSQLを知っているだけではできませんけど。

出来上がったデータベースを使う時は全てこれです。

画面の空白に検索条件を入れて検索ボタンを押すと、該当のデータの一覧がバッと出てくる。
そういうシステムも、裏でSQLをデータベースに対して送っているんです。

SQLで最も有名、というかよく使われる構文がこれです。

SELECT 項目名 FROM テーブル名 WHERE 条件

これは条件にあったデータを抽出する時の命令文ですね。
項目名というのは、例えば社員データであれば「社員名」や「社員番号」や「入社日」や「部署」や「役職」などのですね。
その「社員」の全ての情報が知りたいんだという場合は「*」を指定すれば、そのテーブルが持っている全ての項目が結果が出た時に表示されます。

テーブル名というのは、データベースはEXCELで言うところの表を複数持っているのが普通なので、どの表から情報を検索するのかを指定するのに必ず使います。
なぜ複数の表を持つのかというと、その方がひとつの表が小さくなって検索が高速になるからです。
たとえば社員データなら「T_社員名」というテーブルには「社員名」と「社員番号」だけ、「T_入退社」というテーブルには「社員番号」と「入社日」「退社日」だけみたいな。

これら2つの表は「社員番号」という同じデータで関連付けされて、表示の時はあたかも1枚の表であるかのように出すことができます。

条件は項目名・条件記号や文、条件で構成されます。
「田中」さんを検索したいなら、

WHERE 社員名 LIKE "*田中*"

こうすると指定されたテーブルから名前、というか苗字が「田中」さんな人が全て表示されます。

データベースを「作る」のではなく「使う」だけで良い人は、これだけ覚えておけば、かなりの事ができます。
「作る」人はこの他にデータを追加する、更新する、削除する文も知らないと困りますけど。

まぁ大抵はデータベース単体で使う人は居ないでしょう。
あらかじめ作られた画面にデータや検索条件を入力して、ボタンをぽちっとクリックすれば良いだけのように作られているでしょうから。

ちなみに業務用データベースにはこの「画面」を作る機能がありません。
できるのはコンソール画面、Windowsで言うとアクセサリの中にあるDOS窓って言われるようなのを起動した時の画面ですね。
あーゆーとこに直接、上記のSQL文を打ち込んでEnterしてその結果が画面に文字でズラズラ出てくるだけです。

Accessには「画面」を作る機能も入ってます。
だから余計に面倒なんですけどねw



3.データベースを作れるようになるにはAccessをマスターする

厳密にはAccessが使いこなせたからといって、業務用のデータベースも構築できるようになるかってーと、そうではないですが、データベースの基本を学ぶ事はできます。
目的のデータをどう保管するのか、テーブルをどう別けるか、関連付けるか、どういう機能を搭載するか、そういった基本が全て学べます。

受発注システムなんかも作れますよ、データ量が少ない小さな会社なら。
電話やFAXで受けた注文を画面に入力して、「発注入力」ってボタンを押すと、Accessのテーブルに新しい発注データが追加保存される。
同時に発注番号みたいなのが発行される。
納品の時は該当の発注番号を入れて発注書を検索し、その画面にある「納品」ボタンを押すと、プリンターから納品書が出力されるみたいな。
同時にAccessのテーブルにあるその発注データは納品完了のフラグが入れられて、納品日が書き込まれるみたいな。

これ、同じものをEXCELで作れって言われても無理ですからねw

まぁこんな感じで、自社サーバなんて無いような中小どころか零細企業に勤めてる人なんかは、Accessを買ってもらってこういうの作ると、たぶん出世できますよw
知らない人、パソコンとか良く分からんって社長や重役から「おまえすげーな」って言われると思いますw

ぜひがんばって作ってみてくださいw

コメントの投稿

非公開コメント

カウンタ
プロフィール

ウホッ!いい男

Author:ウホッ!いい男
異世界転生を待ち続ける中高年のおっさん

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR