学習ロードマップ

RDB の基礎

SELECT 文から正規化・ER 図・トランザクション・インデックスまで、土台となる RDB の理解を 5 冊で組み上げる。

SQL 第2版 ゼロからはじめるデータベース操作 基本がわかるSQL入門 --データベース&設計の基礎から楽しく学ぶ リレーショナルデータベース入門第3版 : データモデル・SQL・管理システム・NoSQL 理論から学ぶデータベース実践入門 : リレーションモデルによる効率的なSQL SQLアンチパターン 第2版 : データベースプログラミングで陥りがちな失敗とその対策
SCROLL TO BEGIN

このロードマップが扱うもの

- SQL JOIN GROUP BY - ORM DB - Oracle MASTER DB

このロードマップの全体像

対象読者

  • 業務で SQL を書き始めたが、JOIN や GROUP BY で手が止まるアプリケーションエンジニア
  • ORM 越しに DB を触ってきて、テーブル設計やトランザクションの感覚が曖昧な中堅手前の開発者
  • 基本情報・応用情報や Oracle MASTER など、DB の資格勉強と実務を接続したい独習者

5 冊で到達する状態

  • SELECT / JOIN / GROUP BY / サブクエリを、集合演算としてのイメージで書き分けられる
  • 第 1〜第 3 正規形の意図を説明でき、ER 図からテーブル定義に落とせる
  • トランザクション・分離レベル・ロックを、アプリ側の不具合事例と結びつけて語れる
  • インデックスと実行計画を読み、クエリが遅い原因を仮説立てできる
  • SQL アンチパターンを知り、設計レビューで危険な兆候を指摘できる

進め方のヒント

  • 1〜2 冊目は必ず手元の MySQL か PostgreSQL で SELECT を打ちながら読む
  • 3 冊目でリレーショナルモデルに戻り、「なぜ正規化するのか」を言語化する
  • 4〜5 冊目は自分が関わったスキーマを題材に、アンチパターン診断のつもりで読むと定着する

ロードマップ

5 つのステップで読み進める

  1. 01
    ステップ 01 ゼロから始める SQL 文法の打鍵トレーニング
    SQL 第2版 ゼロからはじめるデータベース操作
  2. 02
    ステップ 02 SQL の背景にあるテーブル設計への橋渡し
    基本がわかるSQL入門 --データベース&設計の基礎から楽しく学ぶ
  3. 03
    ステップ 03 関係モデルから学び直す教科書的な体系整理
    リレーショナルデータベース入門第3版 : データモデル・SQL・管理システム・NoSQL
  4. 04
    ステップ 04 リレーショナルモデルで書く実践 SQL の思考法
    理論から学ぶデータベース実践入門 : リレーションモデルによる効率的なSQL
  5. 05
    ステップ 05 現場の失敗から学ぶ RDB 設計とクエリの勘所
    SQLアンチパターン 第2版 : データベースプログラミングで陥りがちな失敗とその対策

第 1 章

ゼロから始める SQL 文法の打鍵トレーニング

  1. ゼロから始める SQL 文法の打鍵トレーニング

    SELECT からサブクエリまで最小セットを手を動かして通す入門書。RDB 学習の入口として、文法と用語の肌感をここで揃える。

    SQL 第2版 ゼロからはじめるデータベース操作
    この章の 1 冊 SQL 第2版 ゼロからはじめるデータベース操作

    SQLをゼロから学び、アプリケーション連携まで体系的に習得する

    この本で身につくこと
    • SELECT 文の基本構文から WHERE・GROUP BY・HAVING・ORDER BY を組み合わせたデータ絞り込みと集計ができる
    • INNER JOIN / OUTER JOIN を使って複数テーブルを結合し、目的のデータセットを取り出せる
    • サブクエリを使った段階的なデータ抽出ロジックを自力で組み立てられる
    • ビュー・トランザクションの仕組みを理解し、安全なデータ操作の設計指針を持てる

    読み終えると Before(読む前): SQL をコピー&ペーストで動かしてきたが、GROUP BY や HAVING の使い分けを自分の言葉で説明できなかった After(読み終えた後): 集計・絞り込みの論理を体系的に理解し、要件から自力でクエリを組み立てられる

    想定読者: SQLに触れたことがない、または断片的な知識しかないプログラミング学習者・未経験からエンジニアへの転職を目指す人

    前提知識: プログラミングの基礎概念(変数・条件分岐・繰り返し)の理解があると比較例が理解しやすい。特定言語の習熟は不要 / Excel やスプレッドシートで表形式データを扱った経験があると、行・列・フィルタの概念との対応が直感的につかめる

    本の詳細を見る →
  2. SQL の背景にあるテーブル設計への橋渡し

    文法解説だけで終わらず、テーブル設計と正規化の初歩まで踏み込む一冊。1 冊目の知識をデータベース設計の語彙に接続する。

    基本がわかるSQL入門 --データベース&設計の基礎から楽しく学ぶ
    この章の 1 冊 基本がわかるSQL入門 --データベース&設計の基礎から楽しく学ぶ

    SQL の文法と設計の両輪をゼロから体系的に身につける

    この本で身につくこと
    • SELECT・INSERT・UPDATE・DELETE の基本構文を MySQL / MariaDB / PostgreSQL の3環境で実行できる
    • 第1〜3正規形からボイス・コッド正規形までの正規化手順を自分で適用できる
    • ER図の記法(多重度・スーパータイプ・サブタイプ)を読み書きし、テーブル設計の根拠を説明できる
    • JOIN・サブクエリ・ウィンドウ関数・CASE式など実務頻出の問い合わせパターンを使い分けられる

    想定読者: SQLをはじめて学ぶ社会人・学生。SELECT文は書けるがテーブル設計の意図が理解できていない人

    本の詳細を見る →
  3. 関係モデルから学び直す教科書的な体系整理

    データモデル・SQL・管理システム・NoSQL までを大学教科書の厚みで整理する。ロードマップの骨格として理論側を固める位置付け。

    リレーショナルデータベース入門第3版 : データモデル・SQL・管理システム・NoSQL
    この章の 1 冊 リレーショナルデータベース入門第3版 : データモデル・SQL・管理システム・NoSQL

    リレーショナルデータモデルの原理からSQL・DBMS・NoSQLまでを体系的に習得する

    この本で身につくこと
    • リレーショナルデータモデルの数学的基盤(関係・タプル・関係代数)を体系的に理解できる
    • 関係代数の射影・結合・商演算の定義と具体的な計算手順を説明できる
    • SQLの意味論をリレーショナル代数と対応させながら理解し、クエリの設計判断を言語化できる
    • NULL値の3種類の意味(dne・unk・ni)を区別し、SQL動作の根拠を説明できる

    想定読者: データベース理論を体系的に学びたい情報系学部生・大学院生、およびRDB設計の理論的基盤を固めたいエンジニア

    本の詳細を見る →
  4. リレーショナルモデルで書く実践 SQL の思考法

    NULL や重複の扱い、集合指向の思考を理論に接続して実践に落とす応用書。3 冊目の理論を日々書く SQL の質に変換する。

    理論から学ぶデータベース実践入門 : リレーションモデルによる効率的なSQL
    この章の 1 冊 理論から学ぶデータベース実践入門 : リレーションモデルによる効率的なSQL

    リレーショナルモデルの理論を起点にSQLと設計を再体系化する

    この本で身につくこと
    • 第一〜第三正規形の定義を理論的に説明し、実際のテーブル設計で正規化の判断根拠を示せる
    • Nested Loop Join の仕組みを理解し、インデックスの有無・テーブル件数・結合順序がクエリコストに与える影響を説明できる
    • NULL の三値論理(TRUE / FALSE / UNKNOWN)を正確に扱い、意図しない集計や絞り込み漏れを防止できる
    • インデックスが効く条件・効かない条件をリレーショナルモデルの観点から根拠を持って判断できる

    想定読者: SQLは書けるがリレーショナルモデルの理論を体系的に学んだことがないWebエンジニア(経験1〜3年目)

    前提知識: 基本的なSELECT / JOIN / GROUP BYを使ったSQL記述経験 / テーブル・主キー・外部キーの概念的な理解 / 何らかのRDB(MySQL / PostgreSQLなど)を実際に操作した経験

    本の詳細を見る →
  5. 現場の失敗から学ぶ RDB 設計とクエリの勘所

    典型的な設計・クエリの落とし穴を事例で潰す定番。習得した基礎と理論を、レビュー観点として実務コードに当てに行くための総仕上げ。

    SQLアンチパターン 第2版 : データベースプログラミングで陥りがちな失敗とその対策
    この章の 1 冊 SQLアンチパターン 第2版 : データベースプログラミングで陥りがちな失敗とその対策

    RDBを使う開発者がやりがちな失敗を体系的に診断・改善する

    この本で身につくこと
    • Jaywalking(カンマ区切りリスト)やEAV(エンティティ・属性・値)など、一見合理的に見えるDB設計パターンが引き起こす問題を説明できる
    • ポリモーフィック関連・マルチカラム属性・メタデータトラブルなど論理設計層のアンチパターンを識別し、代替設計を提案できる
    • NULLの扱い・あいまいなGROUP BY・暗黙のカラム参照など、クエリ層の落とし穴を回避するSQL記述ができる
    • SQLインジェクションをはじめとするアプリケーション層のセキュリティリスクを、コード設計の観点で防止できる

    想定読者: SQLとRDB設計の基礎は押さえており、現場での設計品質・クエリ品質を上げたい中級以上のバックエンドエンジニアやDBエンジニア

    本の詳細を見る →