本文主要介紹的是Linux操作系統應用集成MySQL數據庫訪問技巧,我們大家都知道MySQL(和PHP搭配之最佳組合),是一種利用第三方的相關數據庫來開發電子貿易與一些其它復雜、動態網站的有效工具。
MySQL(和PHP搭配之最佳組合) 是一種快速、多線程和全功能的 SQL服務器。
除了描述MySQL(和PHP搭配之最佳組合)系統的基本體系結構以外,本文還提供了以Tcl和C++編寫的簡單示例,幫助您開發支持數據庫的Web應用。一個必須存儲或訪問大量信息的應用程序可以從使用第三方數據庫產品中受益匪淺。在對信息的MySQL 數據庫訪問必須在程序的多個實例上進行時更是如此。基於Web的應用包括電子貿易)就是它的良好例證。
為什麼使用獨立數據庫?
Web服務器必須使其處理腳本有辦法來存儲有關供其以後MySQL 數據庫訪問的狀態信息。盡管有可能使用比較原始一些的方法--例如轉儲到文本文件或開發自制的迷你數據庫--但只有成熟的數據庫應用才能提供更為復雜的Web應用所需的所有服務。因為有一些免費獲得的軟件包可用於該目的,所以編寫定制的特定於應用的數據庫引擎並無太大好處。
另外,使用第三方數據庫還使Web開發者不必投入到開發和維護數據庫的任務中。
MySQL(和PHP搭配之最佳組合)數據庫
通過使用腳本語言和編譯型系統語言例如 C),將數據庫集成到Linux應用就可能相當容易。可免費獲得的MySQL(和PHP搭配之最佳組合)在GNU Public License下發行)數據庫提供了一系列復雜的SQL功能,並易於集成到應用中。MySQL(和PHP搭配之最佳組合)是快速、多線程的,並支持ANSI和ODBC SQL標准。
加上第三方軟件,MySQL(和PHP搭配之最佳組合)就支持用於事務處理應用的事務安全的表。
注:什麼是事務處理?
事務是需要以原子方式執行的對數據庫所做的一系列更改。它們要麼必須全部執行,要麼一個都不執行。 例如,在Web上銷售產品時所有必需的數據庫更改組成一個事務。數據庫需要同時減去客戶帳戶余額和產品庫存,否則失敗並且一個操作都不執行。
無論服務器出於何種原因發生崩潰都不應該引起事務被部分執行。例如帳單多算、產品沒有交付,或者庫存不實等都有可能是部分完成的事務的結果。支持事務處理的數據庫可以將一組數據庫代碼封裝在一個事務中,在事務執行期間的任何失敗會讓數據庫回滾到事務開始之前的狀態。
這是通過維護所有數據庫操作的日志,以及其原始狀態表的副本來實現的,在失敗後下一次重新啟動服務器時允許回滾操作。 這種時間和空間上的開銷是事務安全數據庫系統所必需的一種折衷。單一MySQL(和PHP搭配之最佳組合)服務器控制著一系列數據庫,它們都可以通過服務器以類似方式來MySQL 數據庫訪問。
每個數據庫實際上都是一組任意數量的表,概念與其它SQL數據庫的用戶類似。每個表都由帶類型的數據列組成。 數據可以是整數、實數值、字符串或其它類型,包括原始二進制流。 表中的每一行都是存儲在數據庫中的一個記錄。
MySQL(和PHP搭配之最佳組合)被設計和構造成客戶機/服務器。 服務器MySQL(和PHP搭配之最佳組合)d可以在能從因特網MySQL 數據庫訪問到的任何機器上運行最好與Web服務器在同一台或最接近的一台機器上,以確保合理的響應時間)。MySQL(和PHP搭配之最佳組合)客戶機使用請求來與MySQL(和PHP搭配之最佳組合)服務器聯系,修改或查詢服務器所擁有的數據庫。
在支持數據庫的Web應用程序中,數據庫客戶機是Web服務器或由Web服務器產生的CGI腳本。 這些客戶機可以用高級腳本語言或低級系統語言編寫,只要存在這種語言的數據庫API即可。在Linux中,大多數腳本語言是以C 實現的,因為存在MySQL(和PHP搭配之最佳組合) C API,所以要將MySQL(和PHP搭配之最佳組合)支持添加到任何現有的腳本語言或工具應該很容易。絕大部分腳本語言已經完成了這一步。