最終更新日:2026年9月16日
fe fe-technology database big-data
まず結論
データは、あらかじめ決められた項目や形式に従って整理されているかで、大きく次の3つに分けられます。
表・関係データベース
→ 構造化データ
自由文・画像・音声・動画
→ 非構造化データ
JSON・XML
→ 半構造化データ
基本情報技術者試験では、単に「加工したかどうか」ではなく、加工の前後でデータの構造が変わったかを見ることが重要です。
特に、
SNSの自由文
↓
単語・分類・要約などの項目に整理
↓
関係データベースへ格納
のような処理は、非構造化データを構造化データへ加工する例です。
直感的な説明
構造化データは、「どこに何を書くか」が最初から決まっているデータです。
たとえば、住所録なら次のように項目が決まっています。
| 氏名 | 郵便番号 | 住所 |
|---|---|---|
| 山田太郎 | 100-0001 | 東京都… |
このように列の意味が決まっているので、検索や集計がしやすくなります。
一方、SNSの口コミは、書き方も長さも内容も自由です。
「この商品、思ったより使いやすかった!」
これは、そのままでは「評価」「商品名」「感情」などの項目に分かれていません。
そこで、自然言語処理や機械学習などを使って、
商品名
評価
感情
要約
のような項目に整理すれば、分析しやすい構造化データへ変換できます。
定義・仕組み
構造化データ
構造化データは、項目やデータ型、格納形式などがあらかじめ決められているデータです。
代表例は次のとおりです。
- 関係データベースの表
- CSVのような表形式データ
- 顧客マスタ
- 売上データ
- 住所録
たとえば、関係データベースでは、
顧客ID
氏名
住所
電話番号
のように列が定義されています。
そのため、条件検索、集計、並べ替えなどを行いやすいのが特徴です。
非構造化データ
非構造化データは、あらかじめ固定された項目や表形式を持たないデータです。
代表例は次のとおりです。
- 自由文
- SNS投稿
- 電子メール本文
- 画像
- 音声
- 動画
これらは情報を多く含みますが、そのままでは関係データベースの列に単純に分けにくいため、分析前に前処理が必要になることがあります。
半構造化データ
半構造化データは、構造化データと非構造化データの中間的なデータです。
代表例は、JSONやXMLです。
{
"name": "Yamada",
"age": 20
}
このように、項目名などの構造はありますが、関係データベースの表のように固定された列構成とは限りません。
そのため、FEでは次のように整理すると分かりやすいです。
| 種類 | 構造 | 代表例 |
|---|---|---|
| 構造化データ | 項目や形式が明確 | RDB、表、CSV |
| 半構造化データ | タグやキーなどの構造がある | JSON、XML |
| 非構造化データ | 固定された形式がない | 自由文、画像、音声、動画 |
科目Aでどう出る?
科目Aでは、データ加工の事例を示して、構造化・非構造化のどちらからどちらへ変換しているかを判断させる問題が出ます。
判断軸1:加工前は何か
まず、元データの形式を確認します。
RDBの表
→ 構造化
住所データの列
→ 構造化
SNSの自由文
→ 非構造化
画像・音声・動画
→ 非構造化
判断軸2:加工後に項目化されているか
次に、加工後のデータが分析しやすい項目に整理されているかを見ます。
自由文
↓
単語・分類・要約などに整理
↓
DBへ格納
→ 構造化
判断軸3:内容が変わっただけか、構造が変わったか
ここがひっかけです。
匿名化や表記統一はデータを加工していますが、必ずしも構造化・非構造化の分類を変えるわけではありません。
住所の「ヶ」「ケ」を統一
→ 内容の表記を整えた
→ 構造化データのまま
個人名を匿名化
→ 内容を変更した
→ 元のデータ形式はそのまま
試験では、加工した = 構造化したとは考えないようにします。
どんな場面で使う?
ビッグデータ分析では、さまざまな形式のデータを扱います。
たとえば、次のようなデータがあります。
売上DB
→ 構造化
Webアクセスログ
→ 構造化または半構造化として扱うことがある
SNS口コミ
→ 非構造化
画像・動画
→ 非構造化
分析しやすくするために、非構造化データから必要な特徴や項目を抽出し、表形式やデータベースへ格納することがあります。
たとえば、SNSの口コミから、
商品名
肯定・否定
頻出単語
要約
を抽出すれば、集計や比較がしやすくなります。
よくある誤解・混同
RDBから表計算ソフトへ出力すれば非構造化になる?
なりません。
RDBも表計算ソフトの表も、行と列で整理された構造化データです。
構造化
→ 構造化
です。
匿名化すれば構造化データになる?
必ずしもなりません。
匿名化は、特定の個人を識別できないように内容を加工する処理です。
自由文を匿名化しても、その自由文が項目化されなければ、非構造化データのままです。
表記を統一すれば構造化データになる?
元から住所という列に格納されているなら、すでに構造化データです。
「ヶ」→「ケ」
丁目表記を統一
などはデータクレンジングの一例ですが、構造化・非構造化の分類を変える処理ではありません。
JSONやXMLは完全な構造化データ?
FEでは、JSONやXMLは半構造化データとして整理すると判断しやすいです。
表のような固定列ではありませんが、キーやタグによって一定の構造を持っています。
まとめ(試験直前用)
- 構造化データは、項目や形式があらかじめ決まっている
- 非構造化データは、自由文・画像・音声・動画など固定された形式を持たない
- JSON・XMLは半構造化データとして整理する
- 「加工したか」ではなく、構造が変わったかを見る
- 匿名化や表記統一だけでは、構造化・非構造化の分類は変わらないことがある
- 自由文を単語・分類・要約などに整理してDBへ格納するなら、非構造化 → 構造化
試験中は、次の一文を思い出せば十分です。
自由なデータを、項目の決まった分析用データへ整理したら「非構造化 → 構造化」。