基本情報 令和元年度 秋期 問23:テクノロジ系に関する問題
コードから商品の内容が容易に分かるようにしたいとき, どのコード体系を選択 するのが適切か。
- a区分コード
- b桁別コード
- c表意コード正答
- d連番コード
AI解説(初心者・標準・上級)
理解度に合わせて3レベルの解説を無料で読めます。
答えは c「表意コード」 です。
表意コードは「コードを見ただけで中身が分かる」コード体系。
例えば「TV-32-BK」と書いてあれば「テレビ・32型・黒」って想像つきますよね。これが表意コードの良いところ。
👉 覚え方:表意=意味を表す。見て分かる。
ほかの選択肢:a 区分コード=先頭で大分類/b 桁別コード=桁ごとに意味割当/d 連番コード=ただの順番番号(中身不明)。
なぜこれが正解か
正解は c。表意コード(ニーモニックコード/Mnemonic Code)は、商品名や属性を連想させる文字・略号でコードを構成し、コードから内容を推測できるようにする方式。例:「TV32BK」=テレビ32インチ黒。可読性が高く、入力ミス検出・記憶しやすさが利点。
各選択肢の解説
- a 区分コード:先頭数桁で大分類を表す。例:1xxx=家電、2xxx=食品。
- b 桁別コード:各桁に意味を割当てる。例:1桁目=部門、2-3桁目=カテゴリ、4-6桁目=連番。
- d 連番コード:単純な通し番号。意味なし。最もシンプルだが内容不明。
覚え方・ひっかけ注意
コード体系の主要分類:
- 連番コード:単純、内容不明
- 区分コード:先頭で分類
- 桁別コード(階層コード):桁ごとに意味
- 表意コード:見て分かる略号
- 合成コード:複数方式の組合せ
- チェックディジット付加:誤り検出用
「見て分かる=表意」「桁ごとに意味=桁別」のキーワード対応で判別。
理論的背景
コード設計の原則は「一意性・拡張性・体系性・効率性・標準性」。コード体系は業務効率と保守性の両立を目指す。情報処理学会/JIS規格でも体系化されている。
主要コード体系の詳細
- 連番コード(Sequential Code):単純、追加容易。意味なし、欠番管理困難
- ブロックコード(Block Code):番号帯で大分類。郵便番号、電話番号
- 桁別コード(Group Classification Code):階層構造。JANコード、住所コード
- 表意コード(Mnemonic Code):略号で内容暗示。覚えやすい
- 十進法分類コード:図書館の日本十進分類法(NDC)
- 合成コード:複数方式組合せ。実務で最頻
チェックディジット
コードに検査数字(チェックディジット)を付加して入力誤り検出:
- モジュラス10法:JAN、クレジットカード(Luhnアルゴリズム)
- モジュラス11法:ISBN-10、銀行口座番号
- モジュラス10ウェイト3:JIS規格
単純な転記ミス(1桁誤り、隣接桁の入替)を約99%検出可能。
実務での使われ方
- JANコード/GS1:商品識別の世界標準。バーコード13桁+チェックディジット
- マイナンバー:12桁、チェックディジット付き
- 法人番号:13桁、頭1桁がチェックディジット
- クレジットカード:Luhnアルゴリズム、IIN(発行者識別番号)+口座番号+チェックディジット
- ISBN-13:書籍識別、GS1準拠
- VIN(車台番号):17桁、製造国・メーカー・モデル・年・工場・連番
- 企業内SKU:表意コード+連番のハイブリッド
ユニバーサル識別子の発展
- UUID/GUID:128bit、衝突確率ほぼゼロ
- ULID:時刻ソート可能なUUID代替
- NanoID:URLセーフな短いID
- Snowflake ID:Twitter発、時刻+マシン+連番
分散システムではこれらの非順序系IDが主流に。
試験での位置づけ
基本情報のシステム開発/データ管理分野で頻出。応用情報・データベーススペシャリストでは主キー設計、サロゲートキー vs 自然キー、識別子設計まで踏み込む。
選択肢の発展補足
連番コードはサロゲートキー(代理キー)として現代DB設計で主流(AUTO_INCREMENT、SERIAL、IDENTITY)。意味を持たないため業務変更に強い。自然キー(業務固有の意味あるコード)はSEO的URLや人間可読性で有利だが、業務変更時にキー変更が連鎖する問題がある。サロゲート+ナチュラル併用(DBは連番、UI表示は表意コード)が実装パターンとして定着している。
出典:IPA(情報処理推進機構)公式 基本情報技術者試験 令和元年度 秋期 問23/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。