存取

一般是用作計算機術語,存取是一個動作合成詞,存指代計算機的寫入,取指代計算機的讀取(閱讀或複製取出)。

基本介紹

  • 中文名:存取
  • 外文名:Access
  • 領域:通信技術
分類,隨機存取,網路存取,循序存取,數據存取,原理,命令,數據集,

分類

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

隨機存取

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

網路存取

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

循序存取

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

數據存取

數據訪問(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 等。

相關詞條

熱門詞條

聯絡我們