数据_(计算)

**資料**（英語：Data）需要解釋才能成為資訊。要將資料轉換為資訊，必須考慮幾個已知因素。所涉及的因素由資料的建立者和所需資訊決定。元資料用於參照有關資料的資料。元資料可以間接、指定或給定。與物理事件或過程相關的資料也將具有時間資料。在幾乎所有情況下，這個時間分量是隱含的。當溫度記錄器等裝置從溫度感測器接收資料時就是這種情況。當接收到溫度時，假設資料具有「現在」的時間參考。所以裝置一起記錄日期，時間和溫度。

數位資料是使用（1）和零（0）的二進位數系統表示的資料，而不是類比表示。在現代（1960 年後）電腦系統中，所有的資料都是數位的。在大多數情況下，電腦中的資料作為並列資料移動。在大多數情況下移動到或來自電腦的資料作為串行資料移動。請參見並列通信和串行通信。來自類比裝置（例如溫度感測器）的資料必須通過「模數轉換器」或「ADC」（請參見類比數位轉換器）將類比資料轉換為數位資料。

表示資料的數量，字元，或在其上的操作由執行符號電腦被儲存並記錄在硬碟（磁、光碟或機械的記錄媒介），和傳輸在數位電訊號的形式。

程式是一組資料，由一系列編碼軟體指令組成，用於控制電腦或其他機器的操作。物理電腦儲存元件由一個位址和一個位元組 / 字的資料儲存組成。數位資料通常儲存在有關聯資料庫中，如表或資料庫，通常可以表示為 關鍵字 / 值

資料可以組織在許多不同類型的資料結構中，包括陣列、圖形和物件。資料結構可以儲存許多不同類型的資料，包括數位，字串甚至其他資料結構。資料通過 I/O 裝置進出電腦。

在另一種使用方法，二進位檔案（不是人類可讀的）有時被稱為與人類可讀的「文字」不同的「資料」。2007 年數位資料總量估計為 2810 億千百萬位元組（= 281 億位元組）。這資料來自三個狀態：靜止資料，傳輸中的資料和正在使用的資料。

## 特徵

在特殊的情況下，單個資料是儲存在特定位置的值。

從根本上說，電腦遵循一系列以資料形式給出的指令。執行給定任務（或多個任務）的一組指令稱為「程式」。在名義情況下，由電腦執行的程式將由二進位機器碼組成。由程式操縱但不是由 CPU 實際執行的儲存元素也是資料。程式指令和程式操作的資料都以完全相同的方式儲存。因此，電腦程式可以通過操縱其程序化資料來操作其他電腦程式。

程式和資料之間的界限會變得模糊。一個直譯器，例如，是一個程式。直譯器的輸入資料本身就是一個程式，只是不是以本地機器語言表示的。在許多情況下，解釋的程式將是一個人類可讀的文字檔案，它由文字編輯器程式（通常與純文字資料相關聯）進行操作。元程式設計類似地涉及將其他程式操作為資料的程式。如編譯器，連結器，除錯器，程式更新程式，病毒掃描程式等程式使用其他程式作為其資料。

要將資料位元組儲存在檔案中，必須以「檔案格式」序列化。通常，程式儲存在與其他資料不同的特殊檔案類型中。可執行檔包含程式；所有其他檔案也是資料檔案。然而，可執行檔也可能包含內建於程式中的「線上」資料。特別地，一些可執行檔具有資料段，其名義上包含常數和初始值（兩個資料）。

例如：使用者可能會首先指示作業系統從一個檔案載入文書處理程式，然後使用文書處理程式編輯儲存在另一個檔案中的文件。在此範例中，該文件將被視為資料。如果字處理器還具有拼寫檢查器，則拼寫檢查器的字典（單詞列表）也將被視為資料。該演算法使用的拼寫檢查建議更正是，要麼機器碼的一些解釋的資料或文字程式語言。

## 主鍵和數值，結構和續寫性

資料中的鍵提供值的上下文。無論資料的結構如何，總是存在一個關鍵組件。資料和資料結構中的資料鍵對於給資料值賦予意義至關重要。沒有一個直接或間接與一個值結合的關鍵字，或者一個結構中的值的集合，這些值就變得毫無意義，不再是資料。也就是說，必須至少有一個與值組件相關聯的關鍵組件，以便將其視為資料。資料可以以多種方式在電腦中表示，具體如下：

### 隨機儲存

* 隨機存取記憶體儲存電腦處理器可以直接存取的資料。電腦處理器（CPU）可能僅操縱其內部的資料（處理器暫存器）或記憶體。這與資料儲存相反，處理器必須在儲存裝置（磁碟，磁帶...）和記憶體之間行動資料。RAM 是線性連續位置的一個或多個塊的陣列，處理器可以通過提供用於讀取或寫入操作的位址來讀取或寫入。RAM 的「隨機」部分意味著處理器可以在任何時間以任何順序在記憶體中的任何位置上操作。（另見記憶體管理單元）。在 RAM 中，資料的最小元素是「位元」。存取 RAM 的功能和限制是處理器特定的。通常主記憶體儲器或 RAM 設定為「集的陣列的電子開 / 關開關」或位置在位址 0（開始十六進位 0）。根據處理器（CPU）架構，每個位置通常可以儲存 8,16,32 或 64 個並列位。因此，儲存在 RAM 中的位元組中的任何值具有表示為與記憶體陣列中的第一記憶體位置的偏移的匹配位置，即 0 + n，其中 n 是記憶體位置陣列中的偏移量。

### 主鍵

* 資料主鍵不需要是記憶體中的直接硬體位址。間接，抽象和邏輯金鑰代碼可以與值相關聯地儲存以形成資料結構。資料結構具有從其中儲存資料值的結構開始的預定偏移（或連結或路徑）。因此，資料金鑰由結構的鍵加上結構中的偏移（或連結或路徑）組成。當重複這樣的結構時，將 [資料值和資料鍵] 的變化儲存在相同的重複結構中，結果可以被認為類似於表，其中重複結構的每個元素被認為是一列，結構的每個重複被認為是表的一行。

### 有規律的資料結構

* 重複資料結構的表格視圖只是許多可能性之一。重複資料結構可以分層次地組織，使得節點在父子關係的級聯中彼此連結。值和潛在的更複雜的資料結構連結到節點。因此，節點階層提供了用於定址與節點相關聯的資料結構的關鍵。這種表示可以被認為是倒置的樹。例如現代電腦作業系統檔案系統是一個常見的例子；而 XML 是另一個。

### 按主鍵分類資料

* 當資料按主鍵排序時，資料具有一些原生的特徵。主鍵的子集的所有值都顯示在一起。當通過具有相同金鑰的資料組順序通過或者主鍵的子集改變時，這在資料處理圓中被稱為中斷或控制中斷。它特別有助於資料值在金鑰子集上的聚合。

### 外圍儲存

* 直到非揮發性電腦記憶體如 USB 記憶棒的出現，傳統上通過將資料寫入諸如磁帶和磁碟機的外部塊裝置來實現持久資料儲存。這些裝置通常尋求磁媒介上的位置，然後讀取或寫入預定大小的資料塊。在這種情況下，媒體上的尋找位置是資料鍵，塊是資料值。早期的資料檔案系統或用於在資料檔案的磁碟機上預留連續塊的光碟作業系統。在這些系統中，檔案可能會被填滿，在所有資料都已寫入資料空間之前已經用盡。因此，未生產過多的未使用的資料空間被保留，以避免產生這種情況。這被稱為原始磁碟。後來的檔案系統引入了分割區。它們為分割區保留了磁碟資料空間塊，並且更經濟地使用了分配的塊，通過根據需要動態地將分割區的塊分配給檔案。為了實現這一點，檔案系統必須跟蹤目錄或檔案分配表中的資料檔案使用或未使用的塊。雖然這更好地利用了磁碟資料空間，但是它導致了磁碟上檔案的碎片化，以及由於延遲引起的伴隨的效能開銷。現代檔案系統動態重組碎片檔案以最佳化檔案存取時間。

### 索引資料

* 從更大的集合中檢索一小部分資料意味著依次搜尋資料。這是不經濟的。索引是從檔案，表和資料集中的資料結構中複製金鑰和位置位址的方法，然後使用逆向樹結構來組織它們，以減少檢索原始資料子集所需的時間。為了做到這一點，在檢索開始之前必須知道要檢索的資料子集的關鍵字。最流行的索引是 B 樹和動態雜湊金鑰索引方法。索引是歸檔和檢索資料的另一個昂貴的開銷。還有其他方式組織索引，例如排序金鑰或糾正數量（甚至金鑰和資料在一起），

### 抽象和簡介

* 物件方向使用兩個基本概念來理解資料和軟體：1）程式碼類的分類秩序結構，這是分層資料結構的一個例子；和 2）在執行時，建立對已經從類別館實例化的物件的記憶體中資料結構的資料鍵參照。只有在實例化之後，存在指定類的執行物件。在物件的金鑰參照無效後，該物件參照的資料不再是資料，因為資料金鑰參照為空；因此物體也不再存在。儲存物件的資料的儲存單元然後稱為垃圾，並重新分類為可用於重用的未使用的記憶體。

### 資料庫資料

* 資料庫的出現為永續性資料儲存引入了更多的抽象層。在持久化資料時，資料庫使用元資料和客戶端和伺服器系統之間的結構化查詢語言協定，通過網路進行通信，使用兩階段提交紀錄檔記錄系統來確保事務完整性。

### 並列分散式資料處理

* 現代可延伸 / 高效能資料永續性技術依賴於高頻寬網路上的許多商用電腦的大規模並列分散式資料處理。一個例子是 Apache Hadoop。在這樣的系統中，資料分布在多個電腦上，因此系統中的任何特定電腦必須直接或間接地表示在資料的關鍵字中。這使得能夠區分兩個相同的資料集，每個在同一時間在不同的電腦上進行處理。

## 另見

## 參考