トップページ | ひとつ上のページ | 目次ページ | このサイトについて | ENGLISH

データベース

データベース(Database)は、データの入れ物です。 ちょこちょこっと データサイエンス をする程度なら、あまり意識する必要はないかもしれませんが、 膨大な量のデータを効率的に扱うには、データベースの知識が大事です。

データウェアハウス

企業の意思決定を目的としたデータベースの利用法を総称して、 データウェアハウスと呼ばれています。 多変量解析 や、 データマイニング も解析手法として組み込まれています。

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

リレーショナルデータベース(Relational database :RDB)は、関係データベースとも言います。

リレーショナルデータベースの仕組み

RDBが保管するデータは、表がたくさんあるイメージです。 RDBは、キーになる項目を使って、 それらの表を関係付け、ひとつの表にまとめ直す機能を持っています。

例えば、「車名・排気量・メーカー」の表と、 「車名・ユーザー名・年齢」の表があれば、 車名をキーにして、「車名・メーカー・年齢」という表が作れますので、 「どのメーカーがどのような年齢層に好まれるか」、 を調べることができます。 「車名・排気量・メーカー・ユーザー名・年齢」という表を、 始めから作成しておくこともできますが、 分割しておいた方が、コンパクトに保管できますし、 メーカーが増えた場合は片方の表だけ更新すれば良いので、 管理が容易になります。

データ解析用のデータベースとして

多変量解析データマイニング の手法の多くは、表形式(行列形式)のデータを解析対象にしています。 そのため、RDBは、 これらの解析で使うデータを効率的に保管しておくデータベースとして、ぴったりです。

もっとデータベース

リレーショナルデータベースは便利ですが、他にもあります。

データがたまっているところは、 データベースです。 例えば、パソコンのフォルダの中に同じようなファイルが保管してあれば、 それもデータベースです。

もう少し具体的な話をすると、 毎日同じ形式のファイルを報告書のようにして作成している場合、 たまったファイルをまとめれば、立派な表(解析用データ)が作れます。 ファイルとして残さずに、リレーショナルデータベースにためこむ方法もできるかもしれませんが、 そういったシステムを構築するのは、お金も時間もかかります。

ただ、「たまったファイルをまとめれば」と簡単に書きましたが、 100個ファイルがあれば、 「ファイルを開いて、編集して、閉じて」という作業を100回しなければいけないため、 大変な話です。 こんな作業を可能にするのが、 データをつなぐ スキルです。

XMLデータベース

XML の特徴である階層構造を利用するデータベースです。 画像や文章データのデータベースに向いています。





参考文献

よくわかるデータウェアハウス」 データウェアハウス研究会 著 日本実業出版社 2000
データウェアハウスのメリットや利用法、構築法についての、 経営者向けの指南書のような本です


体系的に学ぶデータベースのしくみ」 山本森樹 著 日経BPソフトプレス 2009
モデリング、SQL、物理構造などが体系的にまとまっています。


バッドデータハンドブック データにまつわる問題への19の処方箋」 Q.Ethan McCallum 著 磯蘭水 監訳 オライリー・ジャパン 2013
このサイトでは、けっこう力説しているつもりですが、一般的なデータ解析の方法の解説では、触れられる事のない問題を、正面から取り上げています。
・人が読むためにまとめたシートから、プログラムでデータを抜き取ってまとめる方法を解説しています。
・データをまとめる場所と言えば、データベースを思い浮かべることが多いですが、 この本では、どんなデータでも格納できるものとして、ファイルを挙げています。 「たくさんファイルのある場所は自由度の高いデータベース」という発想です。


ここからはじめるデータベース」 高橋麻奈 著 日本実業出版社 2000
リレーショナルデータベースの基本的な内容を網羅した後で、 データウェアハウスや XML との関係にも触れています。


Web+データベース ちょ〜入門」 栗林誠也 著 広文社 2001
Webを、データベースを使うツールにする本です。 Webとデータベースをつなぐ技術として Java を取り上げています。 この本で言うデータベースは、 リレーショナルデータベースのことですが、XMLデータベースにも触れています。


プログラマのためのSQLグラフ原論 リレーショナルデータベースで木と階層構造を扱うために」 ジョー・セルコ 著 翔泳社 2016
木構造や階層構造を扱う方法としては、XMLデータベースがありますが、検索性が良くないそうです。
検索性を考えるのなら、リレーショナルデータベースの方が良いということで、木構造や階層構造を扱うための、様々なモデルが紹介されています。



順路 次は プログラミング

Tweet データサイエンス教室