練習問題

練習問題:データモデリングと設計

目標: 80%以上正解(11問中9問)


問題

Q1. データモデルの抽象化レベルとして、ビジネスステークホルダーとのコミュニケーションに使用し、エンティティ名と関係のみを示すモデルはどれか?

A) 物理データモデル
B) 論理データモデル
C) 概念データモデル
D) 次元データモデル


Q2. 論理データモデルと物理データモデルの主な違いとして正しいのはどれか?

A) 論理モデルはビジネスユーザー向けで属性を持たない
B) 物理モデルは特定のDBMSに依存しないが、論理モデルは依存する
C) 論理モデルは特定DBMSに依存せず、物理モデルはDBMS固有の実装を含む
D) 物理モデルは正規化されているが、論理モデルは非正規化されている


Q3. 第2正規形(2NF)を満たすための条件はどれか?

A) 繰り返しグループがなく、すべての値が原子的である
B) 1NFを満たし、部分関数従属が除去されている
C) 2NFを満たし、推移的関数従属が除去されている
D) すべての決定子が候補キーである


Q4. データウェアハウス設計において、1つのファクトテーブルと非正規化されたディメンションテーブルで構成されるスキーマはどれか?

A) スノーフレークスキーマ
B) スタースキーマ
C) ギャラクシースキーマ
D) フレークスキーマ


Q5. SCD(Slowly Changing Dimension)Type 2 の特徴はどれか?

A) 新しい値で既存レコードを上書きする
B) 旧値を保持するための追加カラムを設ける
C) 変更のたびに新しいレコードを追加し、有効期間を管理する
D) ディメンションの変更を無視し、現在値のみを保持する


Q6. ビジネス上の意味を持たず、システムが自動生成する一意な識別子を何と呼ぶか?

A) ナチュラルキー
B) 候補キー
C) サロゲートキー
D) スーパーキー


Q7. 既存のデータベーススキーマからデータモデルを生成するプロセスを何と呼ぶか?

A) 前方設計(Forward Engineering)
B) 逆設計(Reverse Engineering)
C) データプロファイリング
D) スキーママイグレーション


Q8. ERDのCrow's Foot記法において、「0以上の多数」を表す記号はどれか?

A) ||
B) |O
C) }|
D) }O


Q9. 第3正規形(3NF)を満たすための追加条件(2NFに対して)はどれか?

A) 繰り返しグループの除去
B) 部分関数従属の除去
C) 推移的関数従属の除去
D) 多値従属の除去


Q10. スノーフレークスキーマとスタースキーマの違いとして正しいのはどれか?

A) スノーフレークはファクトテーブルが複数あり、スタースキーマは1つである
B) スノーフレークはディメンションテーブルが正規化されており、スタースキーマは非正規化されている
C) スタースキーマはOLTP向けで、スノーフレークはOLAP向けである
D) スタースキーマはスノーフレークより整合性が高い


Q11. 概念データモデルの主な目的として最も適切なものはどれか?

A) 特定のデータベース製品向けのテーブル構造を定義する
B) インデックスやパーティション戦略を最適化する
C) ビジネスエンティティとその関係をビジネス関係者と共有・合意する
D) ETLプロセスのマッピングルールを定義する


解答と解説

A1. C) 概念データモデル
概念モデル(CDM)はビジネス語彙・エンティティ・関係のみを表現し、技術的詳細を含まない。ビジネスステークホルダーとのコミュニケーション用。

A2. C) 論理モデルは特定DBMSに依存せず、物理モデルはDBMS固有の実装を含む
論理モデルはDB製品に依存しない普遍的な設計。物理モデルはMySQL/PostgreSQL/Oracle等の製品固有仕様を含む。

A3. B) 1NFを満たし、部分関数従属が除去されている
2NF = 1NF の条件を満たした上で、複合主キーの一部のみに従属する属性(部分関数従属)を別テーブルに移動。

A4. B) スタースキーマ
スタースキーマは中央のファクトテーブルと非正規化されたディメンションテーブルで星形を形成。クエリが単純で高速。

A5. C) 変更のたびに新しいレコードを追加し、有効期間を管理する
SCD Type 2 は有効開始日・終了日(または現在フラグ)で履歴を完全に保持。最も一般的な履歴管理手法。

A6. C) サロゲートキー
サロゲートキー(代理キー)はビジネス上の意味を持たない整数IDなど。安定性が高く、ナチュラルキーの変更に強い。

A7. B) 逆設計(Reverse Engineering)
既存DB → モデル の方向が Reverse Engineering。新規設計(要件 → DB)は Forward Engineering。

A8. D) }O
Crow's Foot記法: } = 多数側, O = 0含む(オプション), | = 必須。したがって }O = 0以上の多数。

A9. C) 推移的関数従属の除去
3NF = 2NF + 「非キー属性が他の非キー属性に依存する推移的関数従属」を除去。A → B → C の場合、A → C の間接依存を除去。

A10. B) スノーフレークはディメンションテーブルが正規化されており、スタースキーマは非正規化されている
スノーフレークはディメンションをさらに正規化して分割するため、データ整合性は高いがJOINが増えてクエリが複雑になる。

A11. C) ビジネスエンティティとその関係をビジネス関係者と共有・合意する
概念モデルの主目的はビジネス合意形成とスコープの明確化。技術的実装は論理・物理モデルの役割。