<HOME  <お願い事項  <Access2000 TOP   <Access97 TOP   <サイト内検索
 MS-Access2002チョ〜入門>「MS-Access」とは???


「MS-Access」とは???

MS-Accessとはいったい何なのか・・・。
当たり前のことばかりかもわかりませんが、私の考えなども含めてまとめてみました。
これから学習なさるにあたって、参考にしていただければ・・・って思います。
レッツゴーゥ!(ときどき気合入れないとさ)



【MS-Access誕生話】
MS-Accessとは、Microsoft社製のDBMS(Database Management System データベースを管理するプログラム)。
パソコンソフトには違いありませんが、わたしは、結構しっかりした考え方を持ったDBMSだと思ってます。
でもパソコンソフトなんですよね。その辺が少々悩ましいところなんですが・・・。
1993年発売。Access1.1→Access2.0→Access95→Access97→Access2000→Access2002と、数回に渡りバージョンアップを行っています。
Windowsのアプリケーションソフト仲間の中でも、古株になってきました。
単体でも販売していますし、Microsoft Officeというセット商品の中に含まれている場合もあります。

皆さんはだいたい、Microsoft Office ProfessionalかMicrosoft Office Developerか、どっちかをお持ちなのかしら・・・。
MS-Access2002だけ別に買ってインストールした、という方もあるかもしれないですね。

MS-Accessは、生まれるべくして生まれてきました。
いわゆる「ダウンサイジング」っていう言葉がもてはやされた時代・・・・・。バブル経済がかたむきかけたころでしょうか。
大型汎用機とか規模の大きなネットワークはお金がかかるし、でも社内業務はシステム化して人手を減らしたいし・・・。
そんなとき、安価なPC同士をつなげてプリンタやファイルを共有して資源を有効活用する「LAN」ってもんがバンバン発展してきました。
今じゃLANなんて当たり前すぎて言葉にもならなかったりしますけれど・・・。
MS-Accessが世の中に出てきたんは、そのころっす。
パソコンのソフトには違いないけども、本格的な「リレーショナルデータベース的考え方」を持ってて、しかも従来のリレーショナルデータベース系のツールに比べて作りこみが簡単。そんなにいろんな技術や知識がなくても、そこそこ使えるってんで、あちこちで大うけしました。
そんなこんなで・・・。10年近くもの間、幅広い層に親しまれ(親しまれてはないのかも)てきたってわけです。

そんなわけで(どんなだ)このコーナーでお話するのは、Access2002についてです。
え?無駄な言葉が多い?まあよいではないか。苦しゅうない。



【「難しい」って思います?】
MS-Accessは、パソコンソフトであると同時に「DBMS:データベース管理システム」と呼ばれる部類に属します。
「データベース管理システム」とは、いわゆる「コンピュータで大量のデータを管理運用するためのさまざまな機能を持ち合わせたソフトウェア群の総称」でございます。まあ、そんな感じのもんです。
さらに、「リレーショナルデータベース」っていう考え方に基づいたデータベースなので、「RDBMS:リレーショナルデータベース管理システム」なんてものに分類されたりします。
それと同時にパソコンソフトです。
この辺が、非常に曲者です。

「リレーショナルデータベース」っていうのがどういうデータベースで、「RDBMS」っていうのがどういう仕事をこなすものなのか、その辺を理解なさってる方にとったら、MS-Accessそのものの使い方だけ覚えればすむことなんです。
これは、まあ、お好みもありますけれど、そりゃもう相当なユーザー数誇ってますからね。
使い勝手はすごくよいと、わたしは思いますよ。痒いところに手が届く機能がいっぱいあります。
ありすぎてどつぼにはまっちゃうこともままありますが。

しかし・・・MS-ExcelとかWordとかはよく使うけど、「RDBMS」ってモノがどういうものなのかよく知らない、「MS-Excelとどう違うのかしら?」なんて考えちゃってる人にとってみたら、ソフトの操作以前に「なんでこんな機能があるのか?」とか、その時点でもうわけがわからなくなる可能性大なんです。

そう。ほんとは、RDBっていうものの考え方とかを少し身につけておかないと・・・。
高い車持ってて運転免許は取ったけど道をぜんぜん知らないからどこにもいけない・・・「車って不便〜」
・・・ちょっと、あほでしょ。こんな発想・・・。
車の運転技術や車を所有することと、行き先を決めること、道を調べることとは、別ですよね。
いくら運転がカンタンで楽チンな車でも、道を知らなければ目的地まで行くことはできません。

本来、RDBMSって名のつくものはどれも、お金も労力も技術も必要なもんなんです。
大変なんですよ。コンピュータで大量のデータを扱うのって。気も使うし。
っていうか、そういう技術を持ち合わせている人たちのみ、使うべきものなんです。
でも、とっても効率よくデータを管理することができる考え方でもあるんです。RDBMSが持っている仕組みって。
だから、社内のデータ管理に、ぜひとも導入したい・・・。
でもあまりお金はないし・・・難しいこともわからないし・・・時間も割けないし・・・でも・・・。

そんなシチュエーションに、MS-Accessはよく登場します。
もちろんそのためのもん、ってわけじゃありませんけれども・・・でも、ありがちかな、と思います。
本格的にRDBMSの世界に精通している人から見ると「なんか物足りない、ちっさい」って思われるかもしれないし、RDBなんてぜんぜんわからないし表計算ソフトとの区別もつかない人から見ると「わけわからない、やたら難しい」って思われるかもしれない。なんとなく・・・どっちつかずって感がぬぐいきれない立ち位置にあるような気が、わたしはしております。

「難しい」って言われることがあるのは、そういうところからかも、知れないですね・・・。
RDBっていうものがどういうものかよくわからずにいると、難しいもんなんじゃないかなって思います。



【何ができるの?】
実際、これはかなり「愚問」。。。と思ってください。
何ができるのかではなく、「どう使うか」です。
か〜なり、使う人のセンスや能力で、優等生にも劣等生にもなりえるやつです。
生かすも殺すも、皆さん次第なんですよ。

MS-Accessは「道具箱」です。
「データベースを作るためのいろんな道具や材料がそろってる」だけで、なーんもありません。
顧客管理をやりたいなら顧客管理ができるような仕組みを作るのです。誰がって、皆さんがですっ。
だから、やろうと思えばできるだろうし、やろうとしなければ何もおきませんのです。
あまり考えず、とりあえずいろいろ使ってみるのが得策じゃないかな〜って、思いますよ。

MS-Accessを目の前にしたら、それは、「材木と、大工道具セット」が目の前にあるのだと、そう思ってください。
「これで、何ができます?」
やろうと思えば本棚でも犬小屋でも作れそうです。椅子とか風呂桶とかも作れるかもしれません。
でも何もしないでいると、何もできません。
道具の使い方を知らないと歪んだ本棚になっちゃうかもしれないし、風呂桶って見たことない人には風呂桶は作れないかもしれないし、どれくらいの大きさに板を切ったらいいのかわからないと、いつまでたっても作れないかもしれません。

MS-Accessでデータベースを作るって、そういうことです。



【MS-Accessはカンタンで手軽?でも難しい?】
「データベース」というと、データそのもののことだけに目が行きがちなんですけども、「データそのもの」「データを取り出したり並べ替えたり監視したりする機能」がセットで働いているものだと考えるといいかもしれないです。
こういうのを「データベースエンジン」って言うのかな・・・。
実際には、こいつの性能が、DBMSの製品としての評価につながってきます。
といってもデータベースエンジンなんてものは表立って見えてるものではなくて、「縁の下の力持ち」です。
コンピュータの中で、一生懸命働いているのです。

  
(データそのものと、そこからデータを取り出したりするためのさまざまな能力と)

そして、マシンのディスクやメモリなど「資源」を、どのように使うのか、ある程度考えて設定をしていきます。
データの件数とか、テーブルの数とか、どれくらいの人数で利用する予定なのかとか、どんな感じの処理が行われるのかとか・・・・
そういうことを考えて導入計画を練らないとならないんですけれど、こういうのがまた難しそうですね。

で、このテーブルの中のデータを、「見たいなぁ、仕事で使いたいんだけどなぁ」という人がいたとします。
誰でも簡単に見れてしまっては困るので、「このテーブルを見てもよいかどうかの権限」というのを、データベース側で用意します。
これは、呼び方はいろいろあるかもわかりませんが、アカウントとかユーザーIDとかユーザープロファイルとか、言いますね。
いわゆる「セキュリティ機能」ってところです。

Aさんは、新入社員が入ってきたら追加入力したり給与が変わったら変更入力したりしないとならないのですが、Bさんは経理上のほかのデータと照らし合わせたいだけ、Cさんには見られては困る、場合は、それぞれのアカウントに制限をつけたりします。これも、データベースの機能のひとつとして、どんなDBMSにもそういった機能があるはずです(設定の仕方は異なるでしょうが)。

と、Aさんはこのテーブルに対していろいろな操作ができますが、Bさんは見るだけ、Cさんは、自力ではテーブルの中のデータを見ることができない、というルールが出来上がるのです。もちろん、Aさんが、自分のアカウントをみんなにばらしてたら意味ありませんが・・・。
あとは、必要に応じて、テーブルを増やしていって、みんなでデータを共有できるようにしていくわけです。



だいたい、「データベースというものがやる仕事」の全容はこんな感じですかね。

DBMSが担うのは、上の図の紫の枠の部分です。
Oracleとか、SQLServerとか買って設置したら、こいつらは↑紫の部分の仕事をやるのです。

Aさん、Bさんはそれぞれ自分のPCに、「データベースとやり取りするためのなんかしら」を用意する必要があります。
つまり、「月別の集計表を、部署ごとにA4用紙に収まるようにして、毎月印刷したい」とか「顧客番号から顧客の住所や電話番号を調べたい」とか。そういうことをするための「何か」を、用意しないとならないってわけです。
「なんかしら」あって、データベース側に権限があって、テーブルにしかるべきデータがあって、はじめて、「顧客管理」だの「売り上げ管理」だのが実現するのです。



MS-Accessは、いわゆる「データベース」って呼ばれているものと、入力画面とか印刷物とかを開発するためのさまざまな機能を、コンパクトに併せ持ってます。
全部セットになってるわけです。
だから、開発ツールの選別をすることができない人でも、とにかく手っ取り早く「顧客の情報の入力ができてリストが印刷できて売り上げの集計ができるような仕組みを作ることができる」わけです。でもでも、作業量は同じだと思う。ただ、非常に技術や経験を必要とする「開発ツールや環境の選択」をしなくても、MS-Accessがあれば「入力/照会」などの仕組みを作れる環境は整う、ということなんです。

「データベース」ってものはあくまでも「データを管理し、安全に運用するための仕組み」を提供するもので、それはとてもとても内部的なもんです。
AさんやBさんが日ごろ使う「画面」とか「印刷物」そのものは、「人間がデータベースとやり取りをするための手段のひとつ(インターフェース)」であって、データベースそのものではありません。

ね・・・。こう考えると、ひとくちに「データベースを作る」っていったって、相当にやることがありますでしょう。
大変なんすよ。
大変だけど、データをきっちり管理して使っていきたい、でも、あんまり難しいことやお金がかかることはできないし、プログラミングなんか言われてもどうしていいか見当がつかない・・・。
そういうとき、MS-Accessって、よく登場するというのは、先ほどお話したとおりです。
それは、データベースと、データベースとやり取りをするための画面とか印刷物とかを設計するための機能とがギュッといっしょになっていて手軽だから、だと思います。

データベース構築が難しいのは、技術的に難しいということよりも、いわゆる「インターフェース部分をどう作っていくか」というところを考えるのが難しいし時間がかかるからかもしれません。もちろん、こうした部分を作ることに慣れている人や、開発ツールの選択に長けている人にとってみたら「なんでそんなことが難しいの?」って思うでしょう。
でも・・・表計算ソフトしか使ったことない、っていう人にとってみたら、多分、なんでそんなことが必要なのかもわからないし、どうしていいかわからないと思う。

初めておとずれるファーストフード店なんかで、サイドメニューとかいろいろあって注文の仕方がよくわからないでまごまごしちゃうとき、とりあえずセットメニューとかあったらそれ頼んでお店の仕組みを少しずつ理解しようかな、とか、まあ、そんな感じかな・・・。とにかく慣れないうちは、セットものになっててくれたほうが、気が楽ですよね。
MS-Accessの中には、データベースを作る機能と、画面や印刷物を設計する機能と、それらを手軽に動かし運用するための機能とがいっぱい詰まってるので、とりあえずMS-Accessさえあれば一通りのことは何とかなります。

ほんとに、データベースを構築していくのって、いろんな知識が必要なんですよ。
もちろんMS-Accessを使うにあたっても、多少知識はあったほうがよいですけれど、あんまりなくっても使い始めることはできるよ、っていう感じですね。

MS-Accessが、他のDBMSと違って「カンタンで手軽」と言われるもう1つのポイントは、「データベースをパソコンファイルとして作成する」というところです。
MS-Accessのデータベースは、MDBっていう拡張子のついた、パソコンのファイルになります。
他のDBMSだと、インストールしたコンピュータのディスク内をデータベース領域として割り当ててどうのこうのと、いろいろ難しい管理機能を使いこなしていかなきゃならないところですが、MS-Accessなら、「データベースの新規作成」ってやってMDBっていう拡張子のついたファイルが1個できて、これでおわり。細かい調整とかは一切できませんけど、このMDBっていうファイルの中に、小さな宇宙が広がってるわけです。

「MS-Accessは規模の大きなシステムの開発には向かない」という人もけっこういます。
うーん、正しいとも言えるし、正しくないとも言えますね。
MS-AccessのデータベースエンジンはMicrosoft Jetというんですが、このエンジンは、大規模な(大勢でデータを共有したり、何千万件というデータを処理したりするような)システムの開発に不向きな、パーソナルなデータベースエンジンである、と言われています。
データベースエンジンの能力にもよるかもしれませんが、それ以上に、MS-Accessのデータベースというものが「MDBっていうファイルの形をとる」から、じゃないかな、って、わたしはそう思います。
決してJetに欠陥があるわけではないと、そう思いますよ。

だって、原チャリ買って「タイヤが4本ないので本格的な走行には向かない」って言ってるような感じがするなぁ。
じゃあ原チャリなんか買うなよ・・・って。
原チャリには原チャリの「走行のメリット」ってもんがあるでしょう。確かに「日本一周」とかには耐えられないかもしれないけれど、ちょっとコンビニに買い物にいくんならランクルより便利なんじゃないですかね。
何でも「適材適所」ってことじゃないですかね・・・。

 ・大勢で「同時に」開かない
 ・あまりファイルサイズが大きくならないようにする
 ・24時間フル稼働させない(必要なときに開いて、用がすんだら終了する)

これを守りさえすれば、MS-Accessだってそこそこ使えると思いますよ。
なぜって、そりゃ、「mdbっていうパソコンファイルだから」ですよ。他の、WordとかExcelとかの「ファイル」と比較して考えてみてください。
文書ファイル開きっぱなしにしておいて、複数のパソコンから同時にいろんな人が文章入力します???
しないでしょ。なんでしないんでしょうね。大勢で分担してひとつの文書ファイルに同時に入力できたら便利じゃないです?
でも、そんなの、多分、無理だと思います。
パソコンのファイルってのは基本的に「ひとりの人が使う」ことを想定して考えられてますよね。
それと同じで、MS-Accessを起動して、ファイルを開けば「データベース」ですけど、閉じてるときはただのファイルです。

でも、「リレーショナルデータベース」っていうのは、複数の人がデータを扱うことを想定したデータベースです。
この時点で、かなり矛盾が生じるんですけどね・・・。
それでも、MS-Accessはずっと、この両面のメリットを生かしながら、幅広く利用され続けてるのです。

ここ無視してOracleとかと比較してもしょうがないですよ。
そりゃあ、原チャリと地下鉄を比較してるようなもんじゃないかと思うんです。
どっちが便利だと思います?原チャリと地下鉄。

やたら比較しても偏った評価しかできないけど、でも、ちゃんと目的を持って比較すれば、意味のある比較になると思います。
そりゃ、地下鉄が便利なときもあるし、原チャリが便利なときもありますよね。
それと同じで単に「OracleとMS-Accessどっちがいいんですか?」とか言われても答えが出ないです。
それに・・・これって、「皆さんにとって、これからデータベース化しようとしている業務にとって、どっちがいいのか」っていう比較をしなくちゃならんのでしょう???結局は、そういうことですよね。
それは皆さんにしか、わかりませんもんね。

MS-Access だってOracleだってSQLServerだって、結局は「道具」のひとつだと、わたしは思います。
道具は他にもいろいろ出回ってるわけで、適材適所、もっともよいと思われる道具を活用していけばよいはず。
あるいは、その道具しかないのだったら、工夫して使いこなしていくまでです。
「適材適所」というのは、相対的に見て言ってることではなくて、「皆さんにとって」ってことですから・・・。
ネットを見ていると、いろんな難しいことを言っている人とか新しい技術の話とかいっぱい出てきて、わからない自分に苛立ちを覚える方もあるかもしれません。でも、わからない技術を無理に使って、返ってお仕事がしにくくなっちゃっては本末転倒です。

今、皆さんにとって、使いやすい道具を使ってデータベースを作っていけばそれでよいのだと思います。
でもって、その「データベース」って世界の第一歩を踏み出すのに、MS-Accessってすごく有効です。
決して「覚えよう」と気負わず、「道具の一つとして使ってみよう」というお気持ちで、取り組んでってみてくださいね。