歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> Unix資訊 >> 淺析Unix操作系統數據庫

淺析Unix操作系統數據庫

日期:2017/3/6 11:42:45   编辑:Unix資訊

在Unix操作系統中,我們要對數據庫了解很多,因為數據庫很重要,今天,我們就來講解Unix操作系統中一些數據庫方面的工具。Unix操作系統提供多種數據庫,其中許多是開放源碼的,Unix操作系統一些數據庫適用於各種應用程序,Unix操作系統一些數據庫是專用的。但是,Unix操作系統大多數數據庫是很大的獨立應用程序(例如,MySQL 需要單獨的安裝、一些配置和它自己的守護進程),對於許多軟件可能不需要使用這麼復雜的數據庫。

請考慮一個在桌面上使用的地址簿程序:它適合部署 MySQL 來存儲姓名和電話號碼嗎?可能不適合。另外,如果應用程序要在非常小的設備或能力很有限的計算機上運行,那麼應該怎麼辦?這類硬件可能不支持多處理、大量內存占用或對物理存儲的大量需求。

顯然,Unix操作系統可以使用嵌入式數據庫。通常情況下,嵌入式數據庫打包為庫,與應用程序代碼直接鏈接。這種解決方案讓應用程序獨立於外部服務,但是也要付出一定的代價:通常不能用 Structured Query Language (SQL) 表達查詢。

SQLite 結合了這兩方面的優勢:這個軟件很小,可以把它嵌入任何應用程序,同時可以用 SQL 查詢數據。PHP 和 Ruby on Rails 使用 SQLite 作為默認的存儲引擎,Apple iPhone 也是如此。

Unix操作系統為了構建 SQLite,需要從 SQLite 下載頁面下載源代碼集(由所有源代碼組成的單一文件)、解壓它並運行 ./configure && make && sudo make install。

  1. $ # As of March 2009, the latest version was 3.6.11.
  2. $ wget http://www.sqlite.org/sqlite-amalgamation-3.6.11.tar.gz
  3. $ tar xzf sqlite-amalgamation-3.6.11.tar.gz
  4. $ cd sqlite-3.6.11
  5. $ ./configure && make
  6. $ sudo make install

Unix操作系統構建過程生成一個庫和相關聯的應用程序編程接口 (API) 頭文件,以及一個單獨的命令行實用程序 sqlite3,它有助於研究特性。用數據庫名啟動 sqlite3 即可創建數據庫。甚至可以在命令行上直接放上 SQL,這對於腳本編程非常有意義:

  1. $ sqlite3 comics.db "CREATE TABLE issues \
  2. (issue INT PRIMARY KEY, \
  3. title TEXT NOT_NULL)"
  4. $ sqlite3 comics.db "INSERT INTO issues (issue, title) \
  5. VALUES ('1', 'Amazing Adventures')"
  6. $ sqlite3 comics.db "SELECT * FROM issues"
  7. 1|Amazing Adventures

第一個命令創建數據庫(如果數據庫還不存在的話)和一個表,這個表包含兩列 —— 期號和標題。Unix操作系統第二個命令插入一行,最後一個命令顯示表的內容。

SQLite 提供觸發器、日志記錄和序列。SQLite 還是無類型的,除非您指定類型。例如,這裡聲明的 issues 表沒有類型,但是仍然可以正常工作:

  1. $ sqlite3 comics.db "create table issues (issue primary key, title)"
  2. $ sqlite3 comics.db "INSERT INTO issues (issue, title) \
  3. VALUES (1, 'Amazing Adventures')"
  4. $ sqlite3 comics.db "SELECT * FROM issues"1|Amazing Adventures

沒有類型是一個特性,而不是 bug,它有許多應用。大家可以看出Unix操作系統中,SQLite能夠適合大多數場合的數據庫。這給我們帶來了很大的方便。讓我們一起運用它吧。

Copyright © Linux教程網 All Rights Reserved