DBデータベーススペシャリスト試験 午前Ⅰ

令和4年度秋期 データベーススペシャリスト 午前Ⅰ 問8

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

顧客に,A~Z の英大文字 26 種類を用いた顧客コードを割り当てたい。現在の顧客総数は 8、000 人であって,毎年,前年対比で 2 割ずつ顧客が増えていくものとする。3 年後まで全顧客にコードを割り当てられるようにするためには,顧客コードは少なくとも何桁必要か。

選択肢

  1. ア
    3
  2. イ
    4
  3. ウ
    5
  4. エ
    6
解き方のヒントを見る

識別コードの桁数を考える視点

識別コードの桁数を考えるときは、扱う情報の種類と想定される利用規模を同じ条件で整理し、現在だけでなく増加後にも無理がないかという一つの観点で順に確認しましょう。

この問題で問われていること

検討の中心は、必要な識別の組合せを漏れなく捉えたうえで、見込み数の変化に対して余裕をどう考えるかです。個別の答えを当てに行かず、前提をそろえて規模感を確認してください。

視点

コード設計では、識別対象の整理、利用規模の見積もり、将来変更の可能性を切り分け、同じ前提で比較することが基本です。計算結果そのものではなく、条件の置き方が妥当かを点検しましょう。

確認ポイント

  • 識別したい対象と、区別するための条件を整理できているか確認する
  • 現在の規模と将来の見込みを同じ基準で比べているか確認する
  • 前提条件や余裕の考え方に抜けや重複がないか確認する
正解と解説を見る

正解

ア

解説

3年後の顧客数を毎年2割増として計算すると13、824人になります。英大文字26種類で3桁のコードを作ると17、576通りあるため、全顧客に割り当てるには3桁が必要です。

理由

顧客数は、現在の8、000人に1.2を3回掛けて、8、000×1.2×1.2×1.2=13、824人と求めます。一方、英大文字26種類を使うコードは、3桁なら26×26×26=17、576通り作れます。2桁では676通りにとどまるため不足し、3桁で初めて必要数を上回ります。

比較

コードの桁数が1桁増えるごとに、各桁で26種類を選べるため、組合せ数は26倍になります。したがって、将来の顧客数13、824人を収容するには、2桁では足りず、3桁が最小です。4桁以上でも割当ては可能ですが、必要最小桁数という条件には合いません。

選択肢ア(正解)

これは正解だよ。3年後の顧客数は8,000×1.2³=13,824人です。英大文字26種類を使う3桁コードは26³=17,576通り作れるため、全顧客に割り当てられます。一方、2桁では26²=676通りしかなく不足するので、最小の桁数は3桁です。

選択肢イ

これは不正解だよ。4桁なら26⁴=456,976通りのコードを作れるため、13,824人の顧客を収容できます。しかし、3桁でも26³=17,576通りあり、必要な顧客数をすでに上回ります。問題は少なくとも必要な桁数を問うため、4桁は過剰です。

選択肢ウ

これは不正解だよ。5桁では26⁵=11,881,376通りとなり、顧客数を十分に上回ります。ただし、必要数は13,824人であり、3桁の26³=17,576通りで既に対応できます。5桁はコード数の余裕が大きすぎ、最小桁数という条件を満たしません。

選択肢エ

これは不正解だよ。6桁では26⁶=308,915,776通りの組合せを利用できますが、3桁の26³=17,576通りだけでも3年後の13,824人を収容できます。6桁は必要数に対して過大であり、最小限のコード桁数を求める設問の答えにはなりません。

学習のポイント

割合による将来予測と、文字の桁数による組合せ数の比較

出典:独立行政法人 情報処理推進機構(IPA)令和4年度秋期 データベーススペシャリスト試験 午前Ⅰ 問8(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針