関係データベースの構築を次の a~c の工程で行うとき, 実行順序として適切なものはどれか。 a 管理するデータ項目の洗い出し b 対象業務の分析 c 表の作成
平成26年度 春期 ITパスポート試験 問83
この問題の解説と、これまでの解答の記録です。
問 83
不正解ア
a→b→c は、業務を分析する前に管理するデータ項目を洗い出すことになる。対象業務が分からない段階で必要な項目を決めれば、実際の業務に必要な項目が漏れたり、使わない項目を作り込んだりする。業務分析 (b) はデータ項目の洗い出し (a) の前提となる情報を与える工程なので、b が a より先でなければならない。
- イ
正解 正解はイ「b→a→c」。関係データベースの構築は、業務の理解という上流工程から、実際にテーブルを作るという下流工程へ順に進める。まず b「対象業務の分析」を行う。どんな業務で、どんな情報が発生し、誰がどう使うのかが分からなければ、そもそも何をデータベースに入れるべきかを決められないからである。次に a「管理するデータ項目の洗い出し」を行う。業務分析の結果から、顧客名・商品コード・受注日といった管理すべきデータ項目を洗い出し、項目どうしの関連 (E-R 図など) を整理する。最後に c「表の作成」を行う。洗い出した項目をもとに、表 (テーブル) の名前・列 (項目) の構成・データ型・主キーなどを決めて実際に表を定義する。つまり「業務を知る → 何を持つか決める → 入れ物を作る」という順序であり、b→a→c が適切である。
不正解ウ
b→c→a は、業務を分析した直後にデータ項目を決めないまま表を作ることになる。表 (テーブル) を作るには、どの列 (項目) を持たせるかが確定している必要があるため、項目の洗い出し (a) が済んでいない段階で表 (c) は作れない。a と c の順序が逆である。
不正解エ
c→a→b は順序が完全に逆で、最も下流の表の作成から始めることになる。業務分析もデータ項目の洗い出しもしていない状態では表の列構成を決めようがなく、作った後で項目の過不足が判明して作り直しになる。設計を経ずに実装から着手する典型的な誤りである。
- データベース設計の基本的な流れは「対象業務の分析 → 管理するデータ項目の洗い出し (概念設計・E-R 図) → 表 (テーブル) の作成」で、上流の分析・設計工程から下流の実装工程へ進む。上流の成果が下流の入力になるため、順序を入れ替えることはできない。
- 関係データベースでは、データを行と列から成る「表 (テーブル)」で管理する。列が管理するデータ項目に対応するので、項目が確定していなければ表は定義できない、という依存関係を押さえておく。