本分野はシラバスVer.6.5「大分類9:技術要素 中分類21:データベース」に位置し、「54.データベース方式」「55.データベース設計」「56.データ操作」「57.トランザクション処理」の4小分類で構成される。DBMS(データベース管理システム)とは、データを構造的に蓄積し、それらの一貫性を保ち、効率的に取り出すための機能を備えたものである。関係データベースはデータを表(テーブル)の行と列で管理する。RDBMSと対比されるNoSQLの代表例として、シラバスはキーバリューストア(KVS)・ドキュメント指向データベース・グラフ指向データベースの3類型を挙げており、大量データの活用基盤であるデータウェアハウスやデータレイクとあわせて押さえたい。
設計工程ではE-R図を用い、実体(エンティティ)と実体間の関連(リレーションシップ)によってデータとその関連を整理・表現する。主キーは表の中の行(レコード)を一意に識別する項目(または項目の組)で、値の重複も空値(NULL)も許されない。外部キーは他の表の主キーを参照する項目で、参照先に存在しない値を登録できないようにする参照制約(参照整合性)を実現する。正規化はデータの重複や更新時の矛盾を排除して一貫性を保つために行うが、シラバスには「正規化の詳細な内容は問わない」と明記されており、必要性の理解が中心となる。
データ操作も「SQLの文法は問わない」とされ、構文ではなく操作概念が問われる。シラバスの活用例は挿入・更新・選択・射影・結合の5操作で、特に関係演算の3つの区別が頻出である。
トランザクションは関連する一連の処理を分割できない一つの単位として扱うもので、その性質を表すACID特性は原子性(Atomicity)・一貫性(Consistency)・独立性(Isolation)・耐久性(Durability)の4特性。原子性は一連の処理が「全て実行されるか、全く実行されないか」で終わるよう制御することで保証される(令和4年度 問77)。複数利用者の同時アクセスには排他制御(ロック)で整合性を確保し、ロック中の資源は解放されるまで他のトランザクションから更新できない。互いに相手のロック解放を待ち合ってどちらも進めなくなる状態がデッドロックで、解消には一方を強制的にロールバックする。分散データベースでは、第1相で各サイトにコミット可否を問い合わせ、全サイトが可能な場合のみ第2相で確定する2相コミットメントを用いる。
障害回復の用語例はチェックポイント・バックワードリカバリ・フォワードリカバリの3語。バックワードリカバリ(ロールバック)はログファイル(ジャーナル)の更新前情報を用いてトランザクション開始前の状態に戻す。フォワードリカバリ(ロールフォワード)は媒体障害時にまずバックアップファイルで復元し、その後更新後ログを反映してバックアップ取得以降の更新を再現し、障害発生直前の状態まで回復する。「更新前ログ=戻す/更新後ログ=進める」の対比で整理して覚えよう。
1. 「DBMS」の略として最も適切なものはどれか。
DBMSはDatabase Management Systemの略で、データを構造的に蓄積し一貫性を保ちながら効率的に取り出す機能を備えたソフトウェアである。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目54「データベース方式」)
2. DBMS(データベース管理システム)を導入する主な目的として最も適切なものはどれか。
DBMSはデータを構造的に蓄積し、一貫性を保ちつつ効率的に取り出すための機能を提供するソフトウェアである。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目54「データベース方式」)
3. 関係データベース(RDB)において、データは一般にどのような形式で表現されるか。
関係データベースは、データを行(レコード)と列(フィールド)からなる二次元の表で表現する。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目54・55)
4. ITパスポート試験シラバスでNoSQLの種類として挙げられているものはどれか。
シラバスの用語例では、NoSQLの種類としてキーバリューストア(KVS)、ドキュメント指向データベース、グラフ指向データベースが挙げられている。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目54(2)用語例)
5. キーバリューストア(KVS)の説明として最も適切なものはどれか。
KVSはキーとそれに対応する値(バリュー)を組にして格納・取得するNoSQLの一種である。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目54(2)用語例/ITパスポート試験ドットコム「KVS」)
6. リレーショナルデータベースとは異なる方式で、大量・多様なデータを柔軟に扱うために用いられるデータベースの総称はどれか。
NoSQLはリレーショナルデータベース以外の方式の総称で、KVS・ドキュメント指向・グラフ指向などがある。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目54(2)用語例)
7. ドキュメント指向データベースの特徴として最も適切なものはどれか。
ドキュメント指向データベースは、JSONやXMLのような柔軟な構造の「文書(ドキュメント)」を単位としてデータを格納するNoSQLの一種である。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目54(2)用語例)
8. グラフ指向データベースが特に得意とするデータの扱い方はどれか。
グラフ指向データベースは、ノード(節点)とエッジ(関係)でデータ間のつながりを表現し、関係性の探索に適したNoSQLである。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目54(2)用語例)
9. 複数の業務やユーザーでデータを共有し、重複や不整合を避けて一元管理するために用いるものはどれか。
データベースはデータを一元的に蓄積・共有し、重複や不整合を避けて管理する仕組みである。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目54「データベース方式」)
10. DBMSが一般に備える機能として適切でないものはどれか。
DBMSは同時実行制御・障害回復・アクセス制御などを備えるが、グラフの自動デザインはDBMS本来の機能ではない。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目54・57)
11. 行と列からなる表で、厳密な整合性を保ちながら在庫や会計のデータを管理したい。最も適した方式はどれか。
行と列の表で厳密な整合性を保って管理する用途には、関係データベース(RDBMS)が適している。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目54(2))
12. 関係データベースにおける主キー(primary key)の役割として最も適切なものはどれか。
主キーは表の各行を一意に識別するための列(または列の組)である。 (ITパスポート試験ドットコム 用語辞典「主キー」)
13. 主キーに設定した列について、常に正しいものはどれか。
主キーには一意性制約とNOT NULL制約が課されるため、値の重複も空値(NULL)も許されない。 (ITパスポート試験ドットコム 用語辞典「主キー」)
14. データベースにおけるインデックス(索引)を設定する主な目的はどれか。
インデックスは、特定の列を対象とした検索・絞り込みを高速化するために作成される。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目55(2)用語例「インデックス」)
15. 外部キー(foreign key)の説明として最も適切なものはどれか。
外部キーは他の表の主キーを参照する列で、表同士を関連づけ、参照整合性を保つために用いる。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目55(2)用語例「外部キー」)
16. 外部キーが参照する対象として最も適切なものはどれか。
外部キーは、関連づけたい他の表(または同一表)の主キーを参照する。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目55(2)用語例「外部キー」)
17. 「社員」表で各行を一意に識別する主キーとして最も適切な列はどれか。
主キーは各行を確実に一意に識別できる列を選ぶ。氏名・部署名・入社年は複数の行で値が重複し得るが、社員番号は各社員を一意に識別できる。 (ITパスポート試験ドットコム 用語辞典「主キー」)
18. 一つの列だけでは行を一意に識別できないとき、複数の列を組み合わせて主キーとすることを何というか。
複数の列を組み合わせて一意性を確保する主キーを複合キー(連結キー)という。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目55(2)/関係データベースの標準定義)
19. 検索を高速化するためにインデックスを多数設定した場合に、一般に生じるデメリットはどれか。
インデックスは検索を速くする一方、データ更新のたびに索引も更新する必要があり、挿入・更新・削除の負荷が増える。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目55(2)/ITパスポート試験ドットコム「インデックス」)
20. 外部キーの値が、参照先の表に存在しない主キーの値を指してはならない、という制約を何というか。
外部キーが参照先に存在する主キーの値のみを持つよう保つ制約を参照整合性(参照制約)という。 (関係データベースの標準定義/IPA『ITパスポート試験 シラバス Ver.6.5』項目55(2))
21. 「部署」表の部署コードが主キーである。「社員」表に、各社員の所属部署を表す『部署コード』列を設けて「部署」表と関連づけたい。「社員」表の『部署コード』列は何にあたるか。
他の表(部署表)の主キーを参照して表同士を関連づける列は外部キーである。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目55(2)用語例「外部キー」)
22. 「注文」表の顧客IDが「顧客」表の主キーを参照する外部キーである。参照整合性を保つうえで問題となる操作はどれか。
外部キーは参照先の主キーに存在する値のみ持てるため、顧客表にない顧客IDの注文を追加すると参照整合性に反する。 (関係データベースの標準定義/IPA『ITパスポート試験 シラバス Ver.6.5』項目55(2))
23. トランザクションのACID特性を構成する4つの性質の組合せとして正しいものはどれか。
ACID特性は原子性(Atomicity)・一貫性(Consistency)・独立性/隔離性(Isolation)・耐久性(Durability)の頭文字である。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目57(1)/ITパスポート試験ドットコム「ACID特性」)
24. トランザクションの原子性(Atomicity)の説明として最も適切なものはどれか。
原子性は、トランザクション内の処理が「すべて実行」か「まったく実行されない」のいずれか(all or nothing)で終わることを保証する。 (ITパスポート試験ドットコム 用語辞典「ACID特性」)
25. トランザクションの独立性(隔離性、Isolation)の説明として最も適切なものはどれか。
独立性(隔離性)は、複数トランザクションを並行実行しても互いに干渉せず、それぞれを単独実行したのと同じ結果になることを保証する。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目57(1)/ITパスポート試験ドットコム「ACID特性」)
26. トランザクションの耐久性(Durability)の説明として最も適切なものはどれか。
耐久性は、コミット済みの処理結果が障害発生後も保持されることを保証する性質である。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目57(1)/ITパスポート試験ドットコム「ACID特性」)
27. トランザクションの一貫性(Consistency)の説明として最も適切なものはどれか。
一貫性は、トランザクションの実行前後でデータベースが定められた制約を満たす整合状態に保たれることを保証する。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目57(1)/ITパスポート試験ドットコム「ACID特性」)
28. データベースにおける「トランザクション」の説明として最も適切なものはどれか。
トランザクションは、関連する複数の処理を分割できない一つの処理単位としてまとめたものである。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目57(1))
29. トランザクションの処理結果を確定し、データベースへ正式に反映することを何というか。
トランザクションの更新を確定してデータベースに反映する操作をコミットという。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目57(1))
30. トランザクションの途中で障害や異常が発生したとき、更新前の状態まで戻して処理を取り消すことを何というか。
ロールバック(バックワードリカバリ)は、更新前ログを用いてトランザクション開始前の状態へ戻し、処理を取り消す障害回復である。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目57(2)用語例)
31. 媒体(ディスク)障害からの回復で、バックアップファイルとジャーナル(更新後ログ)を用いてコミット済みの更新を再適用する処理はどれか。
ロールフォワードは、バックアップと更新後ジャーナルを用いてコミット済みの更新を再適用し、障害直前の状態まで前進回復する処理である。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目57(2)/ITパスポート試験ドットコム「ロールフォワード」)
32. デッドロックの説明として最も適切なものはどれか。
デッドロックは、複数の処理が互いに相手の保持する資源のロック解放を待ち合い、双方が永久に進めなくなる状態である。 (ITパスポート試験ドットコム 用語辞典「デッドロック」)
33. 複数の利用者が同じデータを同時に更新しても、データの整合性が失われないようにする仕組みはどれか。
排他制御(同時実行制御)は、ロックなどにより複数利用者の同時アクセス時にデータの整合性を保つ仕組みである。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目57(1)「同時実行制御(排他制御)」)
34. 分散データベースで複数のサイトを更新するとき、全サイトが確定可能な場合にだけ更新を確定する方式はどれか。
2相コミットメントは、各サイトへ確定の可否を問い合わせ、全サイトが確定可能なときのみ更新を確定する分散トランザクションの制御方式である。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目57(1)用語例「2相コミットメント」)
35. ITパスポート試験シラバスで、NoSQLの代表的な種類として挙げられている3つの組合せはどれか。
シラバスVer.6.5の用語例では、NoSQLの種類としてキーバリューストア(KVS)、ドキュメント指向、グラフ指向の3種が挙げられている。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目54(2)用語例)