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