印刷プレビューです。ブラウザの印刷機能でPDF保存・印刷できます。
基本情報技術者 データベース
全40問 / トルカ(https://toruca.app)
問1. 「関係データベース(リレーショナルデータベース)」の説明として最も適切なものはどれか。
- A. データを行と列から成る「表(テーブル)」の形式で管理し、テーブル間の関連付けによってデータを扱うデータベース
- B. データを常に木構造のみで管理するデータベース
- C. データを画像形式でのみ保存するデータベース
- D. データを一切構造化せずに保存するデータベース
正解: A. データを行と列から成る「表(テーブル)」の形式で管理し、テーブル間の関連付けによってデータを扱うデータベース / 関係データベース(リレーショナルデータベース)は、データを行(レコード)と列(フィールド)から成る「表(テーブル)」の形式で管理し、テーブル間を主キー・外部キー等で関連付けることでデータを扱うデータベースであり、SQLを用いて操作される。
問2. 「主キー(プライマリキー)」の説明として最も適切なものはどれか。
- A. テーブル内の各レコード(行)を一意に識別するための列(または列の組み合わせ)
- B. テーブル内のどの列にも設定できない特殊な概念
- C. 他のテーブルの主キーを参照する列(これは外部キーの説明)
- D. 常に文字列型のみで構成されなければならない列
正解: A. テーブル内の各レコード(行)を一意に識別するための列(または列の組み合わせ) / 主キー(プライマリキー)は、テーブル内の各レコード(行)を一意に識別するための列(または複数列の組み合わせ)であり、NULL値を持つことができず、値の重複も許されない。
問3. 「外部キー(フォーリンキー)」の説明として最も適切なものはどれか。
- A. あるテーブルの列が、別のテーブルの主キー(または候補キー)を参照することで、テーブル間の関連性を表現する仕組み
- B. テーブル内のレコードを一意に識別するための唯一の手段
- C. 外部のネットワークからのみアクセス可能な特殊なキー
- D. 暗号化専用のキー情報
正解: A. あるテーブルの列が、別のテーブルの主キー(または候補キー)を参照することで、テーブル間の関連性を表現する仕組み / 外部キー(フォーリンキー)は、あるテーブルの列が別のテーブルの主キー(または候補キー)を参照することで、テーブル間の関連性(親子関係等)を表現し、参照整合性を保証する仕組みである。
問4. データベース設計における「正規化」の目的として最も適切なものはどれか。
- A. データの重複を排除し、更新時異常(矛盾)を防ぐことで、データの整合性を保ちやすい構造にすること
- B. データを意図的に重複させて検索速度のみを向上させること
- C. テーブルの数を必ず1つにまとめること
- D. SQLの文法を簡略化すること
正解: A. データの重複を排除し、更新時異常(矛盾)を防ぐことで、データの整合性を保ちやすい構造にすること / 正規化は、データベースのテーブル設計において、データの重複を排除し、更新時異常(同じデータが複数箇所にあることによる更新漏れ・矛盾)を防ぐことで、データの整合性を保ちやすい構造に整理する設計手法である。
問5. 「第1正規形」の条件として最も適切なものはどれか。
- A. 1つのセル(列と行の交点)に複数の値を含む繰り返し項目がなく、各セルが単一の値のみを持つ状態
- B. 全ての非キー属性が主キーに部分関数従属している状態
- C. 全ての非キー属性が主キーに推移的に従属していない状態
- D. テーブルが1つの列のみで構成されている状態
正解: A. 1つのセル(列と行の交点)に複数の値を含む繰り返し項目がなく、各セルが単一の値のみを持つ状態 / 第1正規形は、1つのセル(列と行の交点)に複数の値を含む繰り返し項目(リピーティンググループ)がなく、各セルが単一(アトミック)な値のみを持つ状態を指す、正規化の最も基本的な段階である。
問6. 「第2正規形」の条件として最も適切なものはどれか。
- A. 第1正規形を満たしたうえで、全ての非キー属性が主キーの一部にのみ従属する「部分関数従属」が存在しない状態
- B. 1つのセルに複数の値を含んでもよい状態
- C. テーブルを1つも作成しない状態
- D. 主キーが存在しなくてもよい状態
正解: A. 第1正規形を満たしたうえで、全ての非キー属性が主キーの一部にのみ従属する「部分関数従属」が存在しない状態 / 第2正規形は、第1正規形を満たしたうえで、複合主キー(複数列から成る主キー)を持つ場合に、非キー属性が主キーの一部の列にのみ従属する「部分関数従属」を解消し、主キー全体に完全に従属する状態にした正規化の段階である。
問7. 「第3正規形」の条件として最も適切なものはどれか。
- A. 第2正規形を満たしたうえで、非キー属性が他の非キー属性を経由して主キーに従属する「推移的関数従属」が存在しない状態
- B. 第1正規形の条件のみを満たせばよい状態
- C. テーブル間の関連付けを一切行わない状態
- D. 全ての列を1つのテーブルにまとめる状態
正解: A. 第2正規形を満たしたうえで、非キー属性が他の非キー属性を経由して主キーに従属する「推移的関数従属」が存在しない状態 / 第3正規形は、第2正規形を満たしたうえで、非キー属性が別の非キー属性を経由して間接的に主キーに従属する「推移的関数従属」を解消した状態であり、実務上のテーブル設計では一般的にこの第3正規形まで正規化することが推奨される。
問8. 「ER図(実体関連図)」の説明として最も適切なものはどれか。
- A. データベース設計において、実体(エンティティ)とその間の関連(リレーションシップ)を図式化して表現したもの
- B. プログラムの処理の流れのみを図式化したもの(これはフローチャート)
- C. ネットワークの物理的な配線図のみを指す
- D. 組織の人事異動を表す図
正解: A. データベース設計において、実体(エンティティ)とその間の関連(リレーションシップ)を図式化して表現したもの / ER図(Entity-Relationship Diagram:実体関連図)は、データベース設計において、管理対象となる実体(エンティティ、例:顧客・商品等)と、それらの間の関連(リレーションシップ、例:顧客が商品を注文する)を図式化して表現したものであり、データベースの論理設計における重要な成果物である。
問9. ER図における「多対多(N対M)」の関係の説明として最も適切なものはどれか。
- A. 一方のエンティティの1つのレコードが、他方のエンティティの複数のレコードと関連付けられ、かつその逆も成り立つ関係
- B. 一方のエンティティの1つのレコードが、他方のエンティティのただ1つのレコードとのみ関連付けられる関係
- C. エンティティ同士が一切関連付けられない状態
- D. 1つのエンティティのみが存在する状態
正解: A. 一方のエンティティの1つのレコードが、他方のエンティティの複数のレコードと関連付けられ、かつその逆も成り立つ関係 / 多対多(N対M)の関係は、例えば「学生」と「講座」のように、1人の学生が複数の講座を受講でき、かつ1つの講座を複数の学生が受講できるような関係であり、関係データベースで実装する際には、両者を結ぶ「中間テーブル(連関エンティティ)」を作成して1対多の関係に分解する必要がある。
問10. テーブル「employees」から全ての列を取得するSQL文はどれか。
- A. SELECT * FROM employees;
- B. SELECT ALL FROM employees;
- C. GET * FROM employees;
- D. FETCH ALL employees;
正解: A. SELECT * FROM employees; / SELECT文で全ての列を取得する場合はアスタリスク(*)を使用する。「SELECT * FROM employees;」は、employeesテーブルの全レコード・全列を取得するSQL文である。
問11. SQLのSELECT文における「WHERE句」の役割として最も適切なものはどれか。
- A. 取得するレコードを、指定した条件に合致するものだけに絞り込む
- B. 取得する列の順序を指定する
- C. テーブルを新規に作成する
- D. データベース全体を削除する
正解: A. 取得するレコードを、指定した条件に合致するものだけに絞り込む / WHERE句は、SELECT文(またはUPDATE文・DELETE文)において、処理対象とするレコードを、指定した条件(例:age > 20)に合致するものだけに絞り込むための句である。
問12. SQLの「INNER JOIN(内部結合)」の説明として最も適切なものはどれか。
- A. 結合条件が一致するレコードのみを結果として返す結合方式
- B. 一方のテーブルの全レコードを、条件が一致しない場合はNULLを補完してでも全て返す結合方式(これは外部結合)
- C. 結合を一切行わずに複数のテーブルを個別に表示する方式
- D. テーブルの列を削除する操作
正解: A. 結合条件が一致するレコードのみを結果として返す結合方式 / INNER JOIN(内部結合)は、複数のテーブルを結合する際、指定した結合条件(例:employees.dept_id = departments.id)が一致するレコードのみを結果として返す結合方式である。
問13. SQLの「LEFT OUTER JOIN(左外部結合)」の説明として最も適切なものはどれか。
- A. 左側のテーブルの全レコードを結果に含め、結合条件に一致する右側のテーブルのデータがない場合はNULLで補完する
- B. 右側のテーブルの全レコードのみを結果に含める
- C. 結合条件が完全に一致するレコードのみを返す(これは内部結合)
- D. 左側のテーブルのレコードを一切表示しない
正解: A. 左側のテーブルの全レコードを結果に含め、結合条件に一致する右側のテーブルのデータがない場合はNULLで補完する / LEFT OUTER JOIN(左外部結合)は、左側(FROM句で先に指定した)のテーブルの全レコードを結果に必ず含め、結合条件に一致する右側のテーブルのデータが存在しない場合は、その部分をNULLで補完して結果を返す結合方式である。
問14. SQLの「GROUP BY句」の役割として最も適切なものはどれか。
- A. 指定した列の値が同じレコードをグループ化し、COUNT・SUM・AVG等の集計関数と組み合わせてグループごとの集計結果を得る
- B. レコードを削除する
- C. テーブルの構造を変更する
- D. レコードの並び順を逆転させる
正解: A. 指定した列の値が同じレコードをグループ化し、COUNT・SUM・AVG等の集計関数と組み合わせてグループごとの集計結果を得る / GROUP BY句は、指定した列の値が同じレコードをグループ化し、COUNT(件数)・SUM(合計)・AVG(平均)・MAX(最大値)・MIN(最小値)等の集計関数と組み合わせて使用することで、グループごとの集計結果を得るためのSQL構文である。
問15. SQLにおいてGROUP BY句でグループ化した結果に対し、さらに条件を指定して絞り込む場合に使用する句はどれか。
- A. HAVING句
- B. WHERE句
- C. ORDER BY句
- D. FROM句
正解: A. HAVING句 / HAVING句は、GROUP BY句でグループ化した結果(集計値等)に対して、さらに条件を指定して絞り込むために使用する句である。WHERE句がグループ化前の個々のレコードを絞り込むのに対し、HAVING句はグループ化後の集計結果を絞り込む点が異なる。
問16. SQLの「サブクエリ(副問い合わせ)」の説明として最も適切なものはどれか。
- A. 1つのSQL文の中に、別のSELECT文を入れ子(ネスト)にして記述したもの
- B. 複数のSQL文を1つのファイルにまとめて記述する方式のみを指す
- C. SQL文を暗号化する仕組み
- D. テーブルの物理的な保存場所を指定する構文
正解: A. 1つのSQL文の中に、別のSELECT文を入れ子(ネスト)にして記述したもの / サブクエリ(副問い合わせ)は、1つのSQL文(SELECT・INSERT・UPDATE・DELETE等)の中に、別のSELECT文を入れ子(ネスト)にして記述したものであり、WHERE句の条件として動的に算出した値を利用する等の用途で使われる。
問17. SQLの「ビュー(VIEW)」の説明として最も適切なものはどれか。
- A. 1つ以上のテーブルに対するSELECT文の定義を保存し、あたかも1つのテーブルであるかのように扱える仮想的な表
- B. 実データを物理的に複製して保存する新しいテーブル
- C. データベース全体のバックアップファイルを指す用語
- D. SQLの実行速度を測定するための機能
正解: A. 1つ以上のテーブルに対するSELECT文の定義を保存し、あたかも1つのテーブルであるかのように扱える仮想的な表 / ビュー(VIEW)は、1つ以上のテーブルに対するSELECT文の定義を保存しておき、実データを複製することなく、あたかも1つのテーブルであるかのように参照・操作できる仮想的な表である。複雑なクエリの簡略化やアクセス制御等の目的で利用される。
問18. データベースの「インデックス(索引)」の目的として最も適切なものはどれか。
- A. 特定の列に対する検索処理を高速化するために作成される、データの位置情報を持つ補助的な構造
- B. テーブルのデータを暗号化するための構造
- C. テーブルの主キーを完全に置き換えるための構造
- D. テーブルのデータ量を圧縮するための構造
正解: A. 特定の列に対する検索処理を高速化するために作成される、データの位置情報を持つ補助的な構造 / インデックス(索引)は、特定の列(検索やソートで頻繁に使われる列等)に対する検索処理を高速化するために作成される、データの格納位置情報等を持つ補助的なデータ構造である。ただし、インデックスを作成しすぎるとデータ更新(INSERT/UPDATE/DELETE)時の処理負荷が増加するというトレードオフがある。
問19. SQLにおける「DDL(データ定義言語)」と「DML(データ操作言語)」の違いとして最も適切なものはどれか。
- A. DDLはCREATE・ALTER・DROP等テーブルやデータベースの構造を定義する命令群、DMLはSELECT・INSERT・UPDATE・DELETE等データの操作を行う命令群である
- B. DDLとDMLは全く同じ命令群を指す
- C. DMLはテーブルの削除のみに使用される
- D. DDLはデータの検索のみに使用される
正解: A. DDLはCREATE・ALTER・DROP等テーブルやデータベースの構造を定義する命令群、DMLはSELECT・INSERT・UPDATE・DELETE等データの操作を行う命令群である / DDL(Data Definition Language:データ定義言語)はCREATE・ALTER・DROP等、テーブルやデータベースそのものの構造を定義・変更・削除する命令群であり、DML(Data Manipulation Language:データ操作言語)はSELECT・INSERT・UPDATE・DELETE等、テーブル内のデータそのものを操作する命令群である。
問20. 以下のSQL命令と、それが属する分類(DDL/DML)の組み合わせを正しく対応させよ。
- CREATE TABLE ー ( )
- SELECT ー ( )
- DROP TABLE ー ( )
- UPDATE ー ( )
正解: CREATE TABLE→DDL(データ定義言語)、SELECT→DML(データ操作言語)、DROP TABLE→DDL(データ定義言語)、UPDATE→DML(データ操作言語) / CREATE TABLE・DROP TABLEはテーブルの構造そのものを定義・削除するDDLに分類され、SELECT・UPDATEはテーブル内のデータを操作するDMLに分類される。
問21. データベースにおける「トランザクション」の説明として最も適切なものはどれか。
- A. 複数の処理を1つのまとまりとして扱い、全て成功するか、または全て取り消す(実行前の状態に戻す)ことを保証する処理単位
- B. 1つのSQL文を実行することを禁止する仕組み
- C. データベースの物理的なバックアップファイルを指す用語
- D. ネットワークの通信速度を表す指標
正解: A. 複数の処理を1つのまとまりとして扱い、全て成功するか、または全て取り消す(実行前の状態に戻す)ことを保証する処理単位 / トランザクションは、複数のデータベース操作(SQL文)を1つのまとまりとして扱い、その全てが成功する場合のみ変更を確定(コミット)し、途中で失敗した場合は全ての変更を取り消して実行前の状態に戻す(ロールバック)ことを保証する処理単位である。
問22. トランザクションが満たすべき性質「ACID特性」のうち「原子性(Atomicity)」の説明として最も適切なものはどれか。
- A. トランザクション内の処理が全て実行されるか、全く実行されないかのいずれかであることを保証する性質
- B. トランザクションの実行結果が常にデータベースを整合性のある状態に保つ性質
- C. 複数のトランザクションが同時実行されても互いに干渉しない性質
- D. コミットされた結果が障害後も失われない性質
正解: A. トランザクション内の処理が全て実行されるか、全く実行されないかのいずれかであることを保証する性質 / 原子性(Atomicity)は、トランザクション内の一連の処理が「全て実行される」か「全く実行されない」かのいずれかであることを保証する性質であり、処理が中途半端な状態でデータベースに反映されることを防ぐ。
問23. トランザクションのACID特性の各用語と、その説明を正しく対応させよ。
- 一貫性(Consistency) ー ( )
- 独立性(Isolation) ー ( )
- 永続性(Durability) ー ( )
- 原子性(Atomicity) ー ( )
正解: 一貫性(Consistency)→トランザクション実行前後でデータベースの制約や整合性が保たれること、独立性(Isolation)→同時実行される複数のトランザクションが互いに影響を及ぼさないこと、永続性(Durability)→コミットされた結果は障害が発生してもデータベースに永続的に残ること、原子性(Atomicity)→トランザクション内の処理が全て実行されるか全く実行されないかのいずれかであること / ACID特性は、原子性(Atomicity)・一貫性(Consistency)・独立性(Isolation)・永続性(Durability)の4つの頭文字を取ったものであり、信頼性の高いトランザクション処理を実現するために必要な性質として、データベース設計における重要な基本概念である。
問24. トランザクションにおける「コミット」と「ロールバック」の説明として最も適切なものはどれか。
- A. コミットはトランザクションの変更内容を確定させ、ロールバックはトランザクションの変更内容を取り消して実行前の状態に戻す
- B. コミットとロールバックは全く同じ処理を行う
- C. ロールバックは変更内容を確定させる処理であり、コミットは取り消す処理である(説明が逆)
- D. コミットもロールバックもデータベースの構造を変更する処理である
正解: A. コミットはトランザクションの変更内容を確定させ、ロールバックはトランザクションの変更内容を取り消して実行前の状態に戻す / コミットは、トランザクション内の変更内容を確定させ、データベースに永続的に反映する処理であり、ロールバックは、トランザクション内で行った変更内容を全て取り消し、トランザクション開始前の状態に戻す処理である。
問25. データベースにおける「排他制御(ロック)」の目的として最も適切なものはどれか。
- A. 複数のトランザクションが同一のデータに同時にアクセス・更新することによるデータの矛盾を防ぐこと
- B. データベースへのアクセスを完全に禁止すること
- C. データベースの処理速度を常に最大化すること
- D. データを暗号化すること
正解: A. 複数のトランザクションが同一のデータに同時にアクセス・更新することによるデータの矛盾を防ぐこと / 排他制御(ロック)は、複数のトランザクションが同一のデータ(行やテーブル)に同時にアクセス・更新することによって生じるデータの矛盾(更新の欠落等)を防ぐため、一時的にそのデータへの他のトランザクションからのアクセスを制限する仕組みである。
問26. 排他制御における「共有ロック」と「専有ロック(排他ロック)」の違いとして最も適切なものはどれか。
- A. 共有ロックは複数のトランザクションが同時に取得でき読み取り専用の操作に用いられ、専有ロックは1つのトランザクションのみが取得でき更新操作等に用いられる
- B. 共有ロックと専有ロックは全く同じ性質を持つ
- C. 専有ロックは複数のトランザクションが常に同時に取得できる
- D. 共有ロックは更新操作専用のロックである
正解: A. 共有ロックは複数のトランザクションが同時に取得でき読み取り専用の操作に用いられ、専有ロックは1つのトランザクションのみが取得でき更新操作等に用いられる / 共有ロック(Sロック)は、データの読み取りを行う際に取得するロックであり、複数のトランザクションが同時に同一データに対して共有ロックを取得できる。一方、専有ロック(Xロック、排他ロック)は、データの更新を行う際に取得するロックであり、1つのトランザクションのみが取得でき、他のトランザクションからの共有ロック・専有ロックの取得を排他する。
問27. データベースにおける「デッドロック」の説明として最も適切なものはどれか。
- A. 複数のトランザクションが互いに相手が確保しているロックの解放を待ち続け、処理が永久に停止してしまう状態
- B. 1つのトランザクションのみが実行され続ける正常な状態
- C. 全てのロックが即座に解放される状態
- D. データベースが完全に初期化される状態
正解: A. 複数のトランザクションが互いに相手が確保しているロックの解放を待ち続け、処理が永久に停止してしまう状態 / デッドロックは、複数のトランザクションがそれぞれ相手が確保しているロックの解放を待ち続けることで、互いに処理を先に進めることができず、永久に停止してしまう状態である。DBMSは一般に、デッドロックを検知した際にいずれかのトランザクションを強制的にロールバックすることで解消する。
問28. データベースの障害回復技術における「ログ(ジャーナル)」の役割として最も適切なものはどれか。
- A. データベースに対する更新操作の履歴を記録しておき、障害発生時にその履歴を用いてデータを回復する
- B. 利用者のログイン情報のみを記録する仕組み
- C. データベースのハードウェア構成のみを記録する仕組み
- D. SQLの実行速度のみを記録する仕組み
正解: A. データベースに対する更新操作の履歴を記録しておき、障害発生時にその履歴を用いてデータを回復する / ログ(ジャーナル)は、データベースに対する更新操作の履歴(更新前の値・更新後の値等)を記録しておく仕組みであり、システム障害が発生した際に、このログを用いてロールフォワード(更新後の値を使って復旧)やロールバック(更新前の値を使って復旧)といった障害回復処理を行うために利用される。
問29. データベースの「チェックポイント」の役割として最も適切なものはどれか。
- A. ある時点でメモリ上の更新内容を確実にディスクへ書き込み、障害回復処理の起点として利用する
- B. データベースを完全に削除する処理
- C. ネットワーク通信を暗号化する処理
- D. SQLの構文エラーを検出する処理
正解: A. ある時点でメモリ上の更新内容を確実にディスクへ書き込み、障害回復処理の起点として利用する / チェックポイントは、ある時点でメモリ(バッファ)上にある更新内容を確実にディスクへ書き込む処理であり、この時点を記録しておくことで、障害発生時の回復処理においてログを遡る範囲を限定でき、回復処理を効率化できる。
問30. 「NoSQL」データベースの説明として最も適切なものはどれか。
- A. 従来の関係データベースとは異なるデータモデル(キーバリュー型・ドキュメント型等)を採用し、大量データの分散処理や柔軟なスキーマに適したデータベースの総称
- B. SQLを一切使用しないことを保証する関係データベースの一種を指す用語
- C. 常に関係データベースより処理速度が遅いデータベースを指す用語
- D. テーブル構造を厳密に固定しなければならないデータベース
正解: A. 従来の関係データベースとは異なるデータモデル(キーバリュー型・ドキュメント型等)を採用し、大量データの分散処理や柔軟なスキーマに適したデータベースの総称 / NoSQLは、従来の関係データベース(RDB)とは異なるデータモデル(キーバリュー型、ドキュメント型、カラム指向型、グラフ型等)を採用したデータベースの総称であり、大量データの水平分散処理のしやすさや、柔軟なスキーマ(データ構造)を必要とするアプリケーションに適している。
問31. NoSQLの一種「キーバリュー型データベース」の説明として最も適切なものはどれか。
- A. キーと値の組み合わせのみでデータを管理する、シンプルで高速なデータモデルを持つデータベース
- B. テーブルの正規化を強制する厳密なデータベース
- C. 画像データのみを扱う専用のデータベース
- D. SQLの機能を全て内包した関係データベースの別名
正解: A. キーと値の組み合わせのみでデータを管理する、シンプルで高速なデータモデルを持つデータベース / キーバリュー型データベースは、キー(識別子)と値(データ)の組み合わせのみでデータを管理するシンプルなデータモデルを持つNoSQLデータベースであり、単純な構造ゆえに高速な読み書きが可能で、キャッシュシステムやセッション管理等に利用されることが多い。
問32. 分散データベースにおける「シャーディング」の説明として最も適切なものはどれか。
- A. 1つの大きなデータベースのデータを複数のサーバー(シャード)に分割して格納し、負荷を分散させる技術
- B. データベースの全データを1台のサーバーに集中させる技術
- C. データベースの内容を完全に暗号化する技術
- D. SQLの構文を簡略化する技術
正解: A. 1つの大きなデータベースのデータを複数のサーバー(シャード)に分割して格納し、負荷を分散させる技術 / シャーディングは、1つの大きなデータベースのデータを、一定の規則(範囲やハッシュ値等)に基づいて複数のサーバー(シャード)に分割して格納する技術であり、各サーバーの負荷を分散させ、大規模なデータ量やアクセス量に対応できるようにする。
問33. 「DBMS(データベース管理システム)」の役割として最も適切なものはどれか。
- A. データベースの作成・操作・排他制御・障害回復等、データベース全般の管理機能を提供するソフトウェア
- B. アプリケーションソフトウェアの画面デザインのみを担当するソフトウェア
- C. ハードウェアの物理的な組み立てを行うソフトウェア
- D. ネットワークの物理的な配線を設計するソフトウェア
正解: A. データベースの作成・操作・排他制御・障害回復等、データベース全般の管理機能を提供するソフトウェア / DBMS(Database Management System:データベース管理システム)は、データベースの作成・データの操作(SQLの実行)・排他制御・障害回復・アクセス権限管理等、データベースに関する全般的な管理機能を提供するソフトウェアである(MySQL、PostgreSQL、Oracle Database等)。
問34. データベースの「3層スキーマ」における「概念スキーマ」の説明として最も適切なものはどれか。
- A. 組織全体で共有されるデータの論理的な構造(エンティティ・属性・関連等)を定義したもの
- B. 個々の利用者やアプリケーションから見えるデータの見え方(ビュー等)を定義したもの
- C. データが実際に物理的にどのように格納されるか(ファイル形式等)を定義したもの
- D. ハードウェアの物理的な仕様のみを定義したもの
正解: A. 組織全体で共有されるデータの論理的な構造(エンティティ・属性・関連等)を定義したもの / 3層スキーマ(ANSI/X3/SPARC)は、外部スキーマ(個々の利用者から見えるデータの見え方)、概念スキーマ(組織全体で共有されるデータの論理的構造)、内部スキーマ(データが実際に物理的に格納される形式)の3つの階層でデータベースを設計する考え方であり、概念スキーマはその中間に位置し、データの論理的な構造全体を定義する役割を担う。
問35. SQLのテーブル定義における「NOT NULL制約」の説明として最も適切なものはどれか。
- A. 指定した列にNULL(値が存在しない状態)を許可しないという制約
- B. 指定した列に必ずNULLのみを格納しなければならないという制約
- C. テーブル自体の削除を禁止する制約
- D. テーブルの列数を制限する制約
正解: A. 指定した列にNULL(値が存在しない状態)を許可しないという制約 / NOT NULL制約は、指定した列にNULL(値が存在しない状態)を許可しないという制約であり、この制約が設定された列にデータを挿入・更新する際は、必ず何らかの値を指定する必要がある。
問36. SQLのテーブル定義における「UNIQUE制約」の説明として最も適切なものはどれか。
- A. 指定した列(または列の組み合わせ)の値が、テーブル内で重複しないことを保証する制約
- B. 指定した列に必ず同じ値のみを格納させる制約
- C. テーブルの主キーを完全に削除する制約
- D. テーブルへのアクセスを一切禁止する制約
正解: A. 指定した列(または列の組み合わせ)の値が、テーブル内で重複しないことを保証する制約 / UNIQUE制約は、指定した列(または複数列の組み合わせ)の値が、テーブル内のレコード間で重複しないことを保証する制約であり、主キーとは異なりNULL値を含むことは許容される(DBMSによる差異はある)。
問37. 「ビッグデータ」の特徴を表す「3V」の説明として最も適切なものはどれか。
- A. データ量(Volume)、データの発生・処理速度(Velocity)、データの種類の多様性(Variety)の3つの特徴を指す
- B. データの色(Value of Color)を表す指標
- C. データベースの台数のみを表す指標
- D. ネットワーク回線の本数のみを表す指標
正解: A. データ量(Volume)、データの発生・処理速度(Velocity)、データの種類の多様性(Variety)の3つの特徴を指す / ビッグデータの特徴を表す「3V」とは、データ量(Volume:膨大な量)、データの発生・処理速度(Velocity:リアルタイム性の高い生成・処理)、データの種類の多様性(Variety:構造化データ・非構造化データの混在)の3つの特徴を指す代表的な考え方である。
問38. 「データウェアハウス」の説明として最も適切なものはどれか。
- A. 様々な業務システムから収集したデータを時系列に蓄積し、分析・意思決定支援のために統合的に管理するデータベース
- B. 日々の業務トランザクション処理専用に最適化されたデータベース
- C. 画像データのみを保存する専用の倉庫を指す物理的な建物
- D. 個人が使用する小規模なローカルデータベースのみを指す用語
正解: A. 様々な業務システムから収集したデータを時系列に蓄積し、分析・意思決定支援のために統合的に管理するデータベース / データウェアハウスは、様々な業務システム(販売管理、在庫管理等)から収集したデータを、時系列に整理して長期間蓄積し、経営分析や意思決定支援のために統合的に管理するデータベースであり、日々の高速なトランザクション処理を目的とする通常の業務データベースとは設計思想が異なる。
問39. 「データマイニング」の説明として最も適切なものはどれか。
- A. 大量のデータの中から、統計学や機械学習等の手法を用いて、有用な規則性・関連性・パターンを見つけ出す技術
- B. データベースの物理的なファイルを削除する技術
- C. ネットワーク回線を新規に敷設する工事
- D. データを暗号化して読めなくする技術
正解: A. 大量のデータの中から、統計学や機械学習等の手法を用いて、有用な規則性・関連性・パターンを見つけ出す技術 / データマイニングは、大量に蓄積されたデータ(データウェアハウス等)の中から、統計学的手法や機械学習等のアルゴリズムを用いて、人間が気づきにくい有用な規則性・関連性・パターン(例:「Aを買う人はBも買う傾向がある」等)を発見する技術・分析手法である。
問40. 基本情報技術者試験のデータベース分野で求められる能力として最も適切なものはどれか。
- A. 正規化・ER図によるデータベース設計や、SQLによるデータ操作、トランザクション管理の考え方を理解し、実務のシステム開発・運用に活かせる能力
- B. 特定のDBMS製品の操作画面のみを暗記する能力
- C. SQLを一切使用せずにデータベースを操作する能力
- D. ハードウェアの物理的な設置作業のみを行う能力
正解: A. 正規化・ER図によるデータベース設計や、SQLによるデータ操作、トランザクション管理の考え方を理解し、実務のシステム開発・運用に活かせる能力 / 基本情報技術者試験のデータベース分野で求められるのは、正規化やER図によるデータベースの論理設計、SQLを用いたデータの検索・操作、トランザクション管理やACID特性・排他制御といった一貫性を保つための仕組みを体系的に理解し、実務のシステム開発・運用の現場で活用できる能力である。