データベースって何?

 

第14回 「データベース」

分かっているようで、実はよく分からないものが多いITワードを岩戸あつしさんが分かりやすく解説してくれる。

データベースという言葉は昔からあり、多くの人がその言葉に慣れ、その言葉を使っていますが、なんとなく多くのデータの中から必要な情報を抽出する仕組みということくらいで、でき上がったものを利用した人は多いと思いますが、その仕組みを考えた人は少ないのではないではないのでしょうか?

データベースに関連した用語で、カード型、リレーショナル型、フィールド、レコード、フォーム、テーブル、クエリー、レポート、SQLなどがありますが皆さんはどこまでご存知ですか?

カード型データベース

データベースの中でも最も単純なタイプがカード型です。コンピュータがなかったころ、住所録を作る時に、1人ひとりにカードを渡して、名前、住所、電話番号といった項目に書き込んでもらい、編集者がそれを集めて表を作り、行毎にそれぞれの名前、住所、電話番号を書いて住所録を作りました。これをコンピュータ化したのがカード型データベースと呼ばれるものです。

ちなみに、住所録を作る時の名前、住所、電話番号などの項目を「フィールド」と呼び、それぞれの具体的なデータを「レコード」、入力画面を「フォーム」そして表全体を「テーブル」と呼んでいます。カード型データベースで有名なものとして、ファイルメーカー(最新版は次のリレーショナル機能を持っています)や桐などがあります。

リレーショナル型データベース


リレーショナル型データベースは、マイクロソフト・アクセスが最も有名ですが、カード型との違いは、カード型が基本的に1つひとつのテーブル(表)が独立していてテーブル間に関係がないのに対し、リレーショナル型は複数のテーブル間でいろんな関係を作ることができます。たくさんの商品に対して、それぞれの商品詳細、仕入先、仕入価格、さらに在庫状況などを同じテーブルの中に書き込むことは可能です。しかし1つの商品に対して仕入先の担当者、住所、電話番号など仕入先すべてのフィールドをテーブル内に書こうとするとテーブルが膨大になってしまい、さらに見にくくなってしまいます。そこで、テーブルを見やすくなるように分けてみるという方法があります。

例として、仕入先の住所や電話番号という情報だけがリストされた仕入先テーブル、そして商品を頭にして、それぞれの仕入先と仕入価格や在庫がリストにされた商品テーブルを作ったとします。これら2つのテーブルは独立したものですが、共通したフィールドがあります。例えば、仕入先コードは、仕入先テーブルと商品テーブルで共通で、この仕入先コードが2つの異なるテーブルを結び付けています。

商品テーブルからある商品の仕入先を探す時、仕入先コードで仕入れ先テーブルを呼び出し、会社名、住所などのレコードを参照します。逆に、ある仕入先が持っている商品をすべて見てみたい場合は、商品テーブルの中に該当する仕入れ先コードがあるものすべてを検索し、リスト・アップします。本例は最も簡略化したリレーショナル型の例で、実際はもっとたくさんのテーブル間で蜘蛛の巣のように関係が張り巡らされています。その中で重要なことは、1つひとつのテーブルをどういう仕様にまとめるかということで、見やすさ、検索スピード、後の利用も考える必要があり、設計者の腕の見せ所です。

クエリー

データベースのテーブルはすべてのデータを持っている原本としてそのまま置いておき、検索抽出の度にそれに合わせて別のテーブルを作るということはありません。検索して抽出したデータや並び換えをしたデータはテーブルを変更するのではなく、クエリーという形で覚えておきます。同じ条件、並べ方をしたい場合に一から検索、並べ替えの作業をするのではなく、クエリーを用いると便利です。

レポート

顧客への見積もりをはじめ、仕入先への商品オーダー、顧客へのインボイス発行、バランス・シートの作成などにはレポートという機能を使います。レポートはそれぞれのテーブルやクエリーから必要な情報を引っぱってきて、1つの用紙に書き込む形です。例えば見積もりやインボイスに対しては、顧客テーブルから顧客名、住所などを選び、値段は商品テーブルやクエリーの売値から取ってきます。1つ1つの商品に必要な個数を掛けたり、合計を出したりして完成させます。オーダー・シートも同じように、仕入先テーブルから仕入れ先会社名、住所、商品テーブル、クエリーの仕入れ値を取ります。

SQL(エス・キュー・エル)

SQLとは何かというと、簡単に言えば国際規格(ISO)にのっとったデータベース用の特別な言語のことです。言語といってもC言語やBASIC言語のようなプログラミング言語ではなく、データベースの制御のためだけに作れたもので、主にプログラミング言語の中にSQL言語を書いてデータベースを自動化する時に使用します。SQLは今やデータベース言語の世界標準語で、例えれば英語のように世界中で通じる言語で、データベースを開発する人にとっては必須です。

エクセルとの違い

よくデータベースを使わなくてもほとんどのことがエクセルでできるではないかという意見を聞きます。確かに最近のエクセルはリレーショナル型データベースに匹敵する機能を持っています。ただ基本的に大量のデータを扱うのには向いておらず、どんどんデータが多くなるようなものは、最初からデータベース専用ソフトで作ることをお薦めします。

 

岩戸あつし <著者プロフィル>
大学院卒業後、貿易会社を経て、コンピュータ・エンジニアとして活躍。日経CG などへの執筆、PCショーの講師を勤める。1992年、オーストラリアに移住。1994年シドニーにジャパン・コンピュータ・ネットを設立、主にシドニー在住の日本人、日本企業にコンピュータ・サービスを開始する。現在同代表取締役社長。

新着記事

新着記事をもっと見る

NICHIGO CHANNEL

新着イベント情報

新着イベントをもっと見る