核心流程
任何使用數據庫的軟件(CS/BS 架構)基本遵循「前端交互 → 後端處理 → 數據庫操作 → 結果返回」模式:
- 前端收集輸入:用戶在登錄框輸入賬號、密碼,點擊登錄。
- 前端發送請求:通過 HTTPS/TCP 將加密後的憑證發送給應用服務器。
- 後端驗證邏輯:
- 建立數據庫連接(連接池)。
- 執行參數化 SQL:
SELECT pwd_hash, salt FROM users WHERE account = ?。
- 在應用層對用戶輸入密碼進行相同雜湊運算,與數據庫存儲的雜湊值比對(切勿在 SQL 中明文比對密碼)。
- 返回結果:比對成功生成 Session/Token 返回前端;失敗返回錯誤碼。
- 後續業務:前端攜帶 Token 訪問受保護資源,後端校驗 Token 有效性。
關鍵技術點
- 連接池:避免頻繁建連開銷(HikariCP、Druid、C3P0)。
- 參數化查詢/預編譯:防 SQL 注入,提升性能。
- 事務控制:轉賬、扣庫存等多表操作需 ACID 保證。
- ORM 框架:Hibernate、MyBatis、Entity Framework 簡化 CRUD,但複雜查詢仍需手寫 SQL。
- 讀寫分離/分庫分表:高併發場景下擴展數據庫吞吐。
推薦學習資源
- 《數據庫系統概念》(第 6 版)—— 理論基礎
- 《高性能 MySQL》(第 3 版)—— 實戰優化
- 《SQL 必知必會》—— 快速入門 SQL
- 官方文檔:MySQL、PostgreSQL、SQL Server、Oracle
總結
軟件使用數據庫本質是「應用代碼通過標準協議(JDBC/ODBC/ADO.NET)向數據庫服務器發送 SQL 指令,獲取結果集並映射為對象」。掌握 SQL、事務、索引、鎖機制,比熟悉具體框架更重要。