データベースはさまざまなアプリケーションを支える大切なシステムだ。そのため、データベースの基本を知らずにシステムを構築するのは無謀といえる。本連載では、特にリレーショナルデータベースの基本について、お父さん、由美ちゃんと一緒に勉強していこう。
データベースを使ってみよう
ここはある町の文房具屋。店主の中村さん(お父さん)は、顧客情報や商品管理の整理に四苦八苦していた。そこに、大学に通っている娘の由美ちゃんが帰宅した。
由美:ただいま。
お父さん:おかえり由美。
由美:何をしてるのお父さん?
お父さん:お客さんの情報とか商品の管理を、もっとうまくできないかと悩んでいるんだ。ほら、由美が昔表計算ソフトを教えてくれたじゃないか。あれですごく便利にはなったんだけど、商品のバリエーションが増えたり、卸値が変わったり、お客さんの情報が変わったりするとちょっと面倒でね。せっかくコンピュータ使っているんだから、もっと効率よくならないものかと悩んでいたんだ。
由美:データベース使ってみたら?
お父さん:データベース? それって難しいんじゃ?
由美:そんなに難しくないわよ。
お父さん:じゃあ早速教えてくれよ。
由美:ああ、でも、私の知ってることって限られてるから、ちゃんとした先生に教えてもらったほうがいいわね。テニススクールの先輩でデータベース専門の先生がいるからその人に頼むことにするわ。
データベースは
大勢で共有するデータの集まり
その週の日曜日、由美が先生を連れてきた。
先生:はじめまして、こんにちは。榊原と申します。
お父さん:はじめまして父の中村です。由美がお世話になっています。今日はよろしくお願いします。早速ですが、データベースって何でしょうか? どう使えばいいでしょうか?
先生:まあまあ慌てずに。ところでデータベースの意味なんですけど……(あたりを見回して、1つのノートを手にとった)。
先生:中村さん、これ見てもいいですか?
お父さん:どうぞごらんになってください。
先生:(ぱらぱらめくって)えっと、メモのようなものがたくさん書いてありますが、これは製品台帳ですか?
お父さん:まあそんなものです。これは表計算ソフトではちょっと扱いにくいことを、ノートに書き込んでいったものです。
先生:じゃあ、ここに何が書いてあるかは、すぐに取り出せるのですね。
お父さん:はい、具体的な内容まで覚えておけないことをすぐに取り出せるので、重宝しています。
先生:なるほど、それならこれも立派なデータベースということができますよね。こういう重宝するものなら、他の人にも活用してほしいでしょう?
お父さん:そうですね。家人と共有できれば随分と効率があがりますね。何かあっても安心だし。
先生:共有させるんなら、コンピュータで管理するのが一番です。実は、基本的なデータベースはコンピュータで管理されているかどうかは関係なく、整理されたデータの集まりのことをいいます。難しいいいかたをすると、データベースは複数のソフトウェアとかユーザーによって共有されるデータの集まりと、その管理システムを含めたものなんです。
お父さん:複数のアプリケーションというのは具体的にはどういう意味なんですか?
先生:データベースを参照するソフトのことですが、これは一通りだけではないんです。たとえば、社員名簿のデータベースがあったとします。通常、勤怠管理とか給与管理といったアプリケーションは社員名簿が元になりますから、このデータベースを使うことになります。逆に共通に使えるようにして汎用性を高めているともいえますね。
お父さん:なるほど。データベースといっても基本的には特別な何かということではなくて、整理したデータをうまく共有できるようになっているものなんですね。
先生:(ノートを由美ちゃんに差し出して)では由美さんは、ここからすぐに情報を引き出すことができますか?
由美:(ぱらぱらめくって)うーんと、項目は順番どおりに並んでいるわけではなさそうだから、すぐに欲しい情報を取り出せるとはいえないですね……索引があるといいんですけど。あ、そういうことですか。
先生:そうです。1人で使っているのであれば頭の中に索引があるので不自由しませんが、そのままだと他の人は使うことができません。多人数で効率よく利用することを考えると、やはり索引のような機能がいろいろ必要になりますよね。これをサポートしてくれるのが、データベース管理システムです。
(次ページ、「データベースとして代表的なのはリレーショナル方式」に続く)
この連載の記事
-
最終回
ソフトウェア・仮想化
「せんせい!SQLってRDBを操作する言語よね?」(由美) -
第3回
ソフトウェア・仮想化
「インデックスとトランザクションって」(由美) -
第2回
ソフトウェア・仮想化
「由美ちゃん、これがRDBの要素だよ」(先生) - この連載の一覧へ