(2) Accessの構造を理解しよう
リレーショナルデータベースである
Accessは「リレーショナルデータベース」という方法でデータを管理・蓄積するソフトウェアです。
実は、「リレーショナルデータベースとは何か」を理解するのはけっこう難しいことなんです。ここで躓いちゃう人も多いんですよ。かなり深いんです。
リレーショナルデータベースとは、「関係データベース」と呼ばれることもありまして、噛み砕いてざっくり考えると、「情報を小分けしておいて、必要に応じて組み合わせて使う」という意味を持っています。
Accessは、こういう仕組みを作ることができるソフトウェア、ということなんです。
実は、この「情報を小分けする」という部分の、設計というかデザインのようなことが、けっこう高度な知識と技術を要するんですよ。なかなか難しいんです。
だから、Accessってなんかとっつきにくいイメージがあるのかもしれないです。Accessそのものの使い方は、そんなに難しくないんですよ。
図1:データを分けておいて、必要に応じて取り出して使う
ゼロから「作る」のである
Excelって、起動するとすぐ、データを入力できるセルが用意されていて、すぐ入力できますよね。罫線引いたり、書式設定したり、関数入れたりと、やることはいろいろありますが、セルにデータを入力できるようになれば、表を作ることはできます。
一方、Accessは、データを入力する場所を作るところから、やらなければなりません。誰がって、皆さんがですっ。
会員名簿を作りたい、と思ったときに、Excelなら起動して、セルに名前や住所などを一つ一つ入力していきますが、Accessの場合は、起動して、住所や名前を入力する場所を作って、入力したデータを表示したりする仕組みを一つ一つ作っていかなければなりません。
なので、Accessを長年使っている人も、10人いれば10通り、Accessに対する”イメージ”が微妙に違うんです。
プログラミングツールのような感覚で使っている人もいれば、OracleやSQL Serverより手軽に使えるデータベースという感じで使っている人もいますし、ExcelやWordと同じOfficeソフトとして扱っている人もいます。
人によって使い方も使われ方もさまざま・・・Accessのとっつきにくさはこういうところにもあるのかもしれないですね。
「本を整理する」という仕事に置き換えてイメージしてみると、
Excelの部屋に入ると、作り付けの本棚が壁一面に設置されていて、どの棚にどの本を入れるかを考えるところから始まる
Accessの部屋に入ると、棚を作る材料と道具箱が置いてあるので、本の数や大きさに合わせた棚を作るところから始まる
という違いがある、とそんな解釈でいいんじゃないかと思います。
パソコンファイルである
パソコンソフトなんで当たり前のことなんですが、Oracleしか知らない人は、これが理解できなくてピーピー騒ぐんです。まったく、レベルが高いんだか低いんだか、わかりませんよね。
当たり前のことですが、いちおう確認しておきましょう。
OracleやSQL Serverなどで作るデータベースシステムは、サーバー全体でひとつのデータベースシステムとみなし、たくさんのファイルを組み合わせて大きなシステムを組みます。
一方Accessは、パソコンのひとつのファイルの中に、リレーショナルデータベースの仕組みをこんもりと保存します。外から見ると、ExcelやWordのファイルと変わらない、USBメモリなどにちょちょっとコピーできるこじんまりとしたものなんです。
リレーショナルデータベースって元来、お金も時間も労力もかかるもので、パソコンソフトで簡単に作れるなんて、ものすごく画期的なことなんです。
Accessも日々がんばってますよ。
例えるなら、”箱庭”を作ってるみたいなもんですかね。
鉄道模型とか。
本当の庭を造るわけではないけど、狭いスペースでも庭の風情を味わうことができる・・・。と、Accessはそんな環境を私たちに提供してくれるソフトなんです。
データベースの中に作られるものを総称して「オブジェクト」と呼ぶ
「オブジェクト」
この言葉がまた、解釈が難しい。でも、
よく出てくる言葉なのです。意味を大まかに掴んでおきましょう。
「名前が付いているもの、目的があって存在するもの」 を”オブジェクト”と呼びます。
要は、八百屋に並んでいるものを「野菜」と呼ぶのと同じようなもので、ニンジンだったり大根だったり白菜だったりするわけですが、どれもみんな野菜ってことで、この言葉自体には、そんなに深い意味はないんです。
「え?オブジェクトって何だっけ?」ってことになりがちなんですが、文章上、”オブジェクト”って言葉を使っているだけです。
「野菜をたくさん食べましょう」って書いてあるのと同じで、実際には”野菜”を食べるのではなく、大根だったりニンジンだったりキャベツだったりを食べますよね。おんなじようなもので、「オブジェクトを選択します」と書いてあったとしたら、実際には・・・以下のどれかを、あるいはすべてを指しているものと考えてください。
ではでは、Accessにはどんなオブジェクトがあるのでしょうか。ご紹介してまいりましょう。
テーブル
データを入れておくための器のようなもの。身近なもので例えると「紙ファイル」とか「本棚」とか「バケツ」とか。。。データベースの中核を担う重要なオブジェクト。彼がいなければデータベースは成立しません。まさにリーダーです。
クエリ
テーブルの中からデータをしぼり出したり、いくつかのテーブルのデータをつなげて新しい情報を引き出したりするために作るオブジェクト。目立たないけど実は実力派。コアなファンをたくさん持つ、Accessの影の立て役者です。
フォーム
テーブルのデータや、クエリによってしぼり出されたデータを、いい感じで表示するための画面。一番目立つ存在で、何かにつけて注目を集める花形スターです。みんなの人気者ですが、テーブルやクエリに支えられてここまでやってこれたんだという感謝の気持ちを決して忘れてはいません。
レポート
テーブルのデータや、クエリによってしぼり出されたデータを、印刷するために作られるオブジェクト。普段はフォームに仕事を持っていかれがちで、出番がないときもありますが、彼の存在があるからこそ、Accessはこれだけ多くの人に利用され続けたのだと言えるでしょう。ここぞというときに実力を発揮する、頼れる大物です。
マクロ
「コマンドボタンをクリックしたときに別のフォームが開く」とか「フォームを閉じるときにメッセージボックスを出す」とか、特別な”動作”をつけたいときに作る、ちょっとしたプログラムの集まりのようなオブジェクト。
最近では、VBAとやらに仕事を持っていかれてしまうことが多く、「マクロなんて初心者が使うもので、レベルの高い人は使わない」なんて誤解をしている人も多いようなんですが、それはよろしくない風潮です。常に安定した実力を発揮することができ、誰にでも優しく丁寧でわかりやすい、幅広い年齢層に支持される名脇役です。
モジュール
ちょっと特殊なオブジェクト。
VBA(Visual Vasic for Applications)で作成したプログラムを入れておくための入れ物で、モジュール自体が表に出て活躍することはありません。普段はどこで何をしているかわかりませんがオープニングタイトルには登場する、Gメン75の小田切警視みたいな存在です。本編に出てこなくても常にものすごい存在感。みんなひれ伏します。
あくまでも私のイメージですが。
このほかにもいくつか、オブジェクトと呼ばれているものはありますが、Accessのどのバージョンにも共通なものは上記の6つです。ほかのものは徐々に覚えていけばいいと思いますが、以下にひとつだけご紹介します。
リレーションシップ
テーブルをいくつか作ったときに、テーブル同士がどのような関連性を持つか、相関図のようなものを管理するためのオブジェクト。裏方さんです。テーブルの秘書官みたいな立ち位置でしょうかね。あるいは、風車の弥七みたいな感じかも。
とりあえずこの6+1の名前だけ覚えてください。
で、それぞれがどういうものなのかは、後々理解していけばいいと思います。
今、暗記しようとして力尽きちゃわないでくださいね。
前にも述べたとおり、画面に表示されていることだけでは理解しがたい世界なので、想像力を働かせて、いろいろなものに例えながら理解をしていきましょう。
データベースの中にオブジェクトをいくつか作るのである
次のページからいよいよ、データベースをひとつ作成しながらAccessの操作方法をお話していくわけなんですが、作業内容としては、データベースの中に上記の6種類のオブジェクトのうちのどれかを必要な分だけ作る、という感じになります。
どのオブジェクトをどのように作るかは、どういうデータベースを作るかによって変わってきます。
テーブルひとつだけのデータベースもありますし、テーブル5個、フォーム10個、レポート7個、クエリ13個なんて場合もあります。
会員管理をするために、テーブルやフォームなどをいくつか作るということになるのですが、何をどのようにいくつ作っても、作る人の自由なので決まりはありません。
本棚作るときのことを思い描いてみてください。
どのくらいの長さの木を何枚用意すればいいか、すぐわかります?
どういう棚を作るかわかれば、わかるかもしれませんが、ある程度大工仕事に精通している人でないと見当付けられないんじゃないでしょうか。
「会員管理データベース」を何回か作った人であれば、だいたい、何をどう作ったらいいか見当が付くようになる・・・のかな、って思います。
そんなわけで次はいよいよ、簡単なデータベースを作ってまいります。
短時間で作れるものですので、
「こんな簡単なデータベース作ったって意味がない」なんて思わないで、とにかく通して作ってみてくださいね。想像力を豊かに持つことを忘れずに。
さあ、はりきってまいりましょう!
このページのまとめなど
- Accessはリレーショナルデータベースという構造を持っている。
- Accessのデータベースはパソコンのファイルである。Access2007の拡張子(ファイル形式)は ”accdb” 。
- Accessはオブジェクトと呼ばれるものをいくつか作って組み合わせて、データの入力や検索を行う仕組みを作るのだ。
- 後は、実際に小さいデータベースを作りながら覚えよう。
作成日:2008-12-29