達人に学ぶDB設計

達人に学ぶDB設計 徹底指南書

達人に学ぶDB設計 徹底指南書

第8章まで。

第8章 論理設計のグレーノウハウ

  • 違法すれすれのグレーゾーン
    • グレーノウハウ
  • 主キーが決められない、または主キーとして不十分なケース
    • そもそも入力データに主キーにできるような一意キーが存在しない
    • 一意キーはあるがサイクリックに使い回される
    • 一意キーはあるが、途中で指す対象が変化する
  • 代理キーによる解決
  • 事前キーによる解決
    • インターバル
    • タイムスタンプ
  • オートナンバリングの是非
    • 一意性の保証
    • 連続性の保証
  • オートナンバリングの実現方法
    • シーケンスオブジェクト
    • ID列
    • オートナンバリングをアプリケーションで実現するのは車輪の再発明
  • 列持ちテーブル
    • 原則使うべきではない
    • 利点
      • シンプルな設計
      • 入出力のフォーマットと合わせやすい
    • 欠点
      • 列の増減が難しい
      • 無用のNULLを使わなくてはならない
  • 行持ちテーブル
  • アドホックな集計キー
    • キーを別テーブルに分離することで対応
  • 多段ビュー
    • ビューの背後にあるテーブルの存在を常に意識せよ
    • KISS (Keep It Simple, Stupid)
  • データクレンジングの重要性
    • 一意キーの特定
    • 名寄せ
      • 名寄せをサボるとダブルマスタを生み出す