データベース(Database)は、データの入れ物です。 ちょこちょこっと データサイエンス をする程度なら、あまり意識する必要はないかもしれませんが、 膨大な量のデータを効率的に扱うには、データベースの知識が大事です。
企業の意思決定を目的としたデータベースの利用法を総称して、 データウェアハウスと呼ばれています。 多変量解析 や、 データマイニング も解析手法として組み込まれています。
リレーショナルデータベース(Relational database :RDB)は、関係データベースとも言います。
RDBが保管するデータは、表がたくさんあるイメージです。 RDBは、キーになる項目を使って、 それらの表を関係付け、ひとつの表にまとめ直す機能を持っています。
例えば、「車名・排気量・メーカー」の表と、 「車名・ユーザー名・年齢」の表があれば、 車名をキーにして、「車名・メーカー・年齢」という表が作れますので、 「どのメーカーがどのような年齢層に好まれるか」、 を調べることができます。 「車名・排気量・メーカー・ユーザー名・年齢」という表を、 始めから作成しておくこともできますが、 分割しておいた方が、コンパクトに保管できますし、 メーカーが増えた場合は片方の表だけ更新すれば良いので、 管理が容易になります。
多変量解析 や データマイニング の手法の多くは、表形式(行列形式)のデータを解析対象にしています。 そのため、RDBは、 これらの解析で使うデータを効率的に保管しておくデータベースとして、ぴったりです。
リレーショナルデータベースは便利ですが、他にもあります。
データがたまっているところは、 データベースです。 例えば、パソコンのフォルダの中に同じようなファイルが保管してあれば、 それもデータベースです。
もう少し具体的な話をすると、 毎日同じ形式のファイルを報告書のようにして作成している場合、 たまったファイルをまとめれば、立派な表(解析用データ)が作れます。 ファイルとして残さずに、リレーショナルデータベースにためこむ方法もできるかもしれませんが、 そういったシステムを構築するのは、お金も時間もかかります。
ただ、「たまったファイルをまとめれば」と簡単に書きましたが、 100個ファイルがあれば、 「ファイルを開いて、編集して、閉じて」という作業を100回しなければいけないため、 大変な話です。 こんな作業を可能にするのが、 データをつなぐ スキルです。
XML の特徴である階層構造を利用するデータベースです。 画像や文章データのデータベースに向いています。
「よくわかるデータウェアハウス」 データウェアハウス研究会 著 日本実業出版社 2000
データウェアハウスのメリットや利用法、構築法についての、
経営者向けの指南書のような本です
「体系的に学ぶデータベースのしくみ」 山本森樹 著 日経BPソフトプレス 2009
モデリング、SQL、物理構造などが体系的にまとまっています。
「バッドデータハンドブック データにまつわる問題への19の処方箋」 Q.Ethan McCallum 著 磯蘭水 監訳 オライリー・ジャパン 2013
このサイトでは、けっこう力説しているつもりですが、一般的なデータ解析の方法の解説では、触れられる事のない問題を、正面から取り上げています。
・人が読むためにまとめたシートから、プログラムでデータを抜き取ってまとめる方法を解説しています。
・データをまとめる場所と言えば、データベースを思い浮かべることが多いですが、
この本では、どんなデータでも格納できるものとして、ファイルを挙げています。
「たくさんファイルのある場所は自由度の高いデータベース」という発想です。
「ここからはじめるデータベース」 高橋麻奈 著 日本実業出版社 2000
リレーショナルデータベースの基本的な内容を網羅した後で、
データウェアハウスや
XML
との関係にも触れています。
「Web+データベース ちょ〜入門」 栗林誠也 著 広文社 2001
Webを、データベースを使うツールにする本です。
Webとデータベースをつなぐ技術として
Java
を取り上げています。
この本で言うデータベースは、
リレーショナルデータベースのことですが、XMLデータベースにも触れています。
「プログラマのためのSQLグラフ原論 リレーショナルデータベースで木と階層構造を扱うために」 ジョー・セルコ 著 翔泳社 2016
木構造や階層構造を扱う方法としては、XMLデータベースがありますが、検索性が良くないそうです。
検索性を考えるのなら、リレーショナルデータベースの方が良いということで、木構造や階層構造を扱うための、様々なモデルが紹介されています。
順路 次は データの利活用の進め方