ITパスポート データベース分野「関係データベース・正規化・SQL・主キー・トランザクション」の練習問題8問です。解けなかった問題は、各問の解説末尾のリンクから対応する解説記事に進んでください。
Q1. 関係データベース(リレーショナルデータベース)の基本的な構造として、もっとも適切なものはどれですか?
回答
解説
正解は「C」です。
関係データベース は、データを 行(レコード)と列(フィールド)からなる表(テーブル) として管理する方式です。1行が1件のデータ、1列が項目(氏名・年齢など)に対応します。表計算ソフトの表に近いイメージで、複数の表を関連づけて扱える点が特徴です。
A は単純なテキスト保存、B は画像ファイルの保存方法で、いずれも関係データベースの構造ではありません。
Q2. データベース設計で行う「正規化」の主な目的として、もっとも適切なものはどれですか?
回答
解説
正解は「A」です。
正規化 は、テーブルの構造を整理して データの重複や矛盾を減らす 設計手法です。同じ情報があちこちに散らばっていると、更新したときに一部が古いまま残る「更新の不整合」が起きやすくなります。正規化によって情報を適切に分割し、こうした不整合が起きにくい構造にします。
B は画面デザイン、C は暗号化、D はバックアップの説明で、いずれも正規化の目的ではありません。
Q3. データベースを操作する言語「SQL」の SELECT 文の役割として、もっとも適切なものはどれですか?
回答
解説
正解は「B」です。
SQL は関係データベースを操作するための言語で、その中の SELECT 文 は テーブルから条件に合うデータを取り出して表示する(検索・抽出する)ために使います。「WHERE」で条件を指定すると、必要なデータだけを絞り込めます。データの追加は INSERT、更新は UPDATE、削除は DELETE と、操作ごとに命令が分かれています。
A はデータベースの削除、C は電源操作の説明で、いずれも SELECT 文の役割ではありません。
Q4. 関係データベースの「主キー」の役割として、もっとも適切なものはどれですか?
回答
解説
正解は「D」です。
主キー は、テーブルの中で 各行(レコード)を一意に識別する ための列です。たとえば会員テーブルの「会員番号」のように、値が重複せず、その行を特定できる項目が主キーになります。別のテーブルの主キーを参照して、表どうしを関連づける列を 外部キー と呼びます。
A は表示の装飾、B は暗号化の鍵、C は表示順の説明で、いずれも主キーの役割ではありません。
Q5. データベースの「トランザクション」に関する説明として、もっとも適切なものはどれですか?
回答
解説
正解は「A」です。
トランザクション は、関連する複数の処理を 1つのまとまりとして扱い、全部成功するか、全部取り消す(ロールバックする) かのどちらかにする仕組みです。たとえば銀行振込で「口座Aから引き、口座Bに足す」という2つの処理は、片方だけ成功すると不整合が起きるため、まとめて確定させます。この信頼性を支える性質をまとめて ACID 特性 と呼びます。
B は画面デザイン、C は表示の装飾の説明で、いずれもトランザクションの説明ではありません。
Q6. 基本的なデータ構造の1つ「木構造(ツリー構造)」の説明として、もっとも適切なものはどれですか?
回答
解説
正解は「C」です。
木構造(ツリー構造) は、1つの頂点(根・ルート)から 枝分かれして階層的に要素がつながる データ構造です。フォルダの中にフォルダがある階層や、組織図のような形をイメージすると分かりやすいです。一方、データを順番に一列に並べたものが 配列 や リスト です。
A は配列・リストに近い説明、B は暗号化、D は環状の並びの説明で、いずれも木構造の説明ではありません。
Q7. データベースの「インデックス(索引)」を設定する主な目的として、もっとも適切なものはどれですか?
回答
解説
正解は「B」です。
インデックス(索引) は、テーブルの中から 目的のデータを探す検索処理を高速化する ために設定する仕組みです。本の巻末にある索引から目的のページをすぐ引けるのと同じように、特定の列に索引を作ると、その列を条件にした検索が速くなります。一方で、データの追加・更新時には索引の更新も必要になるため、設定のしすぎは負荷にもなります。
A は表示形式、C は翻訳の説明で、いずれもインデックスの目的ではありません。
Q8. SQL の「JOIN(結合)」の役割として、もっとも適切なものはどれですか?
回答
解説
正解は「A」です。
SQL の JOIN(結合) は、複数のテーブルを共通する列をもとに結びつけて、1つの結果として取り出す 操作です。たとえば「会員テーブル」と「注文テーブル」を会員番号で結合すると、どの会員がどの注文をしたかをまとめて取得できます。正規化で分割したテーブルから、必要な情報を組み合わせて読み出すときに使います。
B はテーブルの分割・分散、C はアカウント統合の説明で、いずれも JOIN の役割ではありません。
試験全体の流れを俯瞰したい時は、ITパスポート 試験全体概要 に戻れます。