《Oracle數(shù)據(jù)庫應用與實踐》是作者在多年從事Oracle數(shù)據(jù)庫教學和開發(fā)的基礎上編寫而成的。本書從應用與實踐的角度出發(fā),全面介紹了Oracle數(shù)據(jù)庫應用與開發(fā)技術(shù)。書中通過大量的示例代碼和案例分析,并配以習題和上機練習,強化基本概念,著重訓練學生的動手能力。通過閱讀本書,讀者能夠快速掌握Oracle開發(fā)的方方面面。另外,本書免費提供教學課件、案例源代碼和習題答案等教學資源(需要下載)。
《Oracle數(shù)據(jù)庫應用與實踐》共14章,分為3篇。第1篇為基礎篇,涵蓋的主要內(nèi)容有數(shù)據(jù)庫基礎、Oracle數(shù)據(jù)庫體系結(jié)構(gòu)、Oracle數(shù)據(jù)庫常用工具、表空間和數(shù)據(jù)文件管理、Oracle模式對象、SQL語言基礎。第2篇為進階篇,涵蓋的主要內(nèi)容有SELECT高級查詢、PL/SQL編程基礎、存儲過程與函數(shù)的創(chuàng)建、觸發(fā)器和包的創(chuàng)建與應用、Oracle安全性管理、數(shù)據(jù)庫備份和恢復。第3篇為高級篇,涵蓋的主要內(nèi)容有系統(tǒng)性能及語句優(yōu)化、Oracle數(shù)據(jù)庫挖掘技術(shù)等,最后還通過數(shù)據(jù)庫綜合實例學習了Oracle開發(fā)的經(jīng)驗和技巧。附錄中提供了實驗指導和實習、常用Oracle使用技巧及Oracle認證考試等內(nèi)容。
《Oracle數(shù)據(jù)庫應用與實踐》內(nèi)容豐富,注重實踐,適合Oracle初學者閱讀,尤其適合作為大中專院校教材和教學參考書使用。對于Oracle數(shù)據(jù)庫管理和開發(fā)人員及相關(guān)專業(yè)人士,本書也是不可多得的參考書。
快速了解本書精華內(nèi)容
Oracle數(shù)據(jù)庫概述
Oracle數(shù)據(jù)庫體系結(jié)構(gòu)
Oracle數(shù)據(jù)庫常用工具
表空間和數(shù)據(jù)文件管理
Oracle模式對象
SQL語言基礎
SELECT高級查詢
PL/SQL編程基礎
存儲過程、函數(shù)、觸發(fā)器和包
Oracle安全性管理
數(shù)據(jù)庫備份和恢復
系統(tǒng)性能及語句優(yōu)化
Oracle數(shù)據(jù)挖掘技術(shù)
數(shù)據(jù)庫應用綜合實例
實驗指導與實習
Oracle常用語句與使用技巧
Oracle數(shù)據(jù)庫認證考試介紹與樣題
從應用與實踐出發(fā),全面介紹了Oracle數(shù)據(jù)庫管理與開發(fā),力求讓不同層次的讀者都可以快速撐握Oracle,并能初步了解Oracle數(shù)據(jù)挖掘的高級應用 290個實例、10個應用案例、1個綜合項目案例、300個練習題、8個實驗指導、21個Oracle常用語句及技巧、10個Oracle認證考試樣題 介紹了Oracle 11g、12c的最新內(nèi)容以及Oracle 11g認證考試內(nèi)容,涵蓋Oracle的基本使用、技術(shù)原理、SQL語句、PL/SQL、備份與恢復、應用技巧等 包含了Oracle 開發(fā)人員、DBA及系統(tǒng)分析人員必須要掌握的知識,適合Oracle數(shù)據(jù)庫管理與開發(fā)人員、Oracle認證考試學員、教師和學生等閱讀 市場上唯一一本介紹Oracle數(shù)據(jù)挖掘高級應用的圖書,每章都有詳細的案例分析和實踐練習,最后還提供了課程的實驗指導 涵蓋Oracle 11g的體系結(jié)構(gòu)、應用技術(shù)及PL/SQL在實際項目中要重點掌握的內(nèi)容 結(jié)合大量示例對初學者經(jīng)常出現(xiàn)的一些問題進行了歸納和總結(jié),采用了大量的實例和常見問題分析,涵蓋Oracle數(shù)據(jù)庫的常用知識點和使用技巧 所有實例都采用代碼、圖示相結(jié)合的方式,做到了明確直觀,大多知識點使用了SQL語句和圖形界面操作相對照的方式進行講解 對每個知識點都指明了核心要點和使用技巧,使讀者能夠明確學習的重點 課后習題涵蓋書中所有的知識點和基本語法,可為OCP和OCM等認證考試提供幫助 推薦閱讀(請點擊鏈接): 《Oracle數(shù)據(jù)庫管理從入門到精通》 (本書姊妹篇,全面介紹Oracle數(shù)據(jù)庫管理與維護,一本書徹底搞定Oracle數(shù)據(jù)庫管理與維護) 《Oracle PL/SQL從入門到精通》(PL/SQL經(jīng)典暢銷書,大量讀者好評,Oracle進階必讀) 《SQL Server 2012王者歸來:基礎、安全、開發(fā)及性能優(yōu)化》 (全面、深入、實用,全程視頻教學) “Linux典藏大系” (叢書暢銷10萬冊,全面、詳細、深入、實用,Linux愛好者必讀經(jīng)典) 《程序員的數(shù)學思維修煉(趣味解讀)》 (專門為程序員而寫的數(shù)學書,生動有趣,程序員必讀!)
方巍,博士、博士后、副教授、碩導、高級工程師。中國計算機學會高級會員、ACM會員、中國系統(tǒng)分析師協(xié)會(CSAI)顧問團專業(yè)顧問、江蘇省計算機學會會員和江蘇省人工智能學會委員、江蘇省政府采購招標評審專家。有多年的JavaEE和數(shù)據(jù)庫軟件開發(fā)與設計經(jīng)驗,深入理解數(shù)據(jù)庫系統(tǒng)的應用與開發(fā)過程。目前已主持了2項省部級項目和3項市廳級項目,參與了國家自然科學基金、教育部重點科研項目、江蘇省重大科技支撐計劃等國家級和省部級科研項目共8項。在國際和國內(nèi)相關(guān)學術(shù)會議和核心期刊上發(fā)表了論文20余篇,其中被SCI和EI檢索15篇。獲得了國家發(fā)明專利授權(quán)6項和軟件著作權(quán)7項。研究興趣包括信息集成、云計算和大數(shù)據(jù)挖掘等。
文學志,博士、博士后、碩導、副教授。畢業(yè)于東北大學計算機應用技術(shù)專業(yè)。中國計算機學會會員、ACM會員。有多年的數(shù)據(jù)庫軟件開發(fā)與設計經(jīng)驗,深入理解數(shù)據(jù)庫系統(tǒng)在企業(yè)信息化進程中的應用。先后參與了國家自然科學基金項目、國際科技合作重點項目、國家863高技術(shù)研究發(fā)展計劃項目及其他省級科研項目共5項。已經(jīng)在中文核心期刊及以上級別的雜志和國內(nèi)外重要學術(shù)會議上發(fā)表了學術(shù)論文近40篇。獲得了國家發(fā)明專利3項。研究興趣包括機器學習、模式識別和智能交通等。
第1篇 基礎篇第1章 Oracle數(shù)據(jù)庫概述 1.1 數(shù)據(jù)庫基本概念 1.1.1 數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng) 1.1.2 關(guān)系數(shù)據(jù)模型 1.1.3 關(guān)系數(shù)據(jù)庫系統(tǒng)的組成 1.2 了解常用的數(shù)據(jù)庫產(chǎn)品 1.3 Oracle簡介 1.3.1 Oracle的發(fā)展歷程 1.3.2 Oracle的特點 1.3.3 Oracle的工作模式 1.3.4 Oracle應用結(jié)構(gòu) 1.3.5 Oracle基本概念 1.4 Oracle 11g環(huán)境 1.4.1 在Windows環(huán)境下安裝Oracle 11g 1.4.2 在Linux環(huán)境下安裝Oracle 11g 1.4.3 Oracle網(wǎng)絡服務 1.4.4 Oracle啟動與關(guān)閉 1.5 Oracle安裝與使用常見問題 1.6 本章小結(jié) 1.7 習題與實踐練習第2章 Oracle數(shù)據(jù)庫體系結(jié)構(gòu) 2.1 物理存儲結(jié)構(gòu) 2.1.1 數(shù)據(jù)文件 2.1.2 控制文件 2.1.3 日志文件 2.1.4 其他文件 2.2 邏輯存儲結(jié)構(gòu) 2.2.1 表空間 2.2.2 段 2.2.3 區(qū) 2.2.4 塊 2.3 內(nèi)存結(jié)構(gòu) 2.3.1 系統(tǒng)全局區(qū)(SGA) 2.3.2 程序全局區(qū)(PGA) 2.4 Oracle進程結(jié)構(gòu) 2.5 數(shù)據(jù)字典 2.5.1 靜態(tài)數(shù)據(jù)字典 2.5.2 動態(tài)數(shù)據(jù)字典 2.6 本章小結(jié) 2.7 習題與實踐練習第3章 Oracle數(shù)據(jù)庫常用工具 3.1 SQL*Plus概述 3.2 啟動、退出SQL*Plus 3.3 預備知識 3.4 SQL*Plus運行環(huán)境 3.5 使用SQL*Plus命令 3.5.1 HELP命令 3.5.2 DESCRIBE 命令 3.5.3 編輯SQL*Plus命令 3.5.4 如何在SQL*Plus中使用變量 3.5.5 SQL*Plus的報表功能 3.6 企業(yè)管理器(OEM) 3.6.1 OEM的啟動 3.6.2 OEM的使用 3.7 實例分析 3.8 本章小結(jié) 3.9 習題與實踐練習第4章 表空間和數(shù)據(jù)文件管理 4.1 Oracle數(shù)據(jù)庫邏輯結(jié)構(gòu) 4.2 表空間和數(shù)據(jù)文件概述 4.3 表空間中的磁盤空間管理 4.4 創(chuàng)建表空間 4.4.1 創(chuàng)建永久表空間 4.4.2 創(chuàng)建臨時表空間 4.4.3 創(chuàng)建撤銷表空間 4.4.4 創(chuàng)建非標準塊表空間 4.4.5 創(chuàng)建大文件表空間 ……第5章 Oracle模式對象第6章 SQL語言基礎第2篇 進階篇第7章 SELECT高級查詢第8章 PL/SQL編程基礎第9章 存儲過程、函數(shù)、觸發(fā)器和包第10章 Oracle安全性管理第11章 數(shù)據(jù)庫備份和恢復第3篇 高級篇第12章 系統(tǒng)性能及語句優(yōu)化第13章 Oracle數(shù)據(jù)挖掘技術(shù)第14章 數(shù)據(jù)庫應用綜合實例附錄A 實驗指導與實習附錄B Oracle常用語句與使用技巧附錄C Oracle數(shù)據(jù)庫認證考試介紹與樣題參考文獻
第3章Oracle數(shù)據(jù)庫常用工具
在數(shù)據(jù)庫系統(tǒng)中,可以使用兩種方式執(zhí)行命令,一種方式是通過圖形化工具,另一種方式是直接使用各種命令。圖形化工具的特點是直觀、簡單、容易記憶,而直接使用命令則需要記憶具體命令的語法形式。但是,圖形工具靈活性比較差,不利于用戶對命令及其選項的理解;而命令則非常靈活,有利于加深用戶對復雜命令選項的理解,并且可以完成某些圖形工具無法完成的任務。在Oracle11g系統(tǒng)中,提供了用于執(zhí)行SQL語句和PL/SQL程序的工具SQL*Plus。本章先簡要地從整體上介紹SQL*Plus工具,然后再介紹一些SQL*Plus工具中常用的操作命令。
本章知識要點:
了解SQL*Plus的運行環(huán)境;
熟悉SQL*Plus基本的運行環(huán)境設置;
熟悉HELP命令;
熟練掌握DESCRIBE命令的使用;
掌握PROMPT命令的使用;
掌握SPOOL命令的使用;
熟練掌握COLUMN命令的應用;
熟練掌握緩存區(qū)命令的使用;
熟練掌握在SQL*Plus中編寫、運行腳本文件;
了解企業(yè)管理器的配置方法;
掌握企業(yè)管理器的啟動和停止方法;
了解企業(yè)管理器的功能及基本使用方法;
綜合使用SQL*Plus命令解決實際問題。
3.1SQL*Plus概述Oracle的SQL*Plus是與Oracle進行交互的客戶端工具。在SQL*Plus中,可以運行SQL*Plus命令與SQL語句。
我們通常所說的DML(DataManipulationLanguage)、DDL(DataDefineLanguage)和DCL(DataControlLanguage)語句都是SQL語句,它們執(zhí)行完后,都可以保存在一個被稱為SQLBuffer的內(nèi)存區(qū)域中,并且只能保存一條最近執(zhí)行的SQL語句。我們可以對保存在SQLBuffer中的SQL語句進行修改,然后再次執(zhí)行,SQL*Plus一般都與數(shù)據(jù)庫打交道。
除了SQL語句,在SQL*Plus中執(zhí)行的其他語句我們稱之為SQL*Plus命令。它們執(zhí)行完后,不保存在SQLBuffer的內(nèi)存區(qū)域中,它們一般用來對輸出的結(jié)果進行格式化顯示,以便于制作報表。
SQL*Plus是Oracle數(shù)據(jù)庫管理系統(tǒng)提供的一個工具軟件,它提供一個人機接口,通過SQL*Plus管理和維護數(shù)據(jù)庫,如常用的查詢數(shù)據(jù)表信息、系統(tǒng)信息和數(shù)據(jù)文件等。它提供了一系列指令,通過這些指令可以簡化用戶的指令或者格式化輸出信息。它還提供了編寫腳本文件的功能,可以極大地提高DBA管理數(shù)據(jù)庫的效率。SQL*Plus作為數(shù)據(jù)庫管理工具可以設置友好的環(huán)境變量,以方便DBA的管理和維護需求。
SQL*Plus作為與Oracle進行交互的常用工具,具有很強的功能,主要有:數(shù)據(jù)庫的維護,如啟動、關(guān)閉等,這些一般在服務器上操作。
執(zhí)行SQL語句執(zhí)行PL/SQL。
執(zhí)行SQL腳本。
數(shù)據(jù)的導出,報表。
應用程序開發(fā)、測試。
生成新的SQL腳本。
供應用程序調(diào)用,如安裝程序中進行腳本的安裝。
用戶管理及權(quán)限維護等。
3.2啟動、退出SQL*Plus
SQL*Plus是與Oracle數(shù)據(jù)庫進行交互的一個非常重要、在服務器端或客戶端都可以使用的工具,同時也是一個通用的、在各種平臺上幾乎都完全一致的工具。所以SQL*Plus的應用非常廣泛。而且初學者基本上都是使用SQL*Plus和Oracle數(shù)據(jù)庫進行交互的。
如果要使用SQL*Plus與數(shù)據(jù)庫服務器進行交互,首先要登錄到數(shù)據(jù)庫服務器上,這時在SQL*Plus進程和數(shù)據(jù)庫服務器之間將建立一條連接,它們以客戶/服務器模式工作。下面介紹幾種Oracle11g中SQL*Plus的啟動和退出方法。
方法一:在程序組中啟動、退出。
(1)依次選擇“開始”→“所有程序”→Oracle-OraDb11g_home1→“應用程序開發(fā)”→SQLPlus命令,如圖3-1所示。
圖3-1“開始”菜單中的“SQL*Plus”菜單項(2)在打開的SQLPlus窗口中出現(xiàn)了“請輸入用戶名”的提示字樣,在“請輸入用戶名”后輸入數(shù)據(jù)庫的username,并按Enter鍵。在“輸入口令”后輸入數(shù)據(jù)庫的登錄口令,并按Enter鍵。當出現(xiàn)“連接到”字樣和“SQL>”提示符后表示已經(jīng)成功連接數(shù)據(jù)庫,如圖3-2所示,SQL*Plus已經(jīng)準備好接收命令或者語句了。
圖3-2連接到默認數(shù)據(jù)庫
或者在“請輸入用戶名”后直接輸入username/password[@connect_identifier]而直接登錄連接到數(shù)據(jù)庫。其中[@connect_identifier]可選(connect_identifier是數(shù)據(jù)庫的連接標識符,其簡寫的別名就是網(wǎng)絡服務名)。
亦可在“請輸入用戶名”后輸入username,在“輸入口令”后輸入password[@connect_identifier]。
。3)在“SQL>”提示符后輸入命令或者語句,然后回車,就可以實現(xiàn)和數(shù)據(jù)庫的交互了。命令和語句不分大小寫,但建議將命令和語句保留字大寫。命令后面不需要(但可以)輸入分號“;”,而SQL語句的后面需要輸入分號來結(jié)束。
。4)在“SQL>”提示符后輸入exit或者quit后按Enter鍵即可退出SQL*Plus。
如果要在不退出SQL*Plus的情況下斷開與數(shù)據(jù)庫服務器的連接,則輸入DISCONNECT命令。如果要重新連接,或者在已經(jīng)連接的情況下以另一個用戶的身份連接,則使用CONNECT命令。這條命令的格式為:
CONNECT用戶名/口令assysdba
如圖3-3所示。
圖3-3connect連接另一個數(shù)據(jù)庫方式如果是SYS用戶,則使用assysdba或者assysoper參數(shù)。如果是遠程登錄,還要在用戶名和口令之后輸入網(wǎng)絡服務名。
方法二:在安裝目錄中找到sqlplus.exe啟動、退出。
在Oracle的BIN目錄中找到sqlplus.exe雙擊后啟動即可,如果是按默認的方式安裝的,則sqlplus.exe的路徑為D:\app\Administrator\product\11.2.0\dbhome_1\BIN。其他操作同方法一。
方法三:在運行中啟動、退出SQL*Plus。
依次選擇“開始”→“運行…”命令,在“運行”窗口中的“打開(O):”右邊的文本框中輸入sqlplus用戶名/口令@數(shù)據(jù)庫名,然后單擊“確定”按鈕即可。例如要連接到數(shù)據(jù)庫magical的用戶名為scott,口令是tiger,則在“運行”窗口中啟動SQL*Plus的方法如圖3-4所示。退出操作同方法一。
圖3-4在運行窗口中啟動SQL*Plus方法四:在命令行中啟動、退出。
這種方法的前提是在安裝Oracle11g時已經(jīng)在環(huán)境變量Path添加了sqlplus.exe程序的完整路徑D:\app\Administrator\product\11.2.0\dbhome_1\BIN。在安裝時這個環(huán)境變量是會自動添加的,所以無需做調(diào)整,為了證實,你可以在Path變量中找找上述路徑是否存在。
。1)依次選擇“開始”→“所有程序”→“附件”→“命令提示符”命令。打開命令提示符窗口。
。2)輸入sqlplus或者sqlpuls.exe后按Enter鍵。會出現(xiàn)“請輸入用戶名”字樣,后續(xù)的操作就同方法一了;蛘咧苯虞斎雜qlplususername/password[@connect_identifier]連接到數(shù)據(jù)庫,連接數(shù)據(jù)庫成功后的界面如圖3-5所示。后續(xù)的操作同方法一。
圖3-5命令方式啟動SQL*Plus方法五:快捷方式的啟動、退出。
。1)在D:\app\Administrator\product\11.2.0\dbhome_1\BIN(默認安裝情況下,視自己的安裝情況而定)目錄下找到sqlplus.exe。
。2)在sqlplus.exe圖標上單擊右鍵,在菜單中選擇“發(fā)送到”→“桌面快捷方式”命令。
。3)在桌面上找到sqlplus.exe的快捷方式,在其圖標上單擊右鍵,從快捷菜單中選擇“屬性”命令,在彈出的窗口中有個“目標”,將目標中的內(nèi)容改為D:\app\Administrator\product\11.2.0\dbhome_1\BIN\sqlplus.exeusername/password@網(wǎng)絡服務名。然后依次單擊窗口下面的“應用”和“確定”按鈕,如圖3-6所示。
圖3-6快捷方式啟動SQL*Plus
。4)雙擊桌面上SQL*Plus的快捷方式即可自動連接到指定的數(shù)據(jù)庫。后續(xù)的操作同方法一。
幾種連接方式的優(yōu)缺點如下:
命令行方式的優(yōu)點是可以使用復制、粘貼等功能;缺點是在命令行中帶參數(shù)啟動SQL*Plus程序就會在標題欄顯示該參數(shù),不利于保密。
快捷方式的優(yōu)點是無需每次都輸入用戶名、口令和連接字符串;缺點是容易暴露用戶名和口令,不安全