-
>
決戰(zhàn)行測(cè)5000題(言語理解與表達(dá))
-
>
軟件性能測(cè)試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
深度學(xué)習(xí)
-
>
Unreal Engine 4藍(lán)圖完全學(xué)習(xí)教程
-
>
深入理解計(jì)算機(jī)系統(tǒng)-原書第3版
-
>
Word/Excel PPT 2013辦公應(yīng)用從入門到精通-(附贈(zèng)1DVD.含語音視頻教學(xué)+辦公模板+PDF電子書)
Oracle 12c SQL和PL/SQL編程指南 版權(quán)信息
- ISBN:9787302566328
- 條形碼:9787302566328 ; 978-7-302-56632-8
- 裝幀:一般膠版紙
- 冊(cè)數(shù):暫無
- 重量:暫無
- 所屬分類:>>
Oracle 12c SQL和PL/SQL編程指南 本書特色
隨著Oracle公司提供了基于Windows平臺(tái)的Oracle版本以后,Oracle數(shù)據(jù)庫在國內(nèi)外擁有更為廣泛的應(yīng)用市場(chǎng)。近些年來,隨著國內(nèi)中小企業(yè)對(duì)數(shù)據(jù)庫可靠性、安全性要求的提高,基于Windows平臺(tái)的Oracle數(shù)據(jù)庫服務(wù)器獲得了廣泛青睞。《Oracle 12c SQL和PL/SQL編程指南》在編寫時(shí),既考慮了Oracle數(shù)據(jù)庫管理和開發(fā)的初學(xué)者,也兼顧到了有一定基礎(chǔ)的管理和開發(fā)人員。同時(shí),對(duì)那些想學(xué)習(xí)SQL語句或利用PL/SQL提高Oracle數(shù)據(jù)庫管理和開發(fā)能力的人士,也可以起到一定的借鑒作用。
Oracle 12c SQL和PL/SQL編程指南 內(nèi)容簡(jiǎn)介
SQL(Structured Query Language)是關(guān)系數(shù)據(jù)庫的基本操作語言,它主要包括數(shù)據(jù)查詢(Query statements)、數(shù)據(jù)操縱(Data Manipulation Language statements)、數(shù)據(jù)定義(Data Definition Language statements)等功能,是應(yīng)用程序與數(shù)據(jù)庫進(jìn)行交互操作的接口。PL/SQL(Procedural Language/SQL)是Oracle特有的編程語言,它可以像其他不錯(cuò)編程語言一樣,編寫出各種完成數(shù)據(jù)庫操作功能的程序。由于PL/SQL由Oracle系統(tǒng)本身編譯執(zhí)行,所以程序的運(yùn)行效率更高。 《Oracle 12c SQL和PL/SQL編程指南》為Oracle數(shù)據(jù)庫應(yīng)用開發(fā)人員提供了SQL使用指南和PL/SQL編程技術(shù)。通過學(xué)習(xí)本書,讀者不僅可以掌握SQL和PL/SQL的基礎(chǔ)知識(shí),而且可以掌握Oracle 12c SQL和PL/SQL的許多不錯(cuò)特征。 《Oracle 12c SQL和PL/SQL編程指南》既可作為高等院校計(jì)算機(jī)相關(guān)專業(yè)的輔助教材,也可作為各類不錯(cuò)數(shù)據(jù)庫編程人員的參考書。本書的編寫既考慮了SQL和PL/SQL的初學(xué)者,同時(shí)也兼顧了有經(jīng)驗(yàn)的PL/SQL編程人員,本書還可以作為Oracle 12c培訓(xùn)班的教材。
Oracle 12c SQL和PL/SQL編程指南 目錄
**部分 Oracle 12c概述
第1章 Oracle簡(jiǎn)介 3
1.1 數(shù)據(jù)庫的產(chǎn)生與發(fā)展 4
1.1.1 數(shù)據(jù)管理技術(shù)的產(chǎn)生與發(fā)展 4
1.1.2 數(shù)據(jù)庫技術(shù)的發(fā)展 6
1.1.3 關(guān)系數(shù)據(jù)庫產(chǎn)品簡(jiǎn)介 8
1.2 Oracle的產(chǎn)生與發(fā)展 13
1.3 Oracle 12c簡(jiǎn)介 17
1.3.1 Oracle數(shù)據(jù)庫系統(tǒng)的特點(diǎn) 17
1.3.2 Oracle版本號(hào)的含義 18
1.3.3 Oracle 12c的新特性 18
第2章 數(shù)據(jù)庫的建立 21
2.1 數(shù)據(jù)庫邏輯設(shè)計(jì) 22
2.1.1 關(guān)系數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ) 22
2.1.2 關(guān)系數(shù)據(jù)庫規(guī)范化 24
2.2 數(shù)據(jù)庫物理設(shè)計(jì) 26
2.3 數(shù)據(jù)庫實(shí)施 28
2.4 創(chuàng)建數(shù)據(jù)庫 29
2.4.1 數(shù)據(jù)庫創(chuàng)建前的準(zhǔn)備 29
2.4.2 安裝數(shù)據(jù)庫服務(wù)器并創(chuàng)建數(shù)據(jù)庫 30
第3章 SQL與PL/SQL概述 35
3.1 SQL與PL/SQL簡(jiǎn)介 36
3.1.1 SQL簡(jiǎn)介 36
3.1.2 PL/SQL簡(jiǎn)介 38
3.2 SQL*Plus 簡(jiǎn)介 40
3.3 范例數(shù)據(jù)庫表的建立 42
3.3.1 Oracle 12c基本數(shù)據(jù)類型 43
3.3.2 定義表的結(jié)構(gòu) 44
3.3.3 查看表的結(jié)構(gòu) 47
3.3.4 修改表的結(jié)構(gòu) 49
3.3.5 刪除表 49
3.3.6 添加數(shù)據(jù) 50
3.3.7 查看數(shù)據(jù) 52
3.3.8 刪除數(shù)據(jù) 54
第二部分 SQL操作
第4章 單表查詢 59
4.1 簡(jiǎn)單查詢 60
4.1.1 查詢指定列 60
4.1.2 改變輸出 63
4.1.3 空值處理 67
4.2 條件查詢 69
4.2.1 單一條件查詢 70
4.2.2 復(fù)合條件查詢 73
4.3 記錄排序 77
4.3.1 按單一列排序 78
4.3.2 按多列排序 80
4.4 分組查詢 81
4.4.1 列函數(shù)及其應(yīng)用 81
4.4.2 GROUP BY子句 83
4.4.3 HAVING子句 85
第5章 子查詢與集合操作 87
5.1 子查詢 88
5.1.1 單行子查詢 88
5.1.2 多行子查詢 89
5.1.3 多列子查詢 91
5.1.4 相關(guān)子查詢 92
5.1.5 嵌套子查詢 94
5.2 集合操作 94
5.2.1 集合操作符 95
5.2.2 集合操作的進(jìn)一步討論 101
第6章 連接查詢 107
6.1 內(nèi)連接查詢 108
6.1.1 簡(jiǎn)單內(nèi)連接 108
6.1.2 復(fù)雜內(nèi)連接 110
6.2 外連接查詢 111
6.2.1 左外連接 112
6.2.2 右外連接 113
6.2.3 全外連接 114
6.3 其他特殊連接 116
6.3.1 交叉連接 116
6.3.2 自連接 118
第7章 數(shù)據(jù)操縱語言與事務(wù)處理 121
7.1 數(shù)據(jù)操縱語言 122
7.1.1 插入數(shù)據(jù)(INSERT) 122
7.1.2 更新數(shù)據(jù)(UPDATE) 123
7.1.3 刪除數(shù)據(jù)(DELETE、TRUNCATE TABLE) 125
7.1.4 數(shù)據(jù)庫完整性 126
7.1.5 含有子查詢的DML語句 128
7.2 數(shù)據(jù)事務(wù)處理 130
7.2.1 顯式處理事務(wù) 130
7.2.2 隱式處理事務(wù) 132
7.2.3 特殊事務(wù) 133
第8章 SQL函數(shù) 135
8.1 數(shù)字函數(shù) 136
8.1.1 數(shù)字函數(shù)概述 136
8.1.2 數(shù)字函數(shù)示例 136
8.2 字符函數(shù) 142
8.2.1 字符函數(shù)概述 142
8.2.2 字符函數(shù)示例 143
8.3 日期時(shí)間函數(shù) 146
8.3.1 日期時(shí)間函數(shù)概述 147
8.3.2 日期時(shí)間函數(shù)示例 147
8.4 轉(zhuǎn)換函數(shù) 150
8.4.1 轉(zhuǎn)換函數(shù)概述 150
8.4.2 轉(zhuǎn)換函數(shù)示例 151
第9章 數(shù)據(jù)控制語言與數(shù)據(jù)定義語言 155
9.1 數(shù)據(jù)控制語言 156
9.1.1 數(shù)據(jù)庫權(quán)限 156
9.1.2 權(quán)限控制 159
9.2 表 164
9.2.1 建立表 164
9.2.2 獲得表的相關(guān)信息 168
9.2.3 修改表定義 169
9.2.4 修改表名 175
9.2.5 刪除表 176
9.3 索引 176
9.3.1 建立索引 176
9.3.2 獲得索引信息 177
9.3.3 修改索引名字 178
9.3.4 刪除索引 178
9.4 視圖 178
9.4.1 建立視圖 179
9.4.2 使用視圖 180
9.4.3 獲得視圖定義信息 183
9.4.4 修改視圖 184
9.4.5 刪除視圖 184
第三部分 PL/SQL編程指南
第10章 PL/SQL編程基礎(chǔ) 187
10.1 PL/SQL語言基礎(chǔ) 188
10.1.1 PL/SQL塊簡(jiǎn)介 188
10.1.2 PL/SQL基本語法要素 190
10.1.3 變量及其數(shù)據(jù)類型 193
10.2 在PL/SQL中執(zhí)行SQL語句 197
10.2.1 執(zhí)行SELECT語句 197
10.2.2 執(zhí)行DML語句 199
10.2.3 執(zhí)行事務(wù)處理語句 204
10.3 PL/SQL程序控制結(jié)構(gòu) 205
10.3.1 順序結(jié)構(gòu) 205
10.3.2 分支結(jié)構(gòu) 206
10.3.3 循環(huán)結(jié)構(gòu) 211
10.3.4 GOTO語句與NULL語句 214
10.4 異常處理 216
10.4.1 異常的基本概念 216
10.4.2 系統(tǒng)異常處理 219
10.4.3 自定義異常處理 222
10.4.4 使用異常函數(shù) 224
10.5 游標(biāo) 225
10.5.1 游標(biāo)應(yīng)用基礎(chǔ) 225
10.5.2 游標(biāo)應(yīng)用 227
10.5.3 游標(biāo)FOR循環(huán) 230
10.5.4 游標(biāo)的復(fù)雜應(yīng)用 232
第11章 復(fù)合數(shù)據(jù)類型 239
11.1 記錄類型 240
11.1.1 定義記錄 240
11.1.2 在SELECT語句中使用記錄 241
11.1.3 在DML中使用記錄 244
11.2 記錄表類型 248
11.2.1 定義記錄表 248
11.2.2 使用記錄表 249
11.3 聯(lián)合數(shù)組類型 251
11.3.1 定義聯(lián)合數(shù)組 251
11.3.2 使用聯(lián)合數(shù)組 251
11.4 嵌套表類型 253
11.4.1 定義嵌套表 254
11.4.2 使用嵌套表 254
11.5 變長數(shù)組類型 257
11.5.1 定義變長數(shù)組 257
11.5.2 使用變長數(shù)組類型 258
11.6 集合操作 261
11.6.1 集合屬性與方法 261
11.6.2 使用集合操作符 268
第12章 應(yīng)用程序結(jié)構(gòu) 275
12.1 子程序 276
12.1.1 過程 276
12.1.2 函數(shù) 286
12.2 包 293
12.2.1 定義包 294
12.2.2 包的管理 295
12.2.3 調(diào)用包 298
12.2.4 包中子程序的重載 299
12.3 觸發(fā)器 301
12.3.1 概述 301
12.3.2 DML觸發(fā)器 305
12.3.3 INSTEAD OF觸發(fā)器 308
12.3.4 系統(tǒng)事件觸發(fā)器 310
參考文獻(xiàn) 312
Oracle 12c SQL和PL/SQL編程指南 節(jié)選
2.1 數(shù)據(jù)庫邏輯設(shè)計(jì) 數(shù)據(jù)庫邏輯設(shè)計(jì)包括導(dǎo)出Oracle可以處理的數(shù)據(jù)庫的邏輯結(jié)構(gòu),即數(shù)據(jù)庫的模式和外模式,這些模式在功能、性能、完整性、一致性、約束及數(shù)據(jù)庫可擴(kuò)充性等方面都要滿足用戶的要求。數(shù)據(jù)庫邏輯設(shè)計(jì)直接關(guān)系到后續(xù)應(yīng)用系統(tǒng)的開發(fā)和數(shù)據(jù)庫的性能,良好的數(shù)據(jù)庫邏輯設(shè)計(jì)將為數(shù)據(jù)庫應(yīng)用提供*佳支持。 本節(jié)主要介紹如何規(guī)劃數(shù)據(jù)庫的邏輯設(shè)計(jì)。在講述設(shè)計(jì)數(shù)據(jù)庫邏輯結(jié)構(gòu)之前,首先介紹關(guān)系數(shù)據(jù)庫設(shè)計(jì)的基本理論。 2.1.1 關(guān)系數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ) 現(xiàn)實(shí)世界的主要對(duì)象是實(shí)體,它是客觀存在并可相互區(qū)別的事物。這個(gè)“事物”可以指實(shí)際的東西,如一個(gè)人、一本書、一個(gè)零件,也可指抽象的事物,如一次訂貨,一次借書等,還可以指“事物”與“事物”之間的聯(lián)系。 1.實(shí)體與關(guān)系表 實(shí)體是用來描述現(xiàn)實(shí)世界中事物及其聯(lián)系的。把組合在一起的同類事物稱為實(shí)體集,即性質(zhì)相同的同類實(shí)體的集合,如所有的“課程”、所有的“男學(xué)生”,所有的“可征訂的雜志”、所有的“雜志”等。這里“同類”是指同一實(shí)體集合中每一個(gè)實(shí)體具有相同的特征要求。如當(dāng)需要處理“可征訂的雜志”時(shí),就將“可征訂的雜志”與一般雜志建立為兩個(gè)實(shí)體集合。 用來表示實(shí)體某一方面的特性叫屬性。例如一個(gè)人的姓名、性別、年齡、職務(wù)、專長等表示了人的5個(gè)方面的特性。特性是對(duì)同類的限定,人們可以根據(jù)需要選擇其中的某些特性,甚至賦予新的特性,如職工編號(hào)。如果把人作為人事管理的對(duì)象,可用職工編號(hào)、姓名、性別、年齡、職務(wù)等特性描述。如果把人作為財(cái)務(wù)管理的對(duì)象,可用職工編號(hào)、姓名、基本工資、工齡工資等特性來描述。 實(shí)體是通過它的屬性來體現(xiàn)的,因此實(shí)體是相關(guān)屬性的組合。例如,職工編號(hào)/10104、姓名/孔世杰、基本工資/2700、工齡工資/800、洗理/50、水電/50、房租/100、實(shí)發(fā)工資/3700等屬性的組合,表示“孔世杰的工資清單”這樣一個(gè)實(shí)體。 實(shí)體是千差萬別的,即使是同類實(shí)體也各不相同,因而不可能有兩個(gè)實(shí)體在所有的屬性上都是相同的。實(shí)體集合有一個(gè)或一組特殊的屬性,能夠唯一地標(biāo)識(shí)實(shí)體集合中的每一個(gè)實(shí)體,能將一個(gè)實(shí)體與其他實(shí)體區(qū)別開來的屬性集叫實(shí)體標(biāo)識(shí)符。例如在“工資清單”這個(gè)實(shí)體中,職工編號(hào)可作為實(shí)體標(biāo)識(shí)符。 在關(guān)系數(shù)據(jù)庫Oracle中,把實(shí)體集表示為表,實(shí)體表示為表中的行,屬性表示為表中的列,實(shí)體標(biāo)識(shí)符表示為關(guān)鍵字或主碼。 例如,在一個(gè)數(shù)據(jù)庫的“學(xué)生”表中記錄了實(shí)體“學(xué)生(students)”所具有的屬性或特性,如學(xué)生學(xué)號(hào)、姓名、性別、出生日期、專業(yè)等,這些屬性表示為student_id、name、sex、Date of birth (dob)和specialty列。 實(shí)體“學(xué)生(students)”的具體值由一個(gè)學(xué)生所有列的值組成,每個(gè)學(xué)生有一個(gè)唯一的學(xué)生學(xué)號(hào)(student_id),該號(hào)碼可用來區(qū)別實(shí)體“學(xué)生(students)”中的每一名學(xué)生。表中的每一行表示一個(gè)“學(xué)生”實(shí)體或關(guān)系的一個(gè)具體值。例如,表2.1中學(xué)生學(xué)號(hào)(student_id)為10301的行表示學(xué)生高山的信息。 表2.1 學(xué)生(students)實(shí)體及其屬性的具體值 在同一個(gè)數(shù)據(jù)庫中,還有“課程(courses)”表,其中記錄了實(shí)體“課程(courses)”所具有的屬性或特性,如課程編號(hào)、課程名稱、學(xué)分等,這些屬性表示為course_id、course_name、credit_hour列。 實(shí)體“課程(courses)”的具體值由一門課程所有列中的值組成,每門課程有一個(gè)唯一的課程編號(hào)(course_id),該號(hào)碼可用來區(qū)別實(shí)體“課程(courses)”中的每一門課程。表中的每一行表示一個(gè)“課程”實(shí)體或關(guān)系的一個(gè)具體值。例如,表2.2中課程編號(hào)(course_id)為10102的行表示課程“C++語言程序設(shè)計(jì)”的信息。 表2.2 課程(courses)實(shí)體及其屬性的具體值 2.實(shí)體間的聯(lián)系 一個(gè)數(shù)據(jù)庫一般是幾個(gè)、幾十個(gè),甚至上百個(gè)實(shí)體的集合,集合之間不是孤立的,是有聯(lián)系的。比如“教學(xué)(jiaoxue)”數(shù)據(jù)庫,其中可能有反映學(xué)生信息的實(shí)體集合“學(xué)生(students)”,反映課程信息的實(shí)體集合“課程(courses)”,反映教師信息的實(shí)體集合“教師(teachers)”等。一名學(xué)生一般要學(xué)習(xí)多門課程,一名教師講授一門或多門課程,這些就反映了學(xué)生、教師、課程之間的聯(lián)系。兩個(gè)集合之間的聯(lián)系,即兩個(gè)屬性或兩個(gè)實(shí)體集合之間的聯(lián)系。設(shè)兩個(gè)實(shí)體集EA和EB之間具有某種聯(lián)系,從數(shù)據(jù)庫理論的角度看,它們的聯(lián)系方式分為一對(duì)一聯(lián)系、一對(duì)多聯(lián)系(多對(duì)一聯(lián)系)、多對(duì)多聯(lián)系三種。 1) 一對(duì)一聯(lián)系 如果實(shí)體集EA中的任何一個(gè)實(shí)體當(dāng)且僅當(dāng)對(duì)應(yīng)于實(shí)體集EB中的一個(gè)實(shí)體,則稱EA對(duì)EB是一對(duì)一聯(lián)系,以1∶1表示。如專業(yè)系部與系主任的關(guān)系,一個(gè)系部只能有一位系主任;反之,一位系主任只能負(fù)責(zé)一個(gè)系部。 2) 一對(duì)多聯(lián)系(多對(duì)一聯(lián)系) 如果實(shí)體集EA中至少有一個(gè)實(shí)體對(duì)應(yīng)于實(shí)體集EB中一個(gè)以上實(shí)體,反之,實(shí)體集EB中任一實(shí)體至多對(duì)應(yīng)于實(shí)體集EA中的一個(gè)實(shí)體,則稱實(shí)體集EA對(duì)實(shí)體集EB是一對(duì)多聯(lián)系,以1∶N表示(或稱實(shí)體集EB對(duì)實(shí)體集EA是多對(duì)一聯(lián)系,以N∶1表示)。例如,班級(jí)與學(xué)生之間的關(guān)系,一個(gè)班級(jí)可以有多名學(xué)生,一名學(xué)生只能屬于一個(gè)班級(jí)。 3) 多對(duì)多聯(lián)系 如果實(shí)體集EA中至少有一個(gè)實(shí)體對(duì)應(yīng)于實(shí)體集EB中一個(gè)以上實(shí)體;反之,實(shí)體集EB中也至少有一個(gè)實(shí)體對(duì)應(yīng)于實(shí)體集EA中一個(gè)以上實(shí)體,則稱EA與EB是多對(duì)多聯(lián)系,以N∶M表示。例如,學(xué)生與課程之間的聯(lián)系,一名學(xué)生可以學(xué)習(xí)多門課程,多名學(xué)生可以學(xué)習(xí)一門課程。
Oracle 12c SQL和PL/SQL編程指南 作者簡(jiǎn)介
鄭錚,唐山師范學(xué)院,副教授。長期從事計(jì)算機(jī)、信息管理等相關(guān)專業(yè)的教學(xué)和科研工作。近年來,主要承擔(dān)了數(shù)據(jù)庫原理、分布式數(shù)據(jù)庫、計(jì)算機(jī)網(wǎng)絡(luò)原理、計(jì)算機(jī)通信網(wǎng)、微機(jī)原理、信息系統(tǒng)開發(fā)、數(shù)字電路、計(jì)算機(jī)科學(xué)導(dǎo)論、計(jì)算機(jī)文化基礎(chǔ)、Java程序設(shè)計(jì)、PowerBuilder程序設(shè)計(jì)、人工智能、計(jì)算機(jī)專業(yè)英語、多媒體設(shè)計(jì)與制作等多門本科生的教學(xué)任務(wù)。目前,主持唐山市科技局科技攻關(guān)項(xiàng)目一項(xiàng),作為主要參與者參加教育部、河北省教育廳、唐山市科技局項(xiàng)目3項(xiàng)。發(fā)表EI檢索論文20余篇,參與編寫教材4部。
- >
我從未如此眷戀人間
- >
推拿
- >
新文學(xué)天穹兩巨星--魯迅與胡適/紅燭學(xué)術(shù)叢書(紅燭學(xué)術(shù)叢書)
- >
上帝之肋:男人的真實(shí)旅程
- >
大紅狗在馬戲團(tuán)-大紅狗克里弗-助人
- >
名家?guī)阕x魯迅:朝花夕拾
- >
苦雨齋序跋文-周作人自編集
- >
中國人在烏蘇里邊疆區(qū):歷史與人類學(xué)概述