🐈
[読書メモ] 達人に学ぶDB設計
概要
- データベースの3層構造
- 外部スキーマ
- テーブル・ビュー
- 概念スキーマ
- テーブル定義
- 内部スキーマ
- データの物理配置
- 外部スキーマ
- 論理設計 = 概念スキーマの設計
- エンティティの抽出
- エンティティの定義
- エンティティのKeyを決める
- エンティティの属性を決める
- エンティティ間の関係を決める
- 正規化: Normalization
- 目的:データのCRUDを整合して(一貫性を保って)効率よく行えるようにすること
- データベースで保持するデータの冗長性を排除するデータ形式
- 段階
- 第1正規形
- 主キーが各列の値を一意に決定できる. 1つのセル(項目)は1つの値にする.
- 第2正規形
- 主キーの一部の項目だけに従属するような項目を含めないようにする. 部分関数従属を消す
- 第3正規形
- 主キー以外の項目に従属するような項目がないようにする. 推移的関数従属を消す.
- ボイスーコッド正規形
- 非キーからキーへの関数従属をなくす
- 第4正規形
- 第5正規形
- 第1正規形
- 正規化はパフォーマンスとトレードオフ
- 検索
- joinが必要になりパフォーマンスの低下
- 更新
- 正規化により早くなる
- 検索
- ER図の作成
- 表記法
- IE表記
- IDEF1X表記
- 関連実態 (associative entity)
- N:Nのリレーションを2つの1:Nに分割する
- 表記法
- 物理設計 = 内部スキーマの設計
- テーブル定義
- インデックス定義
- 種類
- B-tree(平衡木)
- 種類
- ハードウェアのサイジング
- ストレージの冗長構成を決める
- ファイルの物理配置を決める
- バックアップ・リストア・リカバリ設計
- バックアップ
- フル
- 差分
- 前回のフルバックアップからのデータを累積的に保持
- 増分
- 前回のフルバックアップからのデータの増分を保持
- リカバリの手順が増える
- リストア
- バックアップファイルをデータベースに戻す
- リカバリ
- 差分バックアップしていたトランザクションログを適用する
- ロールフォワード
- DBに残っているトランザクションログを適用する
- バックアップ
Discussion