データ (コンピュータ)
From Wikipedia, the free encyclopedia

コンピュータにおけるデータ(英: data)は、1つ以上のシンボル(記号)の任意の並びである。データム(英: datum)は、単一の記号からなるデータである[注釈 1]。データが情報と呼ばれるには解釈を要する。デジタルデータとは、アナログ表現ではなく、1(いち)と0(ぜろ)の二進法を使って表わされるデータである。現代(1960年以降)のコンピュータシステムでは、すべてのデータはデジタルである。
データは、保存中、転送中、使用中の3つの状態で存在する。コンピュータ内でデータは、たいてい並列データとして移動する。コンピュータとの間で行き来するデータは、たいてい直列データとして移動する。温度センサーなどのアナログ機器から送られたデータは、アナログ-デジタル変換器でデジタルに変換される。コンピュータが操作する量、文字、または記号を表すデータは、磁気的、光学的、電子的、または機械的な記録媒体に保存および記録され、デジタル電気信号または光信号として伝送される[1]。データは、周辺機器を経由してコンピュータに入出力される。
物理的なコンピュータメモリの要素は、データストレージのアドレスとバイト/ワードで構成される。デジタルデータはテーブル、あるいはSQLデータベースのようなリレーショナルデータベースに格納されることが多く、一般的に、抽象的なキーと値の組として表すことができる。データは、配列、グラフ、オブジェクトなど、さまざまな種類のデータ構造で整理することができる。そしてデータ構造には、数値、文字列、別のデータ構造など、さまざまな種類のデータを格納することができる。
メタデータは、データに関するデータであり、データに意味を与えて情報へ変換するのに役立つ。メタデータは、暗黙的であったり、指定されたり、または付与される場合がある。
物理的な事象や過程に関連するデータには、時間的な要素が含まれる。この時間的な要素は、暗に含まれることもある。その例は、温度ロガー(自動記録器)などの機器が温度センサーからデータを受信するときである。温度を受信すると、そのデータは「今」という時間的な基準を持つと想定される。そのため、機器は日付、時刻、温度を一緒にして記録する。データロガーが温度を通信する場合、温度の測定値ごとにメタデータとして日付と時刻も報告する必要がある。
基本的に、コンピュータはデータの形で与えられた一連の命令に従って機能する。与えられたタスク(1つか複数)を実行するための一連の命令はプログラムと呼ばれる。プログラムは、コンピュータやその他の機械の動作を制御するためのコード化された命令の形をしたデータである[2]。コンピュータによって実行されるプログラムは、名目的には機械語コードで構成される。プログラムによって操作されるが、CPUによって実際には実行されない記憶装置上の要素もデータである。最も本質的なところは、1つのデータム(datum)は特定の場所に格納された値ということにある。したがって、コンピュータプログラムがそのプログラムのデータを操作することによって、他のコンピュータプログラムを操作することが可能となる。
データバイトをファイルに格納するためには、ファイル形式で直列化する必要がある。一般にプログラムは、他のデータ用とは異なる特別なファイルタイプで保存される。実行可能ファイルにはプログラムが含まれ、それ以外のファイルはすべてデータファイルである。ただし、実行可能ファイルは、プログラムで使用するデータを含む場合もある(プログラムに組み込まれる)。一部の実行可能ファイルはデータセグメントを持ち、名目上は定数や変数の初期値が含まれているが、どれもデータと見なすことができる。
プログラムとデータの境界線が曖昧(あいまい)になることがある。たとえば、インタプリタはプログラムである。インタプリタへの入力データはそれ自体がプログラムあり、ただ本来の機械語で表現されていないだけである。インタプリタが解釈するプログラムは、人間が読めるテキストファイルであることが多く、テキストエディタプログラムで操作される。同様に、メタプログラミングでは、プログラムが他のプログラムをデータとして操作するものがある。コンパイラ、リンカ、デバッガ、プログラムアップデータ、ウィルススキャナなどのプログラムは、他のプログラムをデータとして使用する。
たとえば、ユーザーはまず、あるファイルからワードプロセッサプログラムをロードするようオペレーティングシステムに指示し、次に実行中のプログラムを使用して別のファイルに保存されている文書を開いて編集することができる。この例では、文書はデータと見なされる。ワードプロセッサがスペルチェッカも備えている場合、スペルチェッカの辞書(単語リスト)もデータと見なされる。スペルチェッカーが修正を提案するために使用するアルゴリズムは、機械語データまたは解釈可能なプログラミング言語で記述されたテキストデータのいずれかである。
別の用法として、人に対する可読性を持たないバイナリファイルを、人が読めるテキストファイルと区別して、データと呼ぶこともある[3]。