データとは何か
プログラミングを学んだ人は、
プログラムが「データ」を扱うものだということを知っているでしょう。
その昔、ニクラウス・ヴィルト(Niklaus Wirth)という人が、
「アルゴリズム+データ構造=プログラム」という本を書きました。
プログラムにとって「データ」を扱う方法が重要なことは、
誰もが認めるところです。
この話の流れでは、プログラムで扱う対象こそが「データ」であると考えてしまいますが、
それは一つの意味にすぎません。
日常生活では、「血液型と性格の関係性を証明するデータはない」などと使います。
この場合、「データ」は観察や経験に基づく事実のことを意味しています。
ここでは、プログラムで扱うかどうかにかかわらず、
意味のある情報を持つものが「データ」であると、幅広く考えることにします。
注1: Niklaus Wirth はプログラミング言語 Pascal を開発した偉い人。
注2: data は datum の複数形 (まめ知識)。
データの分類
データには、さまざまな観点からの分類があります。
- アナログデータとデジタルデータ
コンピュータは直接アナログ情報を扱うことができませんので、
アナログデータはAD変換をしてデジタルデータにする必要があります。
なお、デジタルデータには、アナログデータをデジタル化したものと、
もともとデジタルなものがあります。
- 生データと加工されたデータ
生データは raw(ろー) データとも呼びます。デジタルカメラの上位機種において、CCD や CMOS などのイメージセンサからの信号をそのまま記録する形式を RAW 形式と呼びます。
- バイナリデータとテキストデータ
文字列として認識することが可能なものをテキストデータと呼びます。
旧来の文字コード上では、8bitコードのうち 下位7bitしか使わないものがテキストデータでした。
バイナリデータとテキストデータでは、プログラムから読み書きする際の手法が異なります。テキストでは行という概念がありますが、バイナリではありません。
- データとメタデータ
データについてのデータをメタデータと呼びます。
HTML では body 要素がページの内容を表すので「データ」だとすると、
title 要素はページの内容そのものではなくページ自体についての情報となるので「メタデータ」
となります。HTML では、head 要素内に記述されるものはすべてメタデータです。
なお、title 要素がメタデータだとすると、
「title 要素の文字数」はメタデータのメタデータとなります。
もちろん、動画、静止画、音声、テキストといった内容による分類はいくらでもあります。