問題本文
関係データベースを構築するための作業を,a〜cに分けて行うとき,作業の順序として適切なものはどれか。 a 業務で使用するデータ項目の洗い出し b 表の生成 c レコードの挿入
選択肢
- ア.a → b → c
- イ.a → c → b
- ウ.b → a → c
- エ.b → c → a
解説
関係データベース(RDB)構築の作業順序を問う問題. RDB構築は(1)業務分析でデータ項目を洗い出す→(2)概念設計(E-R図)→(3)論理設計(正規化済み表構造)→(4)物理設計(DBMS固有の最適化)→(5)CREATE TABLEで表を生成→(6)INSERT文等でレコードを挿入,という順序で進む. 本問では(a)データ項目洗い出し→(b)表の生成→(c)レコードの挿入の3段階に簡略化され,順序はa→b→cが正しい. 表ができていない段階でレコードは入れられず,データ項目が決まっていない段階で表は作れないという論理的な前提・依存関係から自然に導かれる順序. データから表へ,表からレコードへの流れを押さえる.
選択肢ごとの解説
- ア.正解. 業務で使うデータ項目を洗い出してから表を設計・生成し,生成された表にレコードを挿入する,という流れがRDB構築の自然な順序. a→b→cの順がデータベース設計の論理的依存関係(分析→構造→格納)と完全に一致する. 上流から下流へ進む基本構造を踏まえた正しい順序.
- イ.誤り. a(項目洗い出し)→c(レコード挿入)→b(表生成)の順序は不自然で,そもそも表が存在しない段階でレコードは挿入できない. INSERT文は表(テーブル)の存在を前提とするため,表生成より先にレコード挿入を行うのは技術的に不可能で,本問の答えとして成立しない選択肢.
- ウ.誤り. b(表生成)→a(項目洗い出し)→c(レコード挿入)の順序は論理的に破綻している. データ項目を洗い出さずに表構造は決められないため,項目洗い出しより先に表を生成することはできない. 設計の前提となる分析を飛ばす順序は,RDB構築の手順として明確に誤りとなる.
- エ.誤り. b(表生成)→c(レコード挿入)→a(項目洗い出し)の順序も論理的に成り立たない. 項目洗い出し前に表生成・データ挿入を行うのはデータベース設計の基本手順を逸脱しており,後から項目を確定するという流れは現実的な構築作業として想定不可能で,選択肢として明らかに誤り.
ITパスポート 2015年 (平成27年 秋期) の過去問一覧へ戻る・問52