学習ロードマップ
業務要件から RDB スキーマへ落とし込む思考過程を、具体例ベースで身につけるためのロードマップ。アプリ開発者向け。
このロードマップが扱うもの
このロードマップは、アプリを書けるが DB 設計は「なんとなく」で進めてしまいがちなバックエンド / フルスタックエンジニアを対象にしています。学び終えたときには、業務要件からエンティティとリレーションを抽出し、正規化・インデックス・制約・変更容易性まで意識した RDB スキーマを設計・レビューできる状態を目指します。
このロードマップの全体像
このロードマップは、アプリを書けるが DB 設計は「なんとなく」で進めてしまいがちなバックエンド / フルスタックエンジニアを対象にしています。学び終えたときには、業務要件からエンティティとリレーションを抽出し、正規化・インデックス・制約・変更容易性まで意識した RDB スキーマを設計・レビューできる状態を目指します。
1. 要件からエンティティを抽出する: ユースケースとドメイン用語からエンティティと関係を洗い出し、概念モデルを描く練習をします。 2. 正規化と非正規化の判断: 1NF 〜 3NF の基本、スタースキーマや読み取り最適化のための非正規化をケースごとに選びます。 3. 主キー・外部キー・制約設計: サロゲートキー vs 自然キー、複合キー、チェック制約、ユニーク制約、null 可否の使い分けを身につけます。 4. インデックスとパフォーマンス: クエリパターンに合わせたインデックス設計、カバリングインデックス、実行計画の読み方を学びます。 5. 履歴・状態・削除の扱い: 監査ログ、論理削除、状態遷移、履歴テーブル、時系列データのよくあるパターンを整理します。 6. マイグレーションと運用: スキーマ変更のやり方、ゼロダウンタイム移行、バックアップ・検証・環境ごとのデータ管理を設計します。
DB は「あとから直しにくい」資産なので、初期の設計判断がプロダクトの寿命を縛りがちです。特にマルチテナントや論理削除、柔軟なタグ付けのような要件は、安易な実装が後の性能問題や整合性バグの温床になります。ORM の自動生成に任せきりにすると、想定していないクエリが走ってパフォーマンスを落とすこともあります。周辺では、SQL、インデックスと実行計画、トランザクションと分離レベル、ドメインモデリング、バックアップ/リストア、パフォーマンスチューニング、分散 DB の基礎を並行して押さえておくと、レビューで指摘できる観点が大幅に増えます。
ロードマップ