信息的洪流並沒有減弱。人們被各種信息淹沒,如電視、互聯網和塞滿郵箱的廣告。遺憾的是,隨著信息量的增加,信息質量卻在急劇下降。書籍被期刊和雜誌取代,然後被報紙、網頁和博客取代,最後被Twitter取代。信息量變得越來越龐大,越來越不可靠。更糟糕的是,互聯網時代的數據永遠不會真正消失。它不斷積累,隱藏在各種文件日誌和數據庫中。谷歌前CEO埃裏克·施密特(Eric Schmidt)稱,人類在兩天內創造的數據量相當於有文字記錄出現以來2000年(或任何壹年)創造的數據量,即只需要兩天就能創造出約EB(即1億GB)的數據,而且步伐還在不斷加快。
當以電子方式存儲數據成為現實時,它也帶來了自己的規則。為了理解數據的含義,人們必須學習相應的語言關系數據庫理論,這給人們帶來了控制電子數據的能力。它使用結構化查詢語言SQL來處理數據,關系數據庫迄今為止取得了巨大的成功。
自從關系數據庫在20世紀90年代被首次提出以來,關系數據庫和SQL已經取得了很大的進步。關系數據庫和SQL中包含的概念對於初學者來說可能不夠直觀。這本書將幫助讀者理解SQL背後的原理,不僅是SQL的強大功能,還有它的局限性。
閱讀器對象
本書從入門知識開始,介紹讀者不需要有SQL或者關系數據庫的預備知識。這本書將帶領讀者進入SQL的發現之旅,讀者將親自創建示例數據庫。既結合了本書介紹的SQL概念,又通過反復重構引入了數據建模、查詢調整和優化的概念。這本書還介紹了壹些適用於每個SQL的最佳實踐。
本書適合準備學習關系數據庫編程的計算機程序員,也適合希望從數據庫中釋放更多能力的商業用戶。SQL是關系數據庫世界的通用語言,任何有興趣學習這種強大語言的人都適合閱讀這本書。
之前有壹些數據庫使用經驗的讀者可以跳過前兩章,直接跳到更高級的內容。當然,他們也可以回顧壹下這兩章介紹的重要原理。
摘要
這本書介紹了目前已經發布的SQL標準SQL:它側重於SQL語言的實際應用,強調不同SQL實現之間的差異。本書介紹了很多例子,其中使用了現代數據庫系統的最新版本來實現SQL。這些數據庫要麽是可免費下載的Express版本,要麽是免費的開源軟件。此外,本書還介紹了當前最流行的。流行的桌面數據庫軟件Microsoft Access和OpenOffice本書介紹的數據庫包括
IBM UDB公司
甲骨文g
Microsoft SQL Server / /
MySQL /
壹種數據庫系統
Microsoft Access /
帶有嵌入式HSQLDB的OpenOffice BASE
頁狀構造
本書通過壹個反復重構數據庫的過程,壹步步向讀者介紹了關系數據庫的壹般概念,尤其是SQL中的概念。在這個過程中,對開頭介紹的每壹個概念都進行了更詳細的分析,從而啟發讀者理解這些概念背後的關聯性。
第壹章簡要介紹SQL及其背後的關系理論。本章只是簡單介紹壹下數據庫最基本的概念,後面的章節都是以它為基礎的。本章介紹了數據和信息的區別,壹些基本原理需要在後面的章節中進壹步說明。本章還概述了本書中使用的關系數據庫管理系統(RDBMS)。
根據關系模型的分析,應該對無組織數據進行結構化處理,以滿足關系模型的要求,即先將冰箱磁鐵模式轉換為壁櫥模式,然後再將其轉換為關系數據庫中的實際表。
本章進壹步介紹了關系模型、數據庫的基本設計和標準化的基本過程。本章還介紹了壹些用於對標準化數據執行查詢的SQL工具。此外,本章還介紹了動態SQL。
SQL是壹種基於集合的語言,這使得它既有強大的功能,也有壹定的局限性。第1章討論了最流行的過程擴展(如Oracle的PL/SQL和Microsoft的Transact SQL)。本章還介紹了SQL函數,它可以作為壹種補充手段,彌補SQL在處理基於記錄的邏輯時的固有缺點。
第1章介紹了數據的匯總,並總結了這種方法的能力和局限性。本章將前壹章中介紹的SQL聚合函數提升到了壹個新的水平,並演示了如何使用SQL來獲取數據的聚合值。
第壹章介紹了子查詢。當數據集交錯,查詢數據需要依靠多級數據過濾時,可以將壹個查詢作為另壹個查詢的過濾條件,調整SQL語句來代替子查詢,這是貫穿本書的主題之壹。
SQL的強大功能在於處理存儲在多個關系表中的數據。第1章介紹了SQL如何將這些關系表的數據統壹到壹個數據集中。
這本書介紹了SQL的基本概念,打開了進壹步學習SQL的大門。第1章是SQL探索之旅的下壹站,介紹了進壹步學習SQL應該考慮的問題。
第二章介紹了性能優化技術,描述了優化查詢和數據庫環境的常用方法和最佳實踐。第二章討論了多用戶環境下關系數據庫的工作原理,並介紹了用SQL實現的處理並發數據訪問的機制。
SQL的所有操作都與結構和順序有關。畢竟是結構化查詢語言,真實的數據可以是各種規模和結構。第1章介紹了SQL如何處理半結構化數據(XML文檔)、非結構化數據(文本文件)和二進制數據(比如圖片和聲音)。
第壹章簡要討論了數據庫領域的最新發展,如列數據庫、NoSQL數據庫、對象數據庫和面向服務架構(SOA),以及它們與SQL的關系。
對於本書中討論的每個數據庫,附錄A描述了逐步安裝示例數據庫庫的過程,以及如何使用特定的指令來生成庫數據庫的初始數據。這些SQL腳本可以從本書的支持網站下載。
本書中介紹的關系數據庫軟件包的附錄B提供了詳細的安裝過程。
附錄C描述了每個數據庫提供的工具,使用這些工具可以訪問、創建數據庫對象和操作存儲在表中的數據。
附錄D介紹了開源項目SQuirreL通用SQL客戶端,可以通過Java數據庫連接(JDBC)接口訪問各種數據庫。本附錄詳細介紹了如何安裝和配置軟件。
學習這本書的條件
為了充分利用本書,建議下載並安裝本書使用的關系數據庫軟件。這些軟件大部分都是免費的或者有免費試用版。您可以按照附錄b中介紹的步驟安裝這些軟件。
支持網站和代碼
在學習每壹章的時候,建議下載相應的SQL腳本來創建和生成數據庫。可以從wrox或agilitator下載到這本書的代碼可以在支持網站中使用,以找到具有指定名稱的書。找到指定的圖書後,單擊下載代碼鏈接訪問允許下載的文件。這些代碼可以通過HTTP或FTP下載。所有文件都以ZIP格式保存。
這本書的ISBN用ISBN號找這本書比用書名更方便。
另外,妳可以從下載頁面Wrox/dynamic/books/download aspx下載這本書的代碼。只需點擊DiscoveringSQL:初學者實用指南的鏈接,即可訪問允許下載的文件。
勘誤表
雖然我們已經盡了最大努力確保文章或代碼中沒有錯誤,但錯誤總是不可避免的。如果您在本書中發現錯誤,如拼寫錯誤或代碼錯誤,請告訴我們。我們將非常感激勘誤表可以幫助其他讀者避免誤入歧途,當然也有助於提供更高質量的信息。
要在網站上找到這本書英文版的勘誤表,可以登錄// Wrox通過搜索工具或者書名列表找到這本書,然後在這本書的詳細頁面點擊書籍勘誤表鏈接。在此頁面上,您可以查看WROX編輯器提交並粘貼的所有勘誤表。完整的書單還包括每本書的勘誤表。網址是wrox /misc pages/booklist s。
如果您在勘誤表中沒有發現任何錯誤,您可以在wrox /contact/techsupport s上填寫上表,並將發現的錯誤發送給我們。我們將檢查信息,如果正確,我們將把它放在本書的勘誤表中,並在本書的後續版本中更正這些問題。
p p wrox
要與作者和同行討論,請加入P2P Wrox上的P2P論壇。該論壇是壹個基於網絡的系統,方便您發布與Wrox書籍相關的新聞,並與其他讀者和技術用戶交流思想。本論壇提供訂閱功能,當論壇有新消息時,可以發送給妳感興趣的話題。WROX作者、編輯等行業專家和讀者都會來這個論壇討論問題。
//p p wrox上有很多不同的論壇,不僅對閱讀這本書有幫助,對開發自己的應用也有幫助。要加入論壇,您可以遵循以下步驟。
()轉到p p wrox並單擊註冊鏈接。
()閱讀使用協議,然後單擊同意按鈕。
()填寫加入論壇所需的信息以及您想要提供的其他信息,然後單擊提交按鈕。
()您將收到壹封電子郵件,介紹如何驗證帳戶並完成加入過程。
不加入P2P也可以看論壇上的留言,但是如果妳想發布自己的留言就必須加入論壇。
加入論壇後,您可以發布新消息和回復其他用戶發布的消息。妳可以隨時在網上閱讀信息。如果您希望網站將特定論壇中的消息發送給您自己,您可以點按論壇列表中論壇名稱旁邊的訂閱此論壇圖標。
更多關於使用Wrox P P的信息,請閱讀P P FAQ了解論壇軟件的工作以及P P和Wrox書籍的很多常見問題。要閱讀常見問題,您可以點擊任何P2P頁面上的常見問題鏈接。
?返回目錄SQL實戰初學者
?編輯推薦
?Oracle索引技術
?高性能MySQL
Lishi Xinzhi/Article/program/SQL/201311/16496