1. RDB入門とリレーショナルモデル MOC

2. リレーショナルデータモデリングと設計 MOC

3. SQL (Structured Query Language) MOC

3.1. SQL入門 MOC

3.2. データ定義言語 (DDL) MOC

3.3. データ操作言語 (DML) MOC

  • [[INSERT 文]]
    • [[単一行の挿入]]
    • [[複数行の挿入]]
    • [[SELECT結果の挿入 (INSERT INTO … SELECT …)]]
  • [[UPDATE 文]]
    • [[WHERE句による更新対象の指定]]
  • [[DELETE 文]]
    • [[WHERE句による削除対象の指定]]
    • [[DELETE vs. TRUNCATE vs. DROP]]
  • [[(オプション) MERGE 文 (UPSERT)]]

3.4. SELECT文 MOC

  • [[SELECT 文の基本構造]]
    • [[SELECT句 (列の選択, *, DISTINCT, 別名(AS))]]
    • [[FROM句 (テーブルの指定)]]
  • [[WHERE 句 (行のフィルタリング)]]
    • [[比較演算子 (=, !=, <, >など)]]
    • [[論理演算子 (AND, OR, NOT)]]
    • [[BETWEEN...AND ...]]
    • [[IN(...) /NOT IN (...)]]
    • [[LIKE(ワイルドカード:%, _)]]
    • [[IS NULL/IS NOT NULL]]
  • [[ORDER BY 句 (結果のソート)]]
    • [[ASC (昇順), DESC (降順)]]`
    • [[複数列によるソート]]
  • [[LIMIT / OFFSET 句 (結果行数の制限とページネーション)]] (FETCH FIRSTなどの方言も)
  • 集約関数 (Aggregate Functions) MOC
    • [[COUNT()]]
    • [[SUM()]]
    • [[AVG()]]
    • [[MAX()]]
    • [[MIN()]]
  • [[GROUP BY 句 (データのグループ化)]]
  • [[HAVING 句 (グループ化後のフィルタリング)]]
    • [[WHEREHAVING の違い]]
  • 結合 (JOIN) MOC
    • [[INNER JOIN]] (内部結合)
    • [[LEFT JOIN (LEFT OUTER JOIN)]] (左外部結合)
    • [[RIGHT JOIN (RIGHT OUTER JOIN)]] (右外部結合)
    • [[FULL OUTER JOIN]] (完全外部結合)
    • [[CROSS JOIN]] (交差結合)
    • [[自己結合 (Self Join)]]
    • [[USING 句と ON 句]]
  • 集合演算子 (Set Operators) MOC
    • [[UNIONUNION ALL]]
    • [[INTERSECT]]
    • [[EXCEPT / MINUS]]
  • サブクエリ (Subquery) MOC
    • [[スカラーサブクエリ]]
    • [[複数行サブクエリ (IN, ANY, ALL)]]
    • [[相関サブクエリ (Correlated Subquery)]]
    • [[EXISTS 演算子]]
  • [[共通テーブル式 (CTE - Common Table Expressions) / WITH 句 MOC]]
  • ウィンドウ関数 (Window Functions) MOC
    • [[ウィンドウ関数の構文 (OVER句)]]
    • [[PARTITION BY, ORDER BY, ROWS/RANGE フレーム]]
    • [[集約ウィンドウ関数 (SUM, AVGなど)]]
    • [[ランキング関数 (ROW_NUMBER, RANK, DENSE_RANK)]]
    • [[オフセット関数 (LAG, LEAD)]]
  • CASE式 (条件分岐)
  • (オプション) ピボットテーブル (PIVOT)

3.5. データ制御言語 (DCL) とトランザクション制御言語 (TCL) MOC

  • [[GRANT]] (権限付与)
  • [[REVOKE]] (権限剥奪)
  • [[COMMIT]] (トランザクションの確定)
  • [[ROLLBACK]] (トランザクションの取り消し)
  • [[SAVEPOINT]] (部分的なロールバック)

4. トランザクション管理 MOC

5. データベースのパフォーマンスと最適化 MOC

  • インデックス (Index) MOC
  • クエリの実行計画 (Query Execution Plan) MOC
    • [[実行計画とは (クエリ実行の内部的な手順)]]
    • [[EXPLAIN/EXPLAIN ANALYZEコマンドの使い方]]
    • [[実行計画の読み方 (スキャン方法: フルテーブルスキャン vs. インデックススキャン, 結合アルゴリズム: Nested Loop Join, Hash Join, Merge Join)]]
  • クエリチューニング
    • [[インデックスの活用]]
    • [[WHERE句の改善 (SARGableな条件)]]
    • [[JOINの最適化]]
    • [[サブクエリの最適化]]
  • データベースの統計情報 (オプティマイザが実行計画を立てるために使用)
  • マテリアライズドビュー (Materialized View)
  • パーティショニング (Partitioning) (大規模テーブルの分割)
  • コネクションプーリング (Connection Pooling)

6. 主要なRDBMSの実装 MOC

6.1. PostgreSQL MOC

  • PostgreSQLの歴史と特徴 (高機能、拡張性、標準SQL準拠)
  • PostgreSQLのアーキテクチャ (プロセスベースアーキテクチャ)
  • PostgreSQLのデータ型 (JSON/JSONB, 配列型, hstore, 幾何データ型など豊富な型)
  • PostgreSQLの高度な機能
    • [[MVCC (多版型同時実行制御)]]
    • [[テーブル継承]]
    • [[外部データラッパー (FDW - Foreign Data Wrappers)]]
    • [[豊富なインデックス種類 (GIN, GiSTなど)]]
    • [[高度なトランザクション制御]]
  • PostgreSQLの管理と運用
    • [[主要な設定ファイル (postgresql.conf, pg_hba.conf)]]
    • [[バックアップとリカバリ (pg_dump, pg_restore)]]
    • [[レプリケーション (ストリーミングレプリケーション)]]
    • [[VACUUMANALYZE]]`
  • PostgreSQLのエコシステム (pgAdmin, psqlコマンドラインツール)

6.2. MySQL MOC

  • MySQLの歴史と特徴 (Webでの圧倒的実績、高速性、シンプルさ)
  • MySQLのアーキテクチャ (スレッドベースアーキテクチャ)
  • ストレージエンジン MOC
    • [[InnoDB]] (トランザクション対応、行レベルロック、デフォルト)
    • [[MyISAM]] (トランザクション非対応、テーブルレベルロック、高速読み取り)
    • [[その他のストレージエンジン (Memory, Archive 등)]]
  • MySQLの機能
    • [[レプリケーション (マスター/スレーブ、グループレプリケーション)]]
    • [[MySQLのクラスタリングソリューション (InnoDB Cluster, Percona XtraDB Cluster)]]
  • MySQLの管理と運用
    • [[主要な設定ファイル (my.cnf)]]
    • [[バックアップとリカバリ (mysqldump)]]
    • [[ユーザー管理]]
  • MySQLのエコシステム (MySQL Workbench, mysqlコマンドラインツール)
  • MySQLとMariaDBの関係

6.3. PostgreSQL vs. MySQL MOC

  • [[アーキテクチャとパフォーマンス特性の比較]]
  • [[機能とSQL標準準拠度の比較]]
  • [[ライセンスとコミュニティの比較]]
  • [[ユースケースに応じた選択]]

7. データベースの管理と運用 MOC

8. RDBと他のデータベースモデルの比較 MOC

9. RDBの将来とトレンド MOC