![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
|
データベースとは
データベースとは、データを保存・抽出できるようになったデータ集合のことをいいます。
ワープロで作成した文書もデータベースの一種ですし、エディタで入力したテキスト文書、年賀状ソフトで入力した住所録もデータベースです。
また、ディスクに保存をしていなくてもメモリー内には覚えているので、このようなデータもデータベースといえると思います。
紙に書かれたものもデータベースです。電話帳などはけっこう大きなデータベースですよね。
ここでの説明は「コンピュータを利用したデータベース」に絞っているので、紙などで表現されているものは除外して説明しています。
全体集合と部分集合データベースは色々なデータの集まりです。ワープロで作成した文書を例にして考えてみましょう。 作成した文書には、何らかの1つ以上のことがらを表現しています。そして、その文書は1行以上の行数で表現されています。 1行は複数の単語で構成されています。 このようにワープロで作った文書は、色々な単語がたくさん集まって構成されています。 この例では、文書全体を全体集合、それぞれの単語を部分集合として考えてみます。 データベースの種類データベースは以下のように大別できます。
(ここに書いている「データ指向型」「抽出指向型」というのは、私が説明上名付けたものです。これらはコンピュータ用語ではありません。)
一般的に「データベース・ソフトウェア」と言われているものは、上記の「抽出指向型」をさしています。
MySQLも「抽出指向型」のデータベースです。
データベース・ソフトウェアのデータ形式 (テーブル、レコード、フィールド)データベース・ソフトウェアにも色々なものがありますが、ここではMySQLなどの「リレーショナル型データベース」に絞って説明します。 わかりやすくするため、例をあげて説明します。ここでは、年賀状ソフトでもよく使われている住所録データベースを考えて見ましょう。 各個人別に記憶しておくデータは「個人情報」という名前を付けることにしましょう。 「個人情報」は以下のような構成になります。
データベース・ソフトウェアでは以下のような表現をします。
キーキーとは、コンピュータ内部で目次を作っておくことを言います。
たとえば、さきほどの「個人情報」テーブルで見てみましょう。「個人情報」テーブルでは氏名で検索して住所や電話番号を調べることが多いのではないでしょうか。 このとき、氏名にキーを作っておくと多量のデータがあっても瞬時に検索できるようになります。データが増えても検索時間はあまり変わりません。 キーを作らなくても検索はできますが、データの増加に比例して検索時間も長くなっていきます。
このように、キーをもったフィールドで検索すると高速に検索できますので、検索を繰り返すようなシステムでは必ずキーを設けるようにしましょう。 テーブルの連結 (JOIN)今度は、それぞれの個人情報の家族構成をデータベースに保存することにしましょう。 これもテーブルに保存します。
さて、この時困ったことがおきます。1人の個人情報に、家族は何人いるか未定ですね。
たとえば太郎さんの家族は3世代同居で数十人ということもあり得ます。
どのようにテーブルを作ったら良いでしょうか?
一般的に、こういった未知数のデータを保存する場合には別のテーブルに保存するとうまくいきます。
この例の場合では、太郎の家族は本人を含めて5人です。花子の家族は2人ですね。
これで、個人情報と家族情報がテータベースに保存できました。
ところで、このデータベースを使って洋子さんの住所を調べるときはどうしたらよいでしょうか?
このような関連性がある2つ以上のテーブルでは、以下のようにすればデータを見つけられます。
毎回、このようにして調べればいいのですが、少し面倒ですよね。
もしも、上記2つのテーブルを含んだデータベースがあったとき、以下のようなデータが取り出せれば洋子さんの住所を調べるのは簡単ではないでしょうか。
上の3つの表をよく見比べるとわかりますが、この例では「個人情報」の「氏名」と、「家族情報」の「代表者氏名」がリンクされて1レコードに合体されています。
こういった、2つ以上のテーブルを合体することを「JOIN」といいます。
JOINを行うと、物理的には存在しない、仮想のテーブルが出来たように見えます。
データベース・ソフトウェアでは、こういったJOINを何度も繰り返して、必要な情報を瞬時に取り出せるようになっています。
また、この例では「個人情報」の太郎さんの住所だけを変えると、「個人・家族情報」にのっている太郎さんの家族の住所は全員変わります。
このように、JOINを使うと非常に簡単にデータを変更できるようになります。
これでデータベースの説明はおしまいです。興味が沸いたらMySQLデータベースをインストールしてみましょう。 |
| Copyright©2001-2008 釣ったよ! All Right Reserved. sg@tsuttayo.sytes.net |