複製鏈接
請複製以下鏈接發送給好友

存取

鎖定
一般是用作計算機術語,存取是一個動作合成詞,存指代計算機的寫入,取指代計算機的讀取(閲讀或複製取出)。
中文名
存取
外文名
Access
領    域
通信技術

存取分類

  • 隨機存取
  • 網絡存取
  • 循序存取
  • 數據存取

存取隨機存取

計算機科學中,隨機存取(有時亦稱直接訪問)代表同一時間訪問一組序列中的一個隨意組件。反之則稱順序訪問,即是需要更多時間去訪問一個遠程組件。介分兩者的傳統圖解就似比較一軸古代畫卷(循序︰所有在組件之前的物料必須事先捲開)及一本圖書(隨機︰可以隨時翻至任何一頁)。而更近現代的例子就如比較卡式磁帶(循序︰我們必須快速跳過早前的歌曲才可聆聽後期的歌曲)及一張CD(隨機︰我們可以隨意跳至我們想要之處)。不過,RAM一詞卻被用以作為電腦中的半導體芯片內存電路。
數據結構中,隨機存取暗指可由一堆數字之中,能夠持續訪問N值的能力,而且除了數組(及相關結構,例如動態數組)以外,絕少數據結構能夠作出類似程序。另外,隨機存取對不少算法,如快速排序及二元搜索而言不可或缺。其他數據結構,如合併排序,則憑隨機存取作出有效率的輸入、刪除抑或搜索功能。 [1] 

存取網絡存取

互聯網存取(英語:Internet access),又譯為互聯網接入,俗稱上網連網連線,將個人電腦終端機個人電腦、行動裝置與電腦網絡,透過各種連結技術與管道,連結到互聯網(Internet)上,讓使用者能夠使用互聯網上提供的各種服務(例如電子郵件World Wide Web)。為公眾提供互聯網存取服務的公司或組織,稱為互聯網服務供應者(Internet service provider,ISP)。 [2] 

存取循序存取

計算機科學中,循序存取意指一組序列(例如存於記憶數組、磁盤軟件或是磁帶中的資料)是以預先安排,有秩序的方式被人存取。循序存取有時只是唯一的存取數據方式,磁帶即屬一例。循序存取亦有可能成為有選擇性的方式,就如我們純粹有意順序處理一組資料元件。
數據結構當中,如果某人只能開啓一組包含特一排列的數值,該組數據結構即屬循序存取,而正準的例子就如連結串列。另外,含有循序存取的索引需要大O符號(k值)的若干時間,而k值則為變址。結果,不少算法如快速排序及二元搜尋會將算法變壞,令其比起原本算法變得較底效率。因此,這類算法之後會成一組缺乏隨機存取的無用算法。相反,通常不會作出索引的部分算法只需循序存取方式,例如合併排序,它們就無需遭受處置。 [3] 

存取數據存取

數據訪問(Data Access),是應用程序鏈接到數據源 (Data Source) 訪問數據的一種行為 (Behavior),在大多數的應用程序中,經常會需要使用到數據,而這些數據可能來自很多不同類型的來源,像是數據庫(Database),網絡數據源,本機文件,或是異質性的來源 (例如在 Mainframe 上的IBM DB2數據庫),經由一層 (或多層) 中介代碼或中間件(Middleware) 進入數據源中,並且取出數據後送迴應用程序中來處理。

存取原理

大多數數據訪問的接口規格都是由連接 (Connection)命令 (Command),以及數據集 (Resultset)三個部分構成。
連接
連接是由應用程序通過調用數據訪問提供接口提供的函數,以連接的必要信息為主,與數據庫之間所創建的一條實體數據鏈接,鏈接的方式要視數據庫以及數據庫所在位置而定,這些連接所需要的必要信息,通常都會定義在一組字符串中,此字符串即稱為連接字符串 (Connection String),連接字符串在 JDBC 與 OLE DB 的應用程序中隨處可見。
一個典型的連接字符串如下:
OLE DB for ODBC:
Driver={mySQL};Server=myServerAddress;Option=131072;Stmt=;Database=myDataBase; User=myUsername;Password=myPassword;
OLE DB for SQL Native Client:
Provider=SQLNCLI;Server=myServerName\theInstanceName;Database=myDataBase;Trusted_Connection=yes;
當連接打開到關閉之間,應用程序可以利用命令來調用或訪問數據源中的數據,但不同的應用程序類型,控制數據庫連接生命期的方式也不同,例如在網站類型的應用程序 (Web Application) 中,為了不讓數據庫的資源在多人環境下被鎖定太久,因此連接通常只會在實際運行數據訪問前才會打開,在訪問完成後立刻關閉。

存取命令

命令是由應用程序經由連接送入數據源的指令或數據,通常是SQL指令(或預存程序)以及其參數,或者是由數據源所支持的其他控制碼等,命令送入數據庫運行後,視命令類型來決定會不會傳回數據集,像是 SQL 的 SELECT 指令會傳回結果集,而 INSERT, UPDATE, DELETE 會回傳受影響的列數 (可以由數據庫控制不傳回)。

存取數據集

數據集是由命令送入數據源後所傳回,帶有結果數據錄的集合,數據集可視為一個小型的數據表格,數據訪問接口也提供數據集瀏覽的 API 來讓應用程序訪問並使用數據集中的數據,大多數數據集的瀏覽接口都是由高級的 API 來提供,例如 ADO 是由 Recordset 來封裝,JDBC 由 Resultset 來封裝,而 ADO.NET 則是用 DataReader 來封裝。
部分數據集接口也提供在不與數據庫連接下訪問的暫存數據集服務,例如 ADO.NET 中的 DataTable,DataSet 等。 [3] 
參考資料
  • 1.    International Business Machines Corporation. Data Processing Division (1966). Introduction to IBM Direct-access Storage Devices and Organization Methods. International Business Machines Corporation. pp. 3–. Retrieved 2 October 2013.
  • 2.    Berger, Lars T.; Schwager, Andreas; Pagani, Pascal; Schneider, Daniel M. (February 2014). MIMO Power Line Communications: Narrow and Broadband Standards, EMC, and Advanced Processing. Devices, Circuits, and Systems. CRC Press. ISBN 9781466557529.
  • 3.    Irfan Ahmad, Easy and Efficient Disk I/O Workload Characterization in VMware ESX Server, IISWC, 2007.