- SQL應用及誤區分析
- 張振磊
- 1278字
- 2019-01-04 16:42:03
前言
在信息管理系統中,SQL語句是非常重要的組成部分。雖然用戶不會直接使用SQL語句操作信息管理系統,但是,信息管理系統必須使用SQL語句去響應用戶的請求。作為信息管理系統的創造者和維護者,每一位相關IT人員都應該能熟練使用SQL。隨著社會的進步以及信息技術的革新,新的信息管理系統業務邏輯變得越來越復雜,業務數據量變得越來越龐大,SQL語句應該引起信息技術從業者的足夠重視。好的SQL語句能夠幫助信息管理系統更穩健地運行,相反,差的SQL語句則將極大地降低信息管理系統運行的效率,從而影響用戶的體驗。
編者自2008年從江南大學計算機科學與技術專業畢業后,一直從事醫院信息管理系統(HIS)的研發與技術支持工作。在近10年的項目實戰中,遇到了無數次由于不合理地使用SQL語句而造成的各種問題。有些性能問題甚至直到系統運行數年,數據量達到一定程度,已經影響用戶日常使用了才被發現。項目組中很多技術支持人員及工程人員對SQL語句沒有足夠的重視,以至于很多不合理的SQL語句年復一年地出現在軟件產品中,降低了產品的質量。一個好的程序員不是熟練使用開發語言就可以了,還要對SQL語句乃至數據庫知識有深入的了解。編者憑借多年的項目實戰經驗,并結合扎實的理論知識編寫了此書,希望能夠幫助更多的讀者學會SQL語句,并能正確、高效地使用它,從而保障信息管理系統高質量、高效率地運行。
不同于一些純理論書,本書在編寫過程中一直秉承理論結合實踐的原則來介紹SQL語句的應用。并且,用切身體會來分析平常遇到的一些SQL語句的使用誤區,以便讀者更好地理解SQL語句,也希望能夠幫助讀者在以后的工作中避免陷入誤區。本書所講的知識完全來自于編者近年來數百次的項目實戰。由于本書是一本介紹SQL語句的書籍,一些舉例盡量使用標準SQL。標準SQL以外的SQL相關知識,分別以SQL Server數據庫的T-SQL和Oracle數據庫的PL/SQL來講解。之所以選擇SQL Server數據庫和Oracle數據庫來講解,是因為在信息管理系統領域,SQL Server數據庫和Oracle數據庫具有非常高的市場占有率,而且很多讀者平時接觸最多的也是SQL Server數據庫和Oracle數據庫。
本書講解過程中用到的是Oracle數據庫管理系統中SCOTT模式下的關系模型。該關系模型主要包含4張表,分別是EMP(員工表)、DEPT(部門表)、SALGRADE(月薪等級表)以及BONUS(獎金表)。SCOTT模型是Oracle數據庫安裝過程中默認安裝的一個非常精簡并且容易理解的關系模型,非常適合SQL語句的學習。本書分別給出了這4張表在SQL Server數據庫與Oracle數據庫中的建表語句,以及基礎數據導入的SQL腳本,后續SQL語句的舉例也基本圍繞這4張表展開。
本書共分為14章,由易到難,逐步講解SQL語句的應用。其中,第1章是SQL概述;第2章簡單介紹SCOTT模式;第3~6章分別介紹SQL常用的增刪改查功能;第7~12章分別介紹常用的數據庫對象,包含視圖、索引、約束、觸發器、存儲過程和函數;第13章介紹非常重要的事務知識;第14章通過示例比較SQL Server數據庫和Oracle數據庫的差異。
本書在編寫過程中得到了創業軟件股份有限公司多位領導和同事的支持和幫助,感謝高級副總裁沈建苗、人力資源總經理于瑤以及研發中心各位同事。
由于編者的精力和水平有限,書中錯誤和疏漏之處在所難免,敬請廣大讀者批評指正。也可將問題以郵件形式發送到編者郵箱:zhangzl@bsoft.com.cn。