================================= DBの基本 ================================= :Version: 1.0 of 2012/07/19 :Author: SUZUKI Masashi / masasuzu :Mail: m15.suzuki.masashi@gmail.com DBとは、何か ==================================== 複数のアプリーケーションまたは複数のユーザによって共有されるデータの集合。 広義にはデータの集合を検索、抽出するシステムも含まれる。(DBMS) データモデル ==================================== データモデルとは、データベースに格納するデータの構造を定義したものです。 以下のものが主なのもとしてあります。 * 階層型 * ネットワーク型 * リレーショナル型 * キーバリュー型 データモデル毎にデータの格納の仕方や品質特性が違うので適切な場面で使い分けます。 リレーショナル型モデル ==================================== 三層スキーマ ==================================== 物理設計 ==================================== 論理設計 ==================================== 正規化 ==================================== インデックス ==================================== B-Tree / B+Tree インデックス ---------------------------------- B-Treeインデックスの特徴はどんな場面においてもそこそこの性能がでるということです。 個々のシチュエーションでは、B-Treeインデックスを上回るパフォーマンスを出せるインデックスは\ ありますが、どの場面でもB-Treeインデックスは頑張ってくれます。 *均一性* B-Treeとは平衡木を意味し、どのリーフノードもルートからの距離が一定の長さとなります。\ つまり、どんなキーで検索しても同じ計算時間で探索することできます。 *持続性* 最初の内は綺麗な平衡木をとっていますが、更新削除を繰り返される内に平衡木が崩れていきますが、\ それでも、B-Treeインデックスは他のインデックスと比べ劣化の速度はゆるやかです。 *処理汎用性* 選択、挿入、削除のコストはデータ量に対してO(log n)なのでデータ量が増えても性能劣化が緩やか。 *非等値性* 等号(=)のみならず不等号や範囲検索もそこそこ高速に行えます。 *親ソート性* ハッシュインデックス ---------------------------------- トランザクション ====================================