データと情報のちがい
- データ:ある形式(フォーマット)に揃えられた事実
- 情報:データから、ある文脈なり観点なりにしたがって集約したり加工したりしたもの
Amazonのレコメンド機能
顧客の「購買履歴」データを「どのような時期にどのような商品を購入しているか」といった観点・文脈で分析し、「この顧客ならこういうタイミングでこういう商品を買うだろう」という問いに対する答え・情報を導き出したもの。
情報は、データと文脈を合成して生まれる。
1. データベースの種類を選ぶ
データーを保持する形式は多くあります。用途や目的に応じて使用するデータベースが使い分けられています。以下は主に使われているデータベースの種類です。
- リレーショナルデータベース:最も利用されているDB。データを人間が理解しやすい二次元表の形式で管理する。他のデータベースと比べると直感的で簡単に扱える(例:Excel)。
- オブジェクト指向データベース:データと操作をまとめて「オブジェクト」という単位で管理する。
- XMLデータベース:XML形式でデータを扱う。階層構造のデータを扱うのが得意。
- Key・Value型ストア:単純で大量のデータを高速に処理することを目的としている。
- 階層型データベース:データを階層構造で表現する。
データベースのモデルが異なれば、データフォーマットも異なる。モデルが異なれば設計技法も異なる。そのため、設計技法については、各モデルにフォーカスした専門書を読む必要がある。
現在ほとんどの場合において「リレーショナルデータベース」が用いられています。
2. データベース管理システムの種類を選ぶ
リレーショナルデータベース(RDB)を利用する際は、RDBを実装したソフトウェア「RDBMS」を利用します。MSとはManagement Systemの略です。以下はリレーショナルデータベースで代表的なDBMSです。商用利用する際は優良のDBMSを用います。
- Oracle Database:有料、最大のシェア、オラクル社、マルチプラットフォーム対応
- SQL Server:有料、マイクロソフト社、Windowsプラットフォームに特化したDBMS
- DB2:有料、IBM社、マルチプラットフォーム対応のDBMS
- PostgreSQL:無料、オープンソース、バークレイ大学開発
- MySQL:無料、オープンソース、オラクル社
(R)DBMSが異なっても、(基本的には)設計の方法は影響を受けない。
まとめ
本ブログではリレーショナルデータベースの設計技法についてMySQLを使いながら紹介していきます。