1.建立客戶與服務器之間的連接,包括網絡連接、客戶進程與服務器進程之間的連接;
2.客戶端通過網絡發送SQL語句給服務器,用來查詢或操作服務器中的數據或數據庫對象;
3.服務器接收到SQL語句後,對其進行語法分析、優化和編譯後執行;
4.如果執行的語句產生一個結果集,服務器通過網絡把結果集返回給客戶;
5.客戶端對收到的結果作相應的處理。
在客戶/服務器體系,有兩種數據庫引擎結構,即多進程數據庫引擎和單進程、多線程引擎結構。
多進程結構即多個可執行程序同時運行。每當用戶登錄到數據庫系統時實際上都啟動了數據庫引擎的一個獨立實例。存在起協調作用的進程協調進行之間的通訊以保證當多用戶訪問相同數據時數據的完整性。多進程數據庫引擎一般用在大型機數據庫上。
單進程多線程數據庫引擎在原理上和多進程數據庫引擎類似,不同的是多線程數據庫引擎自己負責調度各應用程序占用CPU的時間,而不依賴於操作系統。這樣,多線程數據庫引擎自我保護的能力更強。
Oracle Server是一個真正的多進程數據庫引擎,Sybase數據庫管理系統采用的是單進程多線程的引擎結構。