平成27年度 春期 基本情報技術者試験 午前 問29
テクノロジ/データベース新たにデータ項目の命名規約を設ける場合,次の命名規約だけでは回避できない問題はどれか。 〔命名規約〕 (1) データ項目名の末尾には必ず“名”,“コード”,“数”,“金額”,“年月日”などの区分語を付与し,区分語ごとに定めたデータ型にする。 (2) データ項目名と意味を登録した辞書を作成し,異音同義語や同音異義語が発生しないようにする。
出典:平成27年度 春期 基本情報技術者試験 午前 問29
- アデータ項目“受信年月日”のデータ型として,日付型と文字列型が混在する。
- イデータ項目“受注金額”の取り得る値の範囲がテーブルによって異なる。
- ウデータ項目“賞与金額”と同じ意味で“ボーナス金額”というデータ項目がある。
- エデータ項目“取引先”が,“取引先コード”か“取引先名”か,判別できない。
正解:イ
解説
与えられた命名規約は,区分語の統一(区分語辞書によるデータ型の統一)と,異音同義語・同音異義語の防止(辞書による意味の一元管理)を目的としています。しかし,“受注金額”のように同じ区分語(“金額”)を使っていても,項目が使われるテーブルによって値の許容範囲(ドメイン)が異なるという問題は,名称や辞書の整備だけでは解決できず,別途ドメイン(値の範囲)の定義や制約を設ける必要があります。
選択肢ごとの解説
- ア誤り。“年月日”という区分語には日付型というデータ型が定められているはずなので,この命名規約に従えば文字列型が混在する問題は回避できます。
- イ正しい。区分語や辞書を整備しても,同じ“受注金額”という項目の値の範囲がテーブルによって異なるという問題(ドメインの不統一)は,この命名規約だけでは解決できません。
- ウ誤り。データ項目と意味を登録した辞書を作成することで,同じ意味の項目に別名(異音同義語)が使われる問題は防ぐことができます。
- エ誤り。区分語の中に“コード”と“名”が明確に定義されているため,“取引先コード”か“取引先名”かの判別ができない問題は,末尾に区分語を付与するという規約で回避できます。