ITパスポート過去問道場Pro

🗄️ データベース

データベース ― 設計・データ操作・トランザクションの要点(シラバスVer.6.5 中分類21)

本分野はシラバス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語。バックワードリカバリ(ロールバック)はログファイル(ジャーナル)の更新前情報を用いてトランザクション開始前の状態に戻す。フォワードリカバリ(ロールフォワード)は媒体障害時にまずバックアップファイルで復元し、その後更新後ログを反映してバックアップ取得以降の更新を再現し、障害発生直前の状態まで回復する。「更新前ログ=戻す/更新後ログ=進める」の対比で整理して覚えよう。

本番形式の問題を無料で演習

例題 (35)

1. 「DBMS」の略として最も適切なものはどれか。

  1. Data Backup Management Service(データバックアップ管理サービス)
  2. Distributed Business Model System(分散業務モデルシステム)
  3. Database Management System(データベース管理システム)
  4. Digital Batch Monitoring System(デジタルバッチ監視システム)

DBMSはDatabase Management Systemの略で、データを構造的に蓄積し一貫性を保ちながら効率的に取り出す機能を備えたソフトウェアである。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目54「データベース方式」)

2. DBMS(データベース管理システム)を導入する主な目的として最も適切なものはどれか。

  1. 画像や動画を高精細に表示するための描画処理を高速化する
  2. データを構造的に蓄積し、一貫性を保ちながら効率的に取り出せるようにする
  3. ネットワークの通信経路を暗号化して盗聴を防ぐ
  4. プログラムのソースコードを機械語に翻訳して実行する

DBMSはデータを構造的に蓄積し、一貫性を保ちつつ効率的に取り出すための機能を提供するソフトウェアである。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目54「データベース方式」)

3. 関係データベース(RDB)において、データは一般にどのような形式で表現されるか。

  1. 行と列からなる表(テーブル)
  2. 親子関係だけをたどる木構造
  3. 開始タグと終了タグで囲んだ文書
  4. 画素の集まりであるビットマップ

関係データベースは、データを行(レコード)と列(フィールド)からなる二次元の表で表現する。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目54・55)

4. ITパスポート試験シラバスでNoSQLの種類として挙げられているものはどれか。

  1. スタック
  2. リレーショナル表
  3. ヒープソート
  4. キーバリューストア(KVS)

シラバスの用語例では、NoSQLの種類としてキーバリューストア(KVS)、ドキュメント指向データベース、グラフ指向データベースが挙げられている。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目54(2)用語例)

5. キーバリューストア(KVS)の説明として最も適切なものはどれか。

  1. キー(値を識別する情報)と値(バリュー)を対にして格納するデータベース
  2. 行と列からなる複数の表を外部キーで関連づけて格納するデータベース
  3. E-R図をそのままファイルとして保存するデータベース
  4. SQL文を暗号化して保存する専用データベース

KVSはキーとそれに対応する値(バリュー)を組にして格納・取得するNoSQLの一種である。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目54(2)用語例/ITパスポート試験ドットコム「KVS」)

6. リレーショナルデータベースとは異なる方式で、大量・多様なデータを柔軟に扱うために用いられるデータベースの総称はどれか。

  1. CSV
  2. BIOS
  3. NoSQL
  4. SSID

NoSQLはリレーショナルデータベース以外の方式の総称で、KVS・ドキュメント指向・グラフ指向などがある。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目54(2)用語例)

7. ドキュメント指向データベースの特徴として最も適切なものはどれか。

  1. すべてのデータを固定長の一つの表だけに格納する
  2. JSONやXMLのような構造を持つ文書単位でデータを格納する
  3. データを2進数の物理アドレスで直接指定して格納する
  4. 音声データ専用に圧縮して格納する

ドキュメント指向データベースは、JSONやXMLのような柔軟な構造の「文書(ドキュメント)」を単位としてデータを格納するNoSQLの一種である。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目54(2)用語例)

8. グラフ指向データベースが特に得意とするデータの扱い方はどれか。

  1. 数値の合計や平均を求める集計計算
  2. 画像ファイルの圧縮と伸張
  3. 固定長レコードの順次読み出し
  4. 節点(ノード)と関係(エッジ)で表される、要素間のつながりの管理

グラフ指向データベースは、ノード(節点)とエッジ(関係)でデータ間のつながりを表現し、関係性の探索に適したNoSQLである。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目54(2)用語例)

9. 複数の業務やユーザーでデータを共有し、重複や不整合を避けて一元管理するために用いるものはどれか。

  1. スクリーンセーバー
  2. 圧縮ソフト
  3. データベース
  4. スプレッドシートのマクロ

データベースはデータを一元的に蓄積・共有し、重複や不整合を避けて管理する仕組みである。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目54「データベース方式」)

10. DBMSが一般に備える機能として適切でないものはどれか。

  1. 表計算のグラフを自動でデザインする機能
  2. 複数利用者が同時アクセスする際の同時実行制御(排他制御)
  3. 障害発生時にデータを復旧する障害回復(リカバリ)
  4. 利用者ごとにアクセスを制限するアクセス制御

DBMSは同時実行制御・障害回復・アクセス制御などを備えるが、グラフの自動デザインはDBMS本来の機能ではない。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目54・57)

11. 行と列からなる表で、厳密な整合性を保ちながら在庫や会計のデータを管理したい。最も適した方式はどれか。

  1. グラフ指向データベース
  2. 関係データベース(RDBMS)
  3. キーバリューストア(KVS)
  4. ドキュメント指向データベース

行と列の表で厳密な整合性を保って管理する用途には、関係データベース(RDBMS)が適している。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目54(2))

12. 関係データベースにおける主キー(primary key)の役割として最も適切なものはどれか。

  1. 表の列を五十音順に並べ替える
  2. 表の背景色を行ごとに変える
  3. 表を暗号化して保護する
  4. 表の各行(レコード)を一意に識別する

主キーは表の各行を一意に識別するための列(または列の組)である。 (ITパスポート試験ドットコム 用語辞典「主キー」)

13. 主キーに設定した列について、常に正しいものはどれか。

  1. 値の重複も空値(NULL)も許されない
  2. 値の重複は許されるが、NULLは許されない
  3. NULLは許されるが、値の重複は許されない
  4. 重複もNULLも自由に許される

主キーには一意性制約とNOT NULL制約が課されるため、値の重複も空値(NULL)も許されない。 (ITパスポート試験ドットコム 用語辞典「主キー」)

14. データベースにおけるインデックス(索引)を設定する主な目的はどれか。

  1. データの物理的な保存容量を必ず減らす
  2. 表の列数を自動的に増やす
  3. 特定の列を条件とする検索を高速化する
  4. データを暗号化して機密性を高める

インデックスは、特定の列を対象とした検索・絞り込みを高速化するために作成される。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目55(2)用語例「インデックス」)

15. 外部キー(foreign key)の説明として最も適切なものはどれか。

  1. 表の各行を一意に識別するために必ず一つだけ設定する列
  2. 他の表の主キーを参照し、表と表の関連づけと参照整合性の維持に用いる列
  3. 検索を高速化するために作成する索引データ
  4. データを外部媒体にバックアップする機能

外部キーは他の表の主キーを参照する列で、表同士を関連づけ、参照整合性を保つために用いる。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目55(2)用語例「外部キー」)

16. 外部キーが参照する対象として最も適切なものはどれか。

  1. 他の表(または同一表)の主キー
  2. そのDBMSのバージョン番号
  3. OSのファイルパス
  4. 通信ポート番号

外部キーは、関連づけたい他の表(または同一表)の主キーを参照する。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目55(2)用語例「外部キー」)

17. 「社員」表で各行を一意に識別する主キーとして最も適切な列はどれか。

  1. 氏名
  2. 部署名
  3. 入社年
  4. 社員番号

主キーは各行を確実に一意に識別できる列を選ぶ。氏名・部署名・入社年は複数の行で値が重複し得るが、社員番号は各社員を一意に識別できる。 (ITパスポート試験ドットコム 用語辞典「主キー」)

18. 一つの列だけでは行を一意に識別できないとき、複数の列を組み合わせて主キーとすることを何というか。

  1. 外部キー
  2. 候補キー
  3. 複合キー(連結キー)
  4. 代替キー

複数の列を組み合わせて一意性を確保する主キーを複合キー(連結キー)という。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目55(2)/関係データベースの標準定義)

19. 検索を高速化するためにインデックスを多数設定した場合に、一般に生じるデメリットはどれか。

  1. データの挿入・更新・削除時にインデックスの更新負荷が増える
  2. 主キーの値が自動的にNULLになる
  3. 表の列名が読めなくなる
  4. SQLが一切実行できなくなる

インデックスは検索を速くする一方、データ更新のたびに索引も更新する必要があり、挿入・更新・削除の負荷が増える。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目55(2)/ITパスポート試験ドットコム「インデックス」)

20. 外部キーの値が、参照先の表に存在しない主キーの値を指してはならない、という制約を何というか。

  1. 一意性制約
  2. 参照整合性(参照制約)
  3. 検査制約による桁数チェック
  4. 排他制御

外部キーが参照先に存在する主キーの値のみを持つよう保つ制約を参照整合性(参照制約)という。 (関係データベースの標準定義/IPA『ITパスポート試験 シラバス Ver.6.5』項目55(2))

21. 「部署」表の部署コードが主キーである。「社員」表に、各社員の所属部署を表す『部署コード』列を設けて「部署」表と関連づけたい。「社員」表の『部署コード』列は何にあたるか。

  1. 主キー
  2. インデックスの本体
  3. チェックポイント
  4. 外部キー

他の表(部署表)の主キーを参照して表同士を関連づける列は外部キーである。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目55(2)用語例「外部キー」)

22. 「注文」表の顧客IDが「顧客」表の主キーを参照する外部キーである。参照整合性を保つうえで問題となる操作はどれか。

  1. 「注文」表に、まだ「顧客」表に存在しない顧客IDの注文行を追加する
  2. 「顧客」表に新しい顧客を追加する
  3. 「注文」表の商品名だけを変更する
  4. 「注文」表の既存の注文を削除する

外部キーは参照先の主キーに存在する値のみ持てるため、顧客表にない顧客IDの注文を追加すると参照整合性に反する。 (関係データベースの標準定義/IPA『ITパスポート試験 シラバス Ver.6.5』項目55(2))

23. トランザクションのACID特性を構成する4つの性質の組合せとして正しいものはどれか。

  1. 可用性・完全性・機密性・信頼性
  2. 正規性・冗長性・並列性・整合性
  3. 原子性・一貫性・独立性(隔離性)・耐久性
  4. 保守性・移植性・効率性・機能性

ACID特性は原子性(Atomicity)・一貫性(Consistency)・独立性/隔離性(Isolation)・耐久性(Durability)の頭文字である。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目57(1)/ITパスポート試験ドットコム「ACID特性」)

24. トランザクションの原子性(Atomicity)の説明として最も適切なものはどれか。

  1. 複数のトランザクションが互いに影響し合わずに実行される
  2. 処理がすべて実行されるか、まったく実行されないかのいずれかで終わる
  3. 完了した処理結果は障害が起きても失われない
  4. 処理の前後でデータの整合性が保たれる

原子性は、トランザクション内の処理が「すべて実行」か「まったく実行されない」のいずれか(all or nothing)で終わることを保証する。 (ITパスポート試験ドットコム 用語辞典「ACID特性」)

25. トランザクションの独立性(隔離性、Isolation)の説明として最も適切なものはどれか。

  1. 複数のトランザクションを同時実行しても、互いに干渉せず単独実行と同じ結果になる
  2. 完了した更新結果が障害後も保持される
  3. 処理が全部実行されるか全く実行されないかで終わる
  4. データの型やけた数が仕様どおりに保たれる

独立性(隔離性)は、複数トランザクションを並行実行しても互いに干渉せず、それぞれを単独実行したのと同じ結果になることを保証する。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目57(1)/ITパスポート試験ドットコム「ACID特性」)

26. トランザクションの耐久性(Durability)の説明として最も適切なものはどれか。

  1. 処理が全部実行されるか全く実行されないかのいずれかになる
  2. 同時に実行される処理が互いに干渉しない
  3. データベースの矛盾のない状態が保たれる
  4. 正常に完了した処理の結果は、その後に障害が起きても失われない

耐久性は、コミット済みの処理結果が障害発生後も保持されることを保証する性質である。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目57(1)/ITパスポート試験ドットコム「ACID特性」)

27. トランザクションの一貫性(Consistency)の説明として最も適切なものはどれか。

  1. 完了した結果が障害後も失われない
  2. 処理がすべて実行されるか全く実行されないかになる
  3. トランザクションの前後で、データベースが定められた整合性の取れた状態に保たれる
  4. 並行する処理が互いに影響しない

一貫性は、トランザクションの実行前後でデータベースが定められた制約を満たす整合状態に保たれることを保証する。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目57(1)/ITパスポート試験ドットコム「ACID特性」)

28. データベースにおける「トランザクション」の説明として最も適切なものはどれか。

  1. データベースを構成する物理的なディスク装置
  2. 関連する一連の処理を、分けられない一つの処理単位としてまとめたもの
  3. 表の列に付ける索引データ
  4. 利用者を認証するためのパスワード

トランザクションは、関連する複数の処理を分割できない一つの処理単位としてまとめたものである。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目57(1))

29. トランザクションの処理結果を確定し、データベースへ正式に反映することを何というか。

  1. コミット
  2. ロールバック
  3. デッドロック
  4. インデックス

トランザクションの更新を確定してデータベースに反映する操作をコミットという。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目57(1))

30. トランザクションの途中で障害や異常が発生したとき、更新前の状態まで戻して処理を取り消すことを何というか。

  1. ロールフォワード(フォワードリカバリ)
  2. コミット
  3. チェックポイント
  4. ロールバック(バックワードリカバリ)

ロールバック(バックワードリカバリ)は、更新前ログを用いてトランザクション開始前の状態へ戻し、処理を取り消す障害回復である。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目57(2)用語例)

31. 媒体(ディスク)障害からの回復で、バックアップファイルとジャーナル(更新後ログ)を用いてコミット済みの更新を再適用する処理はどれか。

  1. ロールバック(バックワードリカバリ)
  2. デッドロックの検出
  3. ロールフォワード(フォワードリカバリ)
  4. 2相コミット

ロールフォワードは、バックアップと更新後ジャーナルを用いてコミット済みの更新を再適用し、障害直前の状態まで前進回復する処理である。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目57(2)/ITパスポート試験ドットコム「ロールフォワード」)

32. デッドロックの説明として最も適切なものはどれか。

  1. ディスクの空き容量が不足して書き込めなくなる状態
  2. パスワードを連続して間違えアカウントがロックされる状態
  3. 通信が暗号化されず盗聴される状態
  4. 2つ以上の処理が互いに相手のロックしている資源の解放を待ち合い、処理が進まなくなる状態

デッドロックは、複数の処理が互いに相手の保持する資源のロック解放を待ち合い、双方が永久に進めなくなる状態である。 (ITパスポート試験ドットコム 用語辞典「デッドロック」)

33. 複数の利用者が同じデータを同時に更新しても、データの整合性が失われないようにする仕組みはどれか。

  1. 正規化
  2. 排他制御(ロック)
  3. インデックス作成
  4. コード設計

排他制御(同時実行制御)は、ロックなどにより複数利用者の同時アクセス時にデータの整合性を保つ仕組みである。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目57(1)「同時実行制御(排他制御)」)

34. 分散データベースで複数のサイトを更新するとき、全サイトが確定可能な場合にだけ更新を確定する方式はどれか。

  1. ロールフォワード
  2. ロールバック
  3. チェックポイントリスタート
  4. 2相コミットメント

2相コミットメントは、各サイトへ確定の可否を問い合わせ、全サイトが確定可能なときのみ更新を確定する分散トランザクションの制御方式である。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目57(1)用語例「2相コミットメント」)

35. ITパスポート試験シラバスで、NoSQLの代表的な種類として挙げられている3つの組合せはどれか。

  1. 階層型、ネットワーク型、関係型
  2. 選択、射影、結合
  3. キーバリューストア、ドキュメント指向、グラフ指向
  4. 主キー、外部キー、インデックス

シラバスVer.6.5の用語例では、NoSQLの種類としてキーバリューストア(KVS)、ドキュメント指向、グラフ指向の3種が挙げられている。 (IPA『ITパスポート試験 シラバス Ver.6.5』項目54(2)用語例)

無料ではじめる