ITパスポート テクノロジ系:データベース 2 — Questions and Answers
Question 1: SQL文のJOINのうち「LEFT OUTER JOIN」の説明として正しいものはどれか。
- 左テーブルのすべての行と右テーブルの一致する行を返し、右に一致がない場合はNULLを設定する (Correct answer)
- 両テーブルに一致する行のみを返す
- 右テーブルのすべての行と左テーブルの一致する行を返す
- 両テーブルのすべての行を返す(一致しない場合もNULLで補完)
Correct answer: 左テーブルのすべての行と右テーブルの一致する行を返し、右に一致がない場合はNULLを設定する
LEFT OUTER JOINは結合条件に一致する行に加え、左テーブルの一致しない行も右側をNULLで補完して返す。「左のデータは全部欲しい」ときに使用。
Question 2: データベースのトランザクション分離レベルで「ダーティリード」が防止されない分離レベルはどれか。
- READ UNCOMMITTED (Correct answer)
- READ COMMITTED
- REPEATABLE READ
- SERIALIZABLE
Correct answer: READ UNCOMMITTED
READ UNCOMMITTEDは最も低い分離レベルで、他トランザクションの未コミット(変更途中)データを読める「ダーティリード」が発生する。READ COMMITTED以上で防止される。
Question 3: ER図(エンティティ関係図)の説明として正しいものはどれか。
- データベースの概念設計においてエンティティ・属性・エンティティ間の関係(カーディナリティ)を図示する設計手法 (Correct answer)
- データベースのテーブル構造を物理的に示したもの
- データの流れ(フロー)を表すシステム設計図
- ユーザーの操作手順を示したフローチャート
Correct answer: データベースの概念設計においてエンティティ・属性・エンティティ間の関係(カーディナリティ)を図示する設計手法
ER図(Entity-Relationship Diagram)はデータモデリングの標準的な概念設計手法で、実体(エンティティ)・属性・1対多・多対多等の関係(リレーションシップ)を図示する。
Question 4: NoSQLデータベースの特徴として正しいものはどれか。
- 固定スキーマに縛られない柔軟なデータモデルで大量データの水平スケールに適する (Correct answer)
- 関係データベースと同じSQL文法を使う
- ACID特性を必ず完全に保証する
- 結合(JOIN)操作が最も得意なデータベース
Correct answer: 固定スキーマに縛られない柔軟なデータモデルで大量データの水平スケールに適する
NoSQLはKey-Value・ドキュメント・カラム・グラフ型等のデータモデルを持ち、スキーマ柔軟性・水平スケーラビリティが高く、大量データ・高速アクセスのWebサービスに多用される。
Question 5: ストアドプロシージャの利点として正しいものはどれか。
- よく使うSQL処理をDBサーバー側に事前コンパイル・保存して再利用でき処理が速い (Correct answer)
- クライアント側のプログラム言語を統一できる
- データベースのストレージを圧縮できる
- テーブル構造を自動的に最適化する
Correct answer: よく使うSQL処理をDBサーバー側に事前コンパイル・保存して再利用でき処理が速い
ストアドプロシージャはSQL手続きをDBサーバーに保存・事前コンパイルするため①ネットワーク往復削減②再利用③アクセス制御の一元化④処理の高速化が実現できる。
Question 6: データウェアハウスとOLTPデータベースの違いとして正しいものはどれか。
- データウェアハウスは大量の過去データを分析・レポートに特化し、OLTPは業務トランザクションをリアルタイムに処理する (Correct answer)
- データウェアハウスはリアルタイム更新に特化している
- OLTPは読み取り専用の分析用データベースである
- 両者は全く同じ目的で使用される
Correct answer: データウェアハウスは大量の過去データを分析・レポートに特化し、OLTPは業務トランザクションをリアルタイムに処理する
OLTP(Online Transaction Processing)は業務の日々のトランザクション(受注・決済等)を低遅延でリアルタイム処理。DWH(データウェアハウス)は大量の過去データを蓄積・集計・分析するBIに最適化。
SQL文のJOINのうち「LEFT OUTER JOIN」の説明として正しいものはどれか。