用語定義の監査台帳(作業用)
全13回(00-index.md は索引のため対象外)を走査し、SQLキーワード・組み込み関数・記法・
PostgreSQL固有の概念語・psqlメタコマンド・EXPLAIN出力のノード名・拡張/ツール名について、
初出位置と定義の有無を記録した台帳である。修正作業の根拠として残す。
判定基準
- あり … 「XとはYである」「XはYと呼ぶ」「X(=Y)」のように、その用語が何であるかを述べる文が存在する
- なし … 用途や効果の説明だけで、それが何であるかの文がない
- 括弧書きの原語併記のみ(例:
CTE(Common Table Expression))は「なし」に分類する
「到達目標」「到達度チェックリスト」での言及は目標の提示であり、初出・定義の先出しとは見なさない。
初出位置は本編・ハンズオン・前提と準備の本文を対象とする。
欠陥分類
| 分類 | 内容 |
|---|
| A | 定義より前の回で説明なしに使われている(先出し) |
| B | その回の主役は定義されるが、補助的な関数・記法・キーワードが定義されない |
| C | 構文の形は示されるが「それが何であるか」の定義文がない |
| D | 下位概念(種類・段階・レベル)は個別に定義されるが、それらを束ねる上位概念が定義されない |
| E | 略語が初出時に展開されていない |
| — | 欠陥なし |
監査観点
走査のたびに次を確認する。D・E は第2次監査で追加した観点である。
- 用語が初出時点で定義されているか。用途や効果の説明だけになっていないか。
- 定義がその用語を使う回より後の回にないか(先出し)。
- 各回のタイトル・主題に含まれる上位概念語が、個別の下位概念の定義だけで
済まされていないか。「1NF/2NF/3NFは定義されているが正規形が定義されていない」
型の抜けを疑う。
- 略語がすべて初出時に展開されているか。原語併記は定義ではないが、
略語の展開は定義とは別に必須とする。
台帳
初出位置の行番号は第1次監査(2026-08-16)時点のものであり、その後の追記でずれている場合がある。
第1回 環境構築・エンコーディング/照合順序
| 用語 | 初出(ファイル:行) | 定義の有無 | 定義位置 | 欠陥分類 |
|---|
| メタコマンド(psql) | 01:84 | あり | 01:84 | — |
\l / \dt / \d / \c / \timing / \q | 01:86-93 | あり | 01:86-93(表) | — |
| エンコーディング | 01:111 | あり | 01:123 | — |
| 照合順序(collation) | 01:111 | あり | 01:111, 125 | — |
LC_COLLATE / LC_CTYPE | 01:111 | あり | 01:125 | — |
C ロケール | 01:116 | あり | 01:125 | — |
| ICU | 01:131 | あり | 01:131 | — |
template0 / template1 | 01:118 | あり | 01:173, 187 | — |
GENERATED BY DEFAULT AS IDENTITY | 01:214 | なし | (04:219 で「サロゲートキー」として間接的に) | B |
numeric(p,s) | 01:231 | あり | 05:70 | A(軽微・01:209 に後述予告あり) |
timestamptz / timestamp | 01:209 | あり | 01:395(表) | — |
generate_series | 01:302 | あり | 01:302 | — |
random() | 01:302 | あり | 01:302 | — |
interval '365 days' | 01:302 | なし | 05:165 | B |
::(キャスト記法) | 01:323 | なし | (どこにもなし) | B |
||(文字列連結) | 01:308 | なし | (どこにもなし) | B |
ARRAY[...](配列リテラル) | 01:309 | なし | (どこにもなし) | B |
floor / round | 01:309, 323 | なし | (どこにもなし) | B(軽微) |
ON CONFLICT ... DO NOTHING | 01:351 | なし | 11:245(べき等登録の文脈) | B |
LATERAL | 01:362 | なし | (どこにもなし) | B |
UNION ALL | 01:446 | あり | 01:465 | — |
| GUC | 01:383 | なし(括弧書きのみ) | (どこにもなし) | B |
| B-tree | 01:386 | あり | 07:101 | A |
REINDEX | 01:386 | なし | (どこにもなし) | B(軽微) |
pg_dump / pg_restore | 01:383 | あり | 12:61 | A(軽微) |
pg_collation | 01:131 | なし | (どこにもなし) | B(軽微) |
COLLATE 句 | 01:171 | あり | 01:171 文脈 | — |
第2回 関係モデル
| 用語 | 初出(ファイル:行) | 定義の有無 | 定義位置 | 欠陥分類 |
|---|
| 関係(relation)/ タプル / 属性 / 定義域 | 02:59-64 | あり | 02:59-64(表) | — |
| 述語(predicate) | 02:109 | あり | 02:109 | — |
| プランナ | 02:103 | あり | 02:103 | — |
| 論理的評価順序 | 02:122 | あり | 02:126(表) | — |
集合演算(UNION/INTERSECT/EXCEPT) | 02:198 | あり | 02:233(表) | — |
| 三値論理 / unknown | 02:278 | あり | 02:280 | — |
IS NULL / IS NOT NULL | 02:355 | あり | 02:355 | — |
COUNT(*) / COUNT(列名) | 02:375 | あり | 02:377 | — |
VALUES(テーブルとしての) | 02:317 | なし | (どこにもなし) | B |
::text(キャスト) | 02:321 | なし | (どこにもなし) | B |
DISTINCT | 02:244 | なし | (どこにもなし) | B(軽微) |
WITH(CTE) | 02:591(課題2 想定解答) | あり | 03:305 | A |
| 集約関数 | 02:260 | あり | 03:159 | A(軽微) |
第3回 SQL を書ききる
| 用語 | 初出(ファイル:行) | 定義の有無 | 定義位置 | 欠陥分類 |
|---|
INNER JOIN / LEFT JOIN / 自己結合 | 03:62 | あり | 03:62(表) | — |
GROUP BY / 集約関数 | 03:159 | あり | 03:159 | — |
| サブクエリ / 相関・非相関 | 03:226 | あり | 03:226 | — |
EXISTS | 03:278 | あり | 03:278 | — |
CTE(WITH 句) | 03:305 | あり | 03:305 | — |
MATERIALIZED | 03:341 | あり | 03:341 | — |
| ウィンドウ関数 | 03:348 | なし(形のみ) | (どこにもなし) | C |
PARTITION BY / フレーム句 | 03:363-368 | あり | 03:363-368 | — |
ROW_NUMBER / RANK / LAG / LEAD | 03:370, 443, 468 | あり | 同左 | — |
date_trunc | 03:175 | なし | (どこにもなし) | B |
coalesce | 03:630 | なし | (どこにもなし) | B |
DISTINCT ON | 03:602 | なし | (どこにもなし) | B |
array_agg | 03:660 | なし | (どこにもなし) | B(軽微) |
\x auto | 03:45 | なし | (第1回のメタコマンド表に無い) | B |
interval '7 days' | 03:139 | なし | 05:165 | B |
第4回 論理設計と正規化
| 用語 | 初出(ファイル:行) | 定義の有無 | 定義位置 | 欠陥分類 |
|---|
| ER図 / 多重度(カーディナリティ) | 04:42 | あり | 04:42 | — |
| 鳥の足記法 | 04:44 | あり | 04:44 | — |
| 関数従属 / 決定項 / 候補キー | 04:57 | あり | 04:57 | — |
| 1NF / 2NF / 3NF / BCNF | 04:115, 123, 151, 178 | あり | 同左 | — |
| 部分従属 / 推移従属 | 04:121, 149 | あり | 同左 | — |
| スーパーキー | 04:151 | なし | (どこにもなし) | B |
| 素属性 | 04:151 | あり | 04:151(括弧内に定義) | — |
| 自然キー / サロゲートキー | 04:219 | あり | 04:219, 221(表) | — |
| 外部キー(FK)制約 | 04:280 | あり | 04:280 | — |
| 無損失分解 | 04:398 | なし(括弧書きのみ) | (どこにもなし) | B(軽微) |
| 更新異常 / 挿入異常 / 削除異常 | 04:349, 363, 377 | あり | 同左 | — |
CREATE TABLE ... AS | 04:126 | なし | (どこにもなし) | B(軽微) |
第5回 データ型と制約設計
| 用語 | 初出(ファイル:行) | 定義の有無 | 定義位置 | 欠陥分類 |
|---|
整数系 / 浮動小数点系 / numeric | 05:61 | あり | 05:61, 64(表) | — |
text / varchar(n) / char(n) | 05:114 | あり | 05:114 | — |
date / interval | 05:165 | あり | 05:165 | — |
boolean | 05:184 | あり | 05:184 | — |
| ENUM型 | 05:188 | あり | 05:194 文脈・05:210(表) | — |
jsonb | 05:224 | あり | 05:224 | — |
-> / ->> / @> / ?(jsonb演算子) | 05:224 | なし(列挙のみ) | (@> のみ 06:149) | B |
| GIN インデックス | 05:224 | あり | 07:233(表) | A |
| NOT NULL / UNIQUE / CHECK / 主キー / 外部キー | 05:259-271 | あり | 同左 | — |
参照アクション(ON DELETE/ON UPDATE) | 05:273 | あり | 05:273 | — |
| 生成列 | 05:293 | あり | 05:293 | — |
| ドメイン型 | 05:316 | あり | 05:316 | — |
| DDL | 05:137 | なし | 10:462 に部分的(ddl は定義変更のみ) | B |
| ORM | 05:328 | なし | (どこにもなし) | B |
CREATE TEMP TABLE | 05:119 | なし | (どこにもなし) | B(軽微) |
jsonb_to_recordset | 05:249 | なし | (どこにもなし) | B(軽微) |
第6回 実務のモデリング
| 用語 | 初出(ファイル:行) | 定義の有無 | 定義位置 | 欠陥分類 |
|---|
range型 / tstzrange | 06:58 | あり | 06:58 | — |
&& / @>(範囲演算子) | 06:58 | あり | 06:58, 149 | — |
排他制約(EXCLUDE USING gist) | 06:92 | あり | 06:95 | — |
btree_gist | 06:26 | なし(必要理由のみ) | (どこにもなし) | B |
半開区間 '[)' | 06:95 | あり | 06:95 | — |
| トリガ | 06:74 | なし(用途のみ) | (どこにもなし) | C |
PL/pgSQL / $$ / OLD・NEW / RAISE EXCEPTION | 06:196-215 | なし | (どこにもなし) | B |
IS DISTINCT FROM | 06:220 | なし | (どこにもなし) | B(軽微) |
| ビュー | 06:266 | なし(用途のみ) | (どこにもなし) | C |
| 部分インデックス | 06:251 | あり | 07:212 | A |
| 論理削除 | 06:239 | あり | 06:239 | — |
| 中間テーブル / 実体化 | 06:277, 289 | あり | 同左 | — |
| 非正規化 | 06:295 | あり | 06:295 | — |
RETURNING | 06:363 | なし | (どこにもなし) | B(軽微) |
| レース条件 | 06:117 | なし | 09:133 に相当内容 | B(軽微) |
第7回 ストレージとインデックス
| 用語 | 初出(ファイル:行) | 定義の有無 | 定義位置 | 欠陥分類 |
|---|
| ヒープ / ページ / タプル | 07:51 | あり | 07:51 | — |
| 行ポインタ(ItemId) | 07:53 | あり | 07:53 | — |
TID / ctid | 07:77 | あり | 07:77 | — |
| B-tree(根・内部・葉) | 07:101 | あり | 07:101-105 | — |
| 複合索引 | 07:127 | あり | 07:127 | — |
カバリング索引 / INCLUDE | 07:189 | あり | 07:189, 210 | — |
| Index Only Scan | 07:189 | あり | 07:189 | — |
| 可視性マップ | 07:210 | あり | 07:210(括弧内に定義) | — |
| 部分索引 | 07:212 | あり | 07:212 | — |
| Hash / GIN / GiST / BRIN | 07:233 | あり | 07:233(表) | — |
pg_trgm | 07:237 | なし | (どこにもなし) | B |
| オペレータクラス / opclass | 07:235(略称が先) | なし | (どこにもなし。07:289, 299 で用語だけ使用) | B |
text_pattern_ops | 07:289 | あり | 07:299 | — |
| 式インデックス | 07:313 | あり | 07:313 | — |
IMMUTABLE | 07:325 | なし | (どこにもなし) | B |
| Seq Scan / Index Scan / Bitmap Heap Scan / Index Cond / Filter / Buffers / Heap Fetches | 07:21, 143, 146, 206, 281 | あり | 08:97, 102(表)ほか | A |
VACUUM / 自動バキューム | 07:97, 210 | あり | 12:238, 241 | A |
ANALYZE(統計収集) | 07:31 | あり | 08:146 | A(軽微) |
SHOW block_size | 07:44 | なし | (どこにもなし) | B(軽微) |
第8回 実行計画を読む
| 用語 | 初出(ファイル:行) | 定義の有無 | 定義位置 | 欠陥分類 |
|---|
| プランナ / 実行計画 | 08:12 | あり | 08:12(02:103 でも) | — |
EXPLAIN の3オプション | 08:34 | あり | 08:34(表) | — |
cost / rows / width / actual time / loops | 08:83-87 | あり | 同左 | — |
| Seq / Index / Index Only / Bitmap スキャン | 08:97 | あり | 08:97(表) | — |
| Nested Loop / Hash Join / Merge Join | 08:121 | あり | 08:121(表) | — |
統計情報 / pg_stats | 08:146 | あり | 08:146 | — |
| n_distinct / most_common_vals / histogram_bounds | 08:148-150 | あり | 同左 | — |
| 共有バッファ | 08:89 | なし | (どこにもなし) | B |
| 選択率 | 08:95 | なし(括弧書きのみ) | (どこにもなし) | B |
work_mem | 08:124 | なし(括弧書きのみ) | (どこにもなし) | B |
random_page_cost | 08:138 | あり | 08:138 | — |
| 拡張統計 | 08:183 | なし | (どこにもなし) | B |
VACUUM ANALYZE / 自動バキューム | 08:29, 180 | あり | 12:238, 241 | A |
track_io_timing | 08:51 | なし | (どこにもなし) | B(軽微) |
| HashAggregate / Aggregate / Group Key | 08:70, 256 | なし | (どこにもなし) | B(軽微) |
第9回 トランザクションと並行制御
| 用語 | 初出(ファイル:行) | 定義の有無 | 定義位置 | 欠陥分類 |
|---|
| トランザクション | 09:58 | あり | 09:58 | — |
| ACID | 09:58 | あり | 09:60(表) | — |
| アノマリー(5種) | 09:71 | あり | 09:73-77 | — |
| 分離レベル | 09:67 | あり | 09:67, 79 | — |
| スナップショット分離 | 09:95 | あり | 09:95 | — |
| SSI | 09:97 | あり | 09:97 | — |
MVCC / xmin / xmax | 09:101 | あり | 09:101-104 | — |
| スナップショット | 09:106 | あり | 09:106 | — |
| デッドタプル / ブロート | 09:131 | あり | 09:131 | — |
| read-modify-write | 09:135 | あり | 09:135 | — |
| 行ロック / 排他ロック | 09:177 | あり | 09:177 | — |
| デッドロック | 09:237 | あり | 09:237 | — |
SQLSTATE | 09:97 | なし(括弧書きのみ) | (どこにもなし) | B |
VACUUM | 09:124 | あり | 12:238 | A |
| xmin ホライズン | 09:377 | なし | (どこにもなし) | B(軽微) |
pg_stat_activity | 09:395 | あり | 12:353 | A(軽微) |
第10回 権限・ロール・RLS・監査
| 用語 | 初出(ファイル:行) | 定義の有無 | 定義位置 | 欠陥分類 |
|---|
ロール / LOGIN 属性 | 10:62 | あり | 10:62 | — |
| ロール属性一覧 | 10:73 | あり | 10:73(表) | — |
| 権限(privilege) | 10:89 | あり | 10:89 | — |
| グループロール / ログインロール | 10:93 | あり | 10:67, 93 | — |
ALTER DEFAULT PRIVILEGES | 10:109 | あり | 10:118 | — |
| 認証 / 認可(3層モデル) | 10:205 | あり | 10:219(表) | — |
| RLS / ポリシー | 10:231 | あり | 10:231, 235 | — |
USING / WITH CHECK | 10:312 | あり | 10:312-315 | — |
BYPASSRLS / FORCE ROW LEVEL SECURITY | 10:79, 425 | あり | 同左 | — |
| マルチテナント | 10:233 | あり | 10:233(括弧内に定義) | — |
| fail-closed | 10:363 | あり | 10:363 | — |
pg_hba.conf / 認証方式 | 10:500 | あり | 10:500, 523 | — |
| pgaudit | 10:472 | あり | 10:472, 486 | — |
| DML | 10:453 | あり | 10:453(括弧内に定義) | — |
| DDL | 10:462 | 部分的 | 10:462 | B(05 側で先出し) |
セッション変数 / current_setting | 10:350 | あり | 10:361 | — |
| システムカタログ | 10:550 | あり | 10:550(括弧内) | — |
第11回 アプリとの境界+インジェクション
| 用語 | 初出(ファイル:行) | 定義の有無 | 定義位置 | 欠陥分類 |
|---|
| N+1 問題 | 11:54 | あり | 11:54 | — |
| 遅延ロード / eager ロード | 11:142, 152 | あり | 同左 | — |
| バックエンドプロセス | 11:161 | あり | 11:161 | — |
| コネクションプール | 11:166 | あり | 11:166 | — |
| pgbouncer のプーリングモード | 11:185 | あり | 11:187(表) | — |
| べき等性 | 11:235 | あり | 11:235 | — |
| SQL インジェクション | 11:250 | あり | 11:250 | — |
| プレースホルダ / parse・bind | 11:298 | あり | 11:298 | — |
| 許可リスト(allowlist) | 11:353 | あり | 11:353 | — |
| 多層防御 | 11:374 | あり | 11:374 | — |
= ANY($1) | 11:99 | なし(用途のみ) | (どこにもなし) | B |
| ORM | 11:13 | なし | (どこにもなし。05 で先出し) | B |
advisory lock / LISTEN・NOTIFY | 11:196 | なし(列挙のみ) | (どこにもなし) | B(軽微) |
VACUUM / デッドタプル | 11:222 | あり | 12:238 / 09:131 | A(軽微) |
第12回 運用+pg_stat_statements
| 用語 | 初出(ファイル:行) | 定義の有無 | 定義位置 | 欠陥分類 |
|---|
| 論理バックアップ / 物理バックアップ | 12:61 | あり | 12:61 | — |
| WAL | 12:98 | あり | 12:98 | — |
| PITR | 12:13 | あり | 12:13, 100 | — |
recovery.signal / 復旧パラメータ | 12:116 | あり | 12:116 | — |
| 復旧試験 | 12:139 | あり | 12:135 | — |
ACCESS EXCLUSIVE ロック | 12:144 | あり | 12:144 | — |
CREATE INDEX CONCURRENTLY | 12:149 | あり | 12:147-156 | — |
| テーブル書き換え(rewrite) | 12:169 | あり | 12:169 | — |
NOT VALID → VALIDATE | 12:187 | あり | 12:187 | — |
lock_timeout / 待ち行列 | 12:217 | あり | 12:217 | — |
| 死タプル / bloat | 12:233, 235 | あり | 同左 | — |
VACUUM / VACUUM FULL / autovacuum | 12:238, 241, 244 | あり | 同左 | — |
pg_stat_statements | 12:288 | あり | 12:288 | — |
pg_stat_activity / キャッシュヒット率 | 12:353, 366 | あり | 同左 | — |
pg_ctl | 12:299 | なし | (どこにもなし) | B(軽微) |
第13回 スケールと外の世界
| 用語 | 初出(ファイル:行) | 定義の有無 | 定義位置 | 欠陥分類 |
|---|
| 垂直スケール | 13:71 | あり | 13:71 | — |
| パーティショニング / 宣言的パーティショニング | 13:86 | あり | 13:86 | — |
| レンジ分割 / デフォルトパーティション | 13:89, 137 | あり | 同左 | — |
| partition pruning | 13:185 | あり | 13:185 | — |
| レプリケーション / プライマリ / スタンバイ | 13:245 | あり | 13:245 | — |
| ストリーミング(物理)/ 論理レプリケーション | 13:249 | あり | 13:249(表) | — |
| ホットスタンバイ | 13:258 | あり | 13:258 | — |
| 同期 / 非同期 | 13:276 | あり | 13:276 | — |
| レプリケーション遅延 / read-your-writes | 13:309 | あり | 13:309 | — |
| シャーディング / シャードキー | 13:315 | あり | 13:315 | — |
| CAP 定理 | 13:336 | あり | 13:336 | — |
| 結果整合性 | 13:345 | あり | 13:345 | — |
| OLTP / OLAP | 13:359, 362 | あり | 同左 | — |
| 行指向 / 列指向 | 13:367 | あり | 13:367(表) | — |
| ETL / DWH | 13:383 | あり | 13:383 | — |
| NoSQL | 13:394 | あり | 13:394 | — |
| ベクトルDB / 埋め込み / ANN | 13:408, 410 | あり | 同左 | — |
Append(ノード名) | 13:214 | なし | (どこにもなし。08 の表にも無い) | B |
DO ブロック / format / %L | 13:123 | なし | (どこにもなし) | B |
setval / pg_get_serial_sequence | 13:152 | なし | (どこにもなし) | B(軽微) |
| 2相コミット | 13:324 | なし(括弧書きのみ) | (どこにもなし) | B(軽微) |
| HNSW / IVFFlat | 13:422, 431 | 部分的 | 13:431 | — |
集計
| 区分 | 語数 |
|---|
| 台帳に載せた用語(総数) | 172 |
| 定義あり(欠陥なし) | 118 |
| 欠陥A(先出し) | 13 |
| 欠陥B(脇役の未定義) | 38 |
| 欠陥C(形はあるが定義文なし) | 3 |
欠陥ありの合計は 54 語(A 13・B 38・C 3)である。うち「軽微」と付記したものを除いた
優先対応対象は 32 語。
優先度の高い欠陥
| 分類 | 用語 | 内容 |
|---|
| A | WITH(CTE) | 02:591 の課題2 想定解答で使用。定義は 03:305。1回分まるごと先出し |
| A | Seq Scan ほか EXPLAIN ノード名 | 07 で多用。定義は 08:97 の表 |
| A | VACUUM / autovacuum | 07:97 が初出。定義は 12:238 |
| A | 部分インデックス | 06:251 が初出。定義は 07:212 |
| A | GIN インデックス | 05:224 が初出。定義は 07:233 |
| A | B-tree | 01:386 が初出。定義は 07:101 |
| C | ウィンドウ関数 | 03:348 以降、形と評価タイミングのみで「何であるか」がない |
| C | トリガ | 06:74 以降、用途のみで定義文がない |
| C | ビュー | 06:266 で CREATE VIEW を使うが定義文がない |
| B | オペレータクラス / opclass | 07:235 で略称が先に出る |
| B | IMMUTABLE / pg_trgm | 07:325 / 07:237。いずれも未定義 |
| B | DDL / ORM | 05:137 / 05:328。以降の回で繰り返し使われる |
| B | スーパーキー | 04:151。3NF/BCNF の判定条件の中核語 |
| B | 共有バッファ / 選択率 / work_mem / 拡張統計 | 08 の脇役語 |
| B | :: / || / ARRAY[...] / interval / VALUES | 01・02 の記法・構文 |
| B | date_trunc / coalesce / DISTINCT ON | 03 の組み込み関数・句 |
回をまたいで繰り返し出る未定義の脇役語(glossary 判断の根拠)
次の語は複数の回にまたがって登場し、かつ初出時点で定義がない。10語を大きく超えるため
glossary.md を作成する判断とした。
::(キャスト) / \|\| / ARRAY[...] / interval / VALUES / ON CONFLICT /
GENERATED BY DEFAULT AS IDENTITY / GUC / DDL / ORM / VACUUM / autovacuum /
部分索引 / GIN / オペレータクラス / IMMUTABLE / pg_trgm / 共有バッファ / 選択率 /
work_mem / SQLSTATE / スーパーキー / date_trunc / coalesce / トリガ / ビュー
(26語)
第2次監査 — 上位概念(D)と略語(E)
第1次監査は「用語ごとに定義があるか」を見たため、用語が語として登場しない欠落を拾えなかった。
第4回で「NF って何か」という質問が出たのが発端である。本編では 1NF・2NF・3NF・BCNF が個別に厚く
定義されているのに、それらを束ねる上位概念「正規形」の定義も、NF = Normal Form の展開もどこにも
なかった。用語集は「主題語だから各回で定義される」として外し、各回の用語表は「本編で定義するから
表に要らない」として外した結果、両方の網から落ちていた。本編が定義していたのは個別の下位概念で
あって、上位概念ではない、という構造的な見落としである。
同型の欠落を全13回で洗い直した結果が次の2表である。
D: 上位概念が定義されていない
| 回 | 上位概念 | 定義済みの下位概念 | 対応 |
|---|
| 第4回 | 正規形(NF) | 1NF / 2NF / 3NF / BCNF | 用語表の先頭に追加。4.3節の1NFの説明直前に定義文と包含関係を追加 |
| 第7回 | 索引(インデックス) | B-tree / Hash / GIN / GiST / BRIN | 用語表の先頭に追加。「B-tree の構造」冒頭に定義文を追加 |
| 第9回 | 分離レベル | READ COMMITTED / REPEATABLE READ / SERIALIZABLE | 括弧書きの言及のみだったため、4段の列挙に入る直前に定義文を追加 |
| 第10回 | 監査 | log_statement の粒度 / pgaudit | 用語表に追加。「監査」節の冒頭に定義文を追加 |
| 第13回 | 水平スケール | レプリケーション / シャーディング | 「水平方向の手法」とだけ書かれていた。用語表に追加し、垂直スケールの直後に定義 |
上位概念が定義済みで欠落なしと判定した回は次のとおり。第1回(エンコーディング・照合順序)、
第2回(関係モデル・集合演算・三値論理)、第3回(JOIN・集約・サブクエリ・ウィンドウ関数)、
第5回(制約・数値型の2系統)、第6回(履歴・状態遷移・論理削除・非正規化)、
第8回(実行計画・スキャン方式・結合方式)、第11回(N+1・コネクションプール・インジェクション)、
第12回(バックアップの2系統・bloat)。いずれも下位概念の列挙に入る前に「〜には大きく2系統ある」
「〜する方法は主に4つある」型の文が置かれており、上位概念が名指しで説明されている。
E: 略語が展開されていない
原語併記は定義とは見なさないが(判定基準を参照)、略語の展開はそれとは別に必須とする。
| 略語 | 回 | 展開 | 対応位置 |
|---|
| NF | 4 | Normal Form | 4.3節・用語表・到達目標 |
| FD | 4 | Functional Dependency | 4.2節(4.5・4.6で説明なしに使われていた) |
| RDBMS | 2 | Relational Database Management System | 「関係モデルとは何か」 |
| CTE | 3 | Common Table Expression | 用語表(本編 3.5節には既にあり、到達目標が先行していた) |
| DDL / DML | 5・10 | Data Definition / Manipulation Language | 各回の用語表・用語集 |
| ORM | 5 | Object-Relational Mapping | 用語表・用語集 |
| GIN / GiST / BRIN | 7 | Generalized Inverted Index / Generalized Search Tree / Block Range Index | 「索引の種類の使い分け」 |
| KNN | 7 | k-Nearest Neighbor | 同上(表内) |
| MVCC | 9 | Multiversion Concurrency Control | 用語表(本編には既にあり) |
| RC / RR | 9 | READ COMMITTED / REPEATABLE READ | 分離レベルの列挙時に略記を導入 |
| WAL / PITR | 12 | Write-Ahead Log / Point-In-Time Recovery | 用語表(本編・ねらいには既にあり) |
| HA | 13 | High Availability | レプリケーション方式の比較表 |
| HNSW / IVFFlat | 13 | Hierarchical Navigable Small World / Inverted File with Flat compression | 「RDBMS を選ばない判断」 |
展開済みで対応不要と確認した略語は次のとおり。GUC・TID・SSI・ACID・CAP・OLTP / OLAP・ETL・DWH・
ANN・RAG・RLS・PK / UK / FK・ICU・SQLSTATE・BCNF(Boyce-Codd正規形として日本語名を併記)。
ICU のみ、原語の展開(01:148)より前に本文中の使用(01:128)があるが、同一節内のため軽微とした。
到達目標での略語先出しへの対応方針
全13回とも構成は「ねらい → 到達目標 → 前提と準備 → 用語表 → 本編」で、用語表は到達目標より後に
ある。したがって到達目標に略語が出る回は、用語表を前に動かすか、到達目標側に正式名称を併記するか
のどちらかになる。今回はすべて併記で対応し、用語表は動かさなかった。理由は2つある。第一に、
13回すべてで同じ並びが揃っており、1回だけ順序を変えると構成の一貫性が崩れる。第二に、併記は
到達目標のその行だけで完結するため、他の回にも同じ手を機械的に適用できる。
併記の対象は「展開しないと語の意味が推測できない略語」に限る。第4回の NF は 1NF・2NF という語の
一部として現れ、展開なしでは読めないため到達目標に併記した。一方 GIN・GiST・BRIN・MVCC のように
固有名として扱える略語は、到達目標では名前のまま置き、本編と用語表で展開する。