《21世紀(jì)高等學(xué)校規(guī)劃教材·計算機(jī)科學(xué)與技術(shù):數(shù)據(jù)庫原理與設(shè)計(Oracle版)》是一部關(guān)于現(xiàn)代數(shù)據(jù)庫系統(tǒng)的基本原理、技術(shù)和方法的教科書。第一篇介紹數(shù)據(jù)庫基礎(chǔ)知識;第二篇介紹數(shù)據(jù)庫管理系統(tǒng)及其事務(wù)管理與數(shù)據(jù)庫保護(hù);第三篇描述關(guān)系數(shù)據(jù)庫設(shè)計與實(shí)現(xiàn);第四篇給出一個具體的數(shù)據(jù)庫開發(fā)案例。
《21世紀(jì)高等學(xué)校規(guī)劃教材·計算機(jī)科學(xué)與技術(shù):數(shù)據(jù)庫原理與設(shè)計(Oracle版)》以數(shù)據(jù)庫系統(tǒng)的核心——數(shù)據(jù)庫管理系統(tǒng)——的出現(xiàn)背景為線索,引出數(shù)據(jù)庫的相關(guān)概念及數(shù)據(jù)庫的整個框架體系,理順了數(shù)據(jù)庫原理、應(yīng)用與設(shè)計之間的有機(jī)聯(lián)系。本書突出理論產(chǎn)生的背景和根源,強(qiáng)化理論與應(yīng)用開發(fā)的結(jié)合,重視知識的實(shí)用。
《21世紀(jì)高等學(xué)校規(guī)劃教材·計算機(jī)科學(xué)與技術(shù):數(shù)據(jù)庫原理與設(shè)計(Oracle版)》邏輯性、系統(tǒng)性、實(shí)踐性和實(shí)用性強(qiáng),可作為計算機(jī)各專業(yè)及信息類、電子類專業(yè)等數(shù)據(jù)庫相關(guān)課程教材,同時也可以供數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)設(shè)計人員、工程技術(shù)人員、考取數(shù)據(jù)庫工程師證書人員、自學(xué)考試人員等參閱。
教學(xué)目標(biāo)明確,注重理論與實(shí)踐的結(jié)合 教學(xué)方法靈活,培養(yǎng)學(xué)生自主學(xué)習(xí)的能力 教學(xué)內(nèi)容先進(jìn),反映了計算機(jī)學(xué)科的最新發(fā)展 敬學(xué)模式完善,提供配套的教學(xué)資源解決方案
數(shù)據(jù)庫課程不僅是大學(xué)計算機(jī)各專業(yè)的必修主干課程,也是其他專業(yè)如信息、電子等專業(yè)的必修課程。隨著對基于計算機(jī)網(wǎng)絡(luò)和數(shù)據(jù)庫技術(shù)的信息管理系統(tǒng)、應(yīng)用系統(tǒng)需求量的增加,使各類人員對數(shù)據(jù)庫理論與技術(shù)的需求也在不斷增加。于是,編寫一本具有系統(tǒng)性、先進(jìn)性和實(shí)用性,同時又能較好地適應(yīng)不同層面需求的數(shù)據(jù)庫教材無疑是必要的。
編寫本書的原因:
大多數(shù)高校的培養(yǎng)方案,是先開設(shè)數(shù)據(jù)庫原理,然后再開設(shè)一門具體的數(shù)據(jù)庫應(yīng)用語言,如SQL Server,最后開設(shè)Oracle。根據(jù)作者多年的教學(xué)經(jīng)驗(yàn),建議先開設(shè)SQL Server,然后再開設(shè)原理。因?yàn),原理部分的關(guān)系代數(shù)運(yùn)算和關(guān)系元組演算較抽象而且不易理解,通過對SQL Server的學(xué)習(xí),在理解和接收上會事半功倍。原理中的事務(wù)處理、安全性與完整性控制、故障恢復(fù)等內(nèi)容,在SQL Server的學(xué)習(xí)中,通過實(shí)驗(yàn)學(xué)生已經(jīng)體會到它們的作用和功能,在原理里進(jìn)一步對枯燥的理論知識進(jìn)行深入研究,便于學(xué)生的學(xué)習(xí)。眾所周知,各DBMS系統(tǒng)采用的SQL國際標(biāo)準(zhǔn)是一樣的,有了SQL Server的基礎(chǔ),再單獨(dú)開設(shè)Oracle數(shù)據(jù)庫課程,會有大部分內(nèi)容重復(fù),導(dǎo)致課堂效果不好,學(xué)生對Oracle的學(xué)習(xí)也不會太盡力。而Oracle作為現(xiàn)在很多軟件開發(fā)公司采用的后臺數(shù)據(jù)庫系統(tǒng),所以建議在數(shù)據(jù)庫原理里講授Oracle的內(nèi)容,通過實(shí)驗(yàn),使學(xué)生掌握Oracle的使用。而且對于每章內(nèi)容,都通過Oracle進(jìn)行實(shí)際操作,理論與實(shí)踐相結(jié)合,打破了原理純理論的枯燥教學(xué),使學(xué)生不僅掌握理論知識而且能動手解決實(shí)際問題。
利用計算機(jī)開發(fā)的應(yīng)用系統(tǒng),幾乎都需要數(shù)據(jù)庫系統(tǒng)的后臺支持,而且系統(tǒng)后期的使用、維護(hù)和管理也需要相關(guān)人員,所以,對于學(xué)生在畢業(yè)前,考取一個含金量較高的數(shù)據(jù)庫方面的證書是很有必要的。全國計算機(jī)技術(shù)與軟件專業(yè)技術(shù)資格(水平)考試中的數(shù)據(jù)庫工程師考試,是由國家人力資源和社會保障部與工業(yè)和信息化部聯(lián)合頒發(fā)的證書,可以作為單位用人和職稱聘任的依據(jù)。而該證書的應(yīng)用技術(shù)考試,大部分是數(shù)據(jù)庫原理內(nèi)容。所以本教材在教學(xué)中加入了相關(guān)考試內(nèi)容,幫助學(xué)生了解該種考試的題目、題型及解題思路,爭取在?既(shù)據(jù)庫證書,為畢業(yè)就業(yè)添磚加瓦。
編寫本書的指導(dǎo)思想是幫助學(xué)生掌握數(shù)據(jù)庫系統(tǒng)的基本原理、技術(shù)和方法,了解現(xiàn)代數(shù)據(jù)庫系統(tǒng)的特點(diǎn)及發(fā)展趨勢,提高用所學(xué)知識解決實(shí)際問題的動手能力,培養(yǎng)學(xué)生研究和設(shè)計數(shù)據(jù)庫系統(tǒng)的能力。本書具有如下特點(diǎn):
既注重系統(tǒng)地介紹數(shù)據(jù)庫的基本原理和方法,又補(bǔ)充現(xiàn)代數(shù)據(jù)庫系統(tǒng)的主要技術(shù)及新知識。強(qiáng)調(diào)基礎(chǔ)理論、實(shí)用技術(shù)和方法。
縮減傳統(tǒng)數(shù)據(jù)庫系統(tǒng)的部分內(nèi)容,突出數(shù)據(jù)庫理論與實(shí)踐緊密結(jié)合的特征,結(jié)合應(yīng)用實(shí)例及現(xiàn)代的軟、硬件環(huán)境講解,突出能力訓(xùn)練。
本書根據(jù)教學(xué)的知識點(diǎn)、要點(diǎn)及層次,結(jié)合實(shí)踐的特點(diǎn)來組織內(nèi)容。
從本書的知識結(jié)構(gòu)框架來看,全書內(nèi)容分四篇,共計11章:
第一篇——數(shù)據(jù)庫基礎(chǔ)知識,包括第1~4章,主要介紹關(guān)系數(shù)據(jù)庫系統(tǒng)的基本概念、基本技術(shù)和方法。
第二篇——數(shù)據(jù)庫管理與保護(hù),包括第5~7章,介紹關(guān)系數(shù)據(jù)庫管理系統(tǒng)及其事務(wù)管理,描述數(shù)據(jù)庫安全和完整性控制技術(shù),討論故障恢復(fù)的方法及策略。
第三篇——數(shù)據(jù)庫系統(tǒng)設(shè)計,包括第8~10章,主要介紹關(guān)系數(shù)據(jù)庫理論與數(shù)據(jù)庫設(shè)計方法。具體介紹如何通過數(shù)據(jù)庫的需求分析、概念設(shè)計、邏輯設(shè)計與物理設(shè)計等若干步驟,一步一步地將企業(yè)的管理業(yè)務(wù)、數(shù)據(jù)等轉(zhuǎn)變成數(shù)據(jù)庫管理系統(tǒng)所能接受的形式,從而達(dá)到利用計算機(jī)管理信息的目的。
第四篇——數(shù)據(jù)庫系統(tǒng)開發(fā)案例,包括第11章,用一個實(shí)際的應(yīng)用系統(tǒng)開發(fā)實(shí)例,詳細(xì)展示其中的精髓。通過遵從本章的設(shè)計、構(gòu)建和開發(fā)步驟,完成從理論到實(shí)踐的跨越。
本書每章除基本知識外,還有小結(jié)、適量的練習(xí)題等,以配合對知識點(diǎn)的掌握。講授時可根據(jù)學(xué)生、專業(yè)、課時等情況對內(nèi)容適當(dāng)取舍,帶有“**”的章節(jié)內(nèi)容是取舍的首選對象。
本書由李月軍編寫統(tǒng)稿。為了便于教學(xué),本書配有電子課件,可從出版社網(wǎng)站下載,也可與作者聯(lián)系。
本書參考了多部優(yōu)秀數(shù)據(jù)庫方面的教材及網(wǎng)絡(luò)內(nèi)容,從中獲得了許多有益的知識,在此一并表示感謝。
鑒于作者水平有限,書中難免會存在缺點(diǎn)和錯誤,敬請讀者及各位專家指教。
李月軍
2012年4月于長春
第一篇 數(shù)據(jù)庫基礎(chǔ)知識
第1章 數(shù)據(jù)庫系統(tǒng)的基本原理
1.1 數(shù)據(jù)庫系統(tǒng)概述
1.1.1 數(shù)據(jù)庫系統(tǒng)的應(yīng)用
1.1.2 數(shù)據(jù)庫系統(tǒng)概念
1.1.3 數(shù)據(jù)管理技術(shù)的發(fā)展階段
1.1.4 數(shù)據(jù)庫系統(tǒng)的用戶
1.2 數(shù)據(jù)模型
1.2.1 數(shù)據(jù)抽象的過程
1.2.2 關(guān)系模型
1.3 數(shù)據(jù)庫體系結(jié)構(gòu)
1.3.1 數(shù)據(jù)庫系統(tǒng)三級結(jié)構(gòu)
1.3.2 數(shù)據(jù)庫系統(tǒng)三級模式
1.3.3 數(shù)據(jù)庫系統(tǒng)的二級映射與數(shù)據(jù)獨(dú)立性
1.3.4 數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)架構(gòu)
1.4 高級數(shù)據(jù)庫系統(tǒng)
1.4.1 分布式數(shù)據(jù)庫系統(tǒng)
1.4.2 面向?qū)ο髷?shù)據(jù)庫系統(tǒng)
1.4.3 并行數(shù)據(jù)庫系統(tǒng)
1.4.4 多媒體數(shù)據(jù)庫系統(tǒng)
1.5 數(shù)據(jù)倉庫技術(shù)與數(shù)據(jù)挖掘技術(shù)
1.5.1 數(shù)據(jù)倉庫
1.5.2 聯(lián)機(jī)分析處理
1.5.3 數(shù)據(jù)挖掘
1.6 小結(jié)
習(xí)題
第2章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL
2.1 SQL語言介紹
2.1.1 SQL數(shù)據(jù)庫的體系結(jié)構(gòu)
2.1.2 SQL的特點(diǎn)
2.1.3 SQL語言的組成
2.2 0racle提供的示例數(shù)據(jù)庫
2.2.1 SCOTT示例方案各表介紹
2.2.2 0racle數(shù)據(jù)類型
2.3 數(shù)據(jù)查詢
2.3.1 基本查詢
2.3.2 分組查詢
2.3.3 連接查詢
2.3.4 子查詢
2.3.5 集合查詢
2.4 數(shù)據(jù)的維護(hù)
2.4.1 插入數(shù)據(jù)
2.4.2 更新數(shù)據(jù)
2.4.3 刪除數(shù)據(jù)
2.5 數(shù)據(jù)的定義
2.5.1 基本表的定義、刪除和修改
2.5.2 索引的創(chuàng)建與刪除
2.5.3 視圖
2.6 小結(jié)
習(xí)題二
第3章 數(shù)據(jù)庫編程
3.1 PL/SQL編程基礎(chǔ)
3.1.1 PL/SQL程序結(jié)構(gòu)
3.1.2 使用%TYPE和%ROWTYPE類型的變量
3.1.3 條件判斷語句
3.1.4 循環(huán)語句
3.2 游標(biāo)
3.2.1 顯式游標(biāo)定義和使用
3.2.2 顯式游標(biāo)屬性
3.2.3 游標(biāo)FOR循環(huán)
3.2.4 帶參數(shù)的游標(biāo)
3.2.5 使用游標(biāo)更新和刪除數(shù)據(jù)
3.3 異常處理
3.3.1 預(yù)定義的Oracle異常
3.3.2 用戶自定義的異常處理
3.4 存儲過程
3.4.1 創(chuàng)建存儲過程
3.4.2 調(diào)用存儲過程
第二篇 數(shù)據(jù)庫管理與保護(hù)
第三篇 數(shù)據(jù)庫系統(tǒng)設(shè)計
第四篇 數(shù)據(jù)庫系統(tǒng)開發(fā)案例
附錄A Oracle實(shí)驗(yàn)
附錄B 習(xí)題答案
參考文獻(xiàn)