關(guān)于我們
書(shū)單推薦
新書(shū)推薦
|
Oracle數(shù)據(jù)庫(kù)管理與開(kāi)發(fā) 慕課版
本書(shū)作為Oracle程序設(shè)計(jì)的教程,系統(tǒng)、全面地介紹了有關(guān)Oracle程序開(kāi)發(fā)所涉及的各方面知識(shí)。全書(shū)共分13章,內(nèi)容包括數(shù)據(jù)庫(kù)的基本概念與Oracle環(huán)境、數(shù)據(jù)庫(kù)創(chuàng)建、表與表數(shù)據(jù)操作、數(shù)據(jù)庫(kù)的查詢和視圖、索引和數(shù)據(jù)的完整性、PL/SQL語(yǔ)言介紹、存儲(chǔ)過(guò)程和觸發(fā)器、高級(jí)數(shù)據(jù)類(lèi)型、系統(tǒng)安全管理、備份和恢復(fù)、閃回操作和Undo表空間、其他概念、課程設(shè)計(jì)——企業(yè)人事管理系統(tǒng)。全書(shū)每章內(nèi)容都與實(shí)例緊密結(jié)合,有助于學(xué)生理解知識(shí)、應(yīng)用知識(shí),達(dá)到學(xué)以致用的目的。
本書(shū)是慕課版教材,各章節(jié)主要內(nèi)容配備了以二維碼為載體的微課,并在人郵學(xué)院(www.rymooc.com)平臺(tái)上提供了慕課。此外本書(shū)還提供了配套資源包,其中提供了本書(shū)所有實(shí)例、上機(jī)指導(dǎo)、綜合案例和課程設(shè)計(jì)的源代碼,制作精良的電子課件PPT,自測(cè)試卷等內(nèi)容。其中,源代碼全部經(jīng)過(guò)精心測(cè)試,能夠在Windows 7、Windows 8、Windows 10系統(tǒng)下編譯和運(yùn)行。資源包也可在人郵學(xué)院下載。
30小時(shí)慕課教學(xué)視頻同步講解,讓學(xué)習(xí)更高效快捷
80個(gè)精彩課堂案例,12個(gè)課堂實(shí)驗(yàn),1個(gè)綜合案例,Oracle學(xué)習(xí)從入門(mén)到精通 66道習(xí)題,300道自測(cè)題,5套自測(cè)試卷,鞏固所學(xué)知識(shí) 提供免費(fèi)教學(xué)資源,包括精品教學(xué)PPT、案例源代碼、自測(cè)題庫(kù)、拓展綜合案例
明日科技,程序設(shè)計(jì)類(lèi)暢銷(xiāo)書(shū)作者,其主要作品“視頻大講堂”系列,每個(gè)品種都在其同品種的圖書(shū)中銷(xiāo)售名列前茅。累計(jì)銷(xiāo)售數(shù)十萬(wàn)冊(cè)。其中《Oracle從入門(mén)到精通》長(zhǎng)期占據(jù)Oracle零售圖書(shū)排行榜首位,年銷(xiāo)量數(shù)萬(wàn)冊(cè)。
第1章 數(shù)據(jù)庫(kù)的基本概念與Oracle環(huán)境 1
1.1 數(shù)據(jù)庫(kù)基本概念 2 1.1.1 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)管理系統(tǒng) 2 1.1.2 數(shù)據(jù)模型 2 1.1.3 關(guān)系型數(shù)據(jù)庫(kù)語(yǔ)言 2 1.2 Oracle數(shù)據(jù)庫(kù)環(huán)境 3 1.2.1 Oracle數(shù)據(jù)庫(kù)簡(jiǎn)介 3 1.2.2 Oracle 11g的安裝 3 1.2.3 Oracle 11g的卸載 9 1.3 Oracle的管理工具 11 1.3.1 企業(yè)管理器 11 1.3.2 SQL*Plus工具 12 實(shí)例:在SQL *Plus中查詢志愿表的所有信息 1.3.3 SQL Developer工具 14 實(shí)例:通過(guò)SQL Developer工具查詢員工信息表 小結(jié) 18 上機(jī)指導(dǎo) 18 習(xí)題 20 第2章 數(shù)據(jù)庫(kù)創(chuàng)建 21 2.1 Oracle數(shù)據(jù)庫(kù)基本概念 22 2.1.1 邏輯存儲(chǔ)結(jié)構(gòu) 22 2.1.2 物理存儲(chǔ)結(jié)構(gòu) 25 2.1.3 實(shí)例 26 2.2 界面方式創(chuàng)建數(shù)據(jù)庫(kù) 31 2.2.1 數(shù)據(jù)庫(kù)的創(chuàng)建與刪除 32 實(shí)例:使用DBCA創(chuàng)建員工信息管理數(shù)據(jù)庫(kù)MR 實(shí)例:使用DBCA刪除員工信息管理數(shù)據(jù)庫(kù)MR 2.2.2 數(shù)據(jù)庫(kù)的修改 35 實(shí)例:將MR數(shù)據(jù)庫(kù)的users01.dbf的最大文件大小改為無(wú)限制 實(shí)例:在MR數(shù)據(jù)庫(kù)增加數(shù)據(jù)文件users02.dbf,其屬性均取系統(tǒng)默認(rèn)值 2.3 命令方式創(chuàng)建數(shù)據(jù)庫(kù) 39 2.3.1 創(chuàng)建數(shù)據(jù)庫(kù) 40 實(shí)例:創(chuàng)建數(shù)據(jù)庫(kù)mydb的初始化參數(shù)文件 實(shí)例:使用命令創(chuàng)建數(shù)據(jù)庫(kù)mydb 2.3.2 修改數(shù)據(jù)庫(kù) 46 2.3.3 刪除數(shù)據(jù)庫(kù) 47 實(shí)例:刪除數(shù)據(jù)庫(kù)mydb 小結(jié) 48 上機(jī)指導(dǎo) 48 習(xí)題 49 第3章 表與表數(shù)據(jù)操作 50 3.1 表結(jié)構(gòu)和數(shù)據(jù)類(lèi)型 51 3.1.1 表和表結(jié)構(gòu) 51 3.1.2 數(shù)據(jù)類(lèi)型 51 3.1.3 表結(jié)構(gòu)設(shè)計(jì) 53 3.2 創(chuàng)建和管理表空間 54 3.2.1 界面方式創(chuàng)建表空間 54 實(shí)例:使用OEM創(chuàng)建永久性表空間MYMR 3.2.2 命令方式創(chuàng)建表空間 56 實(shí)例:創(chuàng)建表空間 實(shí)例:創(chuàng)建表空間,擴(kuò)展大小為自動(dòng)管理,段空間管理方式為手工 實(shí)例:創(chuàng)建表空間,擴(kuò)展大小為自動(dòng)管理,段空間管理方式為自動(dòng) 3.3 界面方式操作表 60 3.3.1 OEM方式操作表 60 實(shí)例:使用OEM創(chuàng)建表 實(shí)例:表XSB中添加一個(gè)“獎(jiǎng)學(xué)金等級(jí)”列 實(shí)例:刪除表 3.3.2 使用SQL Developer操作表 64 實(shí)例:使用SQL Developer創(chuàng)建表 實(shí)例:刪除KCB表 3.4 命令方式操作表 66 3.4.1 創(chuàng)建表 66 實(shí)例:使用CREATE TABLE命令創(chuàng)建表XSB 實(shí)例:向表XSB中增加若干條測(cè)試數(shù)據(jù) 3.4.2 修改表 68 實(shí)例:向XSB表中增加3個(gè)字段 實(shí)例:將XSB表BZ字段的長(zhǎng)度改為20 實(shí)例:刪除XSB表中的PHOTO和ADDR字段 3.4.3 刪除表 71 實(shí)例:刪除STUD表 3.5 操作表數(shù)據(jù) 71 3.5.1 插入數(shù)據(jù) 71 實(shí)例:在dept表中,使用INSERT語(yǔ)句添加一條記錄 實(shí)例:在HR模式下,使用desc命令查看jobs表的結(jié)構(gòu)和列的定義順序,然后使用insert語(yǔ)句插入一條記錄 實(shí)例:在HR模式下,創(chuàng)建一個(gè)與job表結(jié)構(gòu)類(lèi)似表jobs_temp,然后將jobs表中最高工資額(max_salary)大于10000的記錄插入到新表jobs_temp中 3.5.2 修改記錄 73 實(shí)例:在SCOTT模式下,把emp表中雇員名為SCOTT的工資調(diào)整為2460 實(shí)例:把emp表中職務(wù)是銷(xiāo)售員(SALESMAN)的工資上調(diào)20% 3.5.3 刪除記錄 74 實(shí)例:在HR模式下,刪除jobs表中職務(wù)編號(hào)(job_id)是“PRO”的記錄 實(shí)例:刪除emp表中所有數(shù)據(jù) 實(shí)例:使用truncate語(yǔ)句清除自定義表jobs_temp中的所有記錄 小結(jié) 76 上機(jī)指導(dǎo) 76 習(xí)題 77 第4章 數(shù)據(jù)庫(kù)的查詢和視圖 78 4.1 選擇、投影和連接 79 4.1.1 選擇 79 實(shí)例:在學(xué)生情況表中找到學(xué)生表中性別為女且平均成績(jī)?cè)?0分以上的行形成一個(gè)新表 4.1.2 投影 79 實(shí)例:對(duì)“學(xué)號(hào)”和“平均成績(jī)”投影 4.1.3 連接 79 實(shí)例:連接A表和B表 4.2 數(shù)據(jù)庫(kù)的查詢 80 4.2.1 選擇列 81 實(shí)例:在SCOTT模式下,在SELECT語(yǔ)句中使用星號(hào)(*)來(lái)檢索dept表中所有的數(shù)據(jù) 實(shí)例:在SCOTT模式下,在from子句中指定兩個(gè)數(shù)據(jù)表 實(shí)例:在SCOTT模式下,檢索emp表中指定的列 實(shí)例:在SCOTT模式下,檢索emp表的指定列,并使用as關(guān)鍵字為這些列指定中文的別名 實(shí)例:檢索emp表的sal列,把其值調(diào)整為原來(lái)的1.1倍 實(shí)例:在SCOTT模式下消除結(jié)果集中重復(fù)行 4.2.2 選擇行 84 實(shí)例:查詢emp表中工資(sal)大于1500的數(shù)據(jù)記錄 實(shí)例:查詢emp表中員工姓名中以S為開(kāi)頭的員工信息 實(shí)例:在emp表中,使用IN關(guān)鍵字查詢員工信息 實(shí)例:在emp表中,使用NOT IN關(guān)鍵字查詢員工信息 實(shí)例:在emp表中,使用“BETWEEN... AND”關(guān)鍵字查詢員工信息 實(shí)例:查詢emp表中沒(méi)有獎(jiǎng)金的員工信息 實(shí)例:在emp表中,查詢出既不是最高工資,也不是最低工資的員工信息 實(shí)例:在emp表中,查詢不是銷(xiāo)售部門(mén)(SALES)的員工信息 實(shí)例:在emp表中,查詢工資大于部門(mén)編號(hào)為10的任意一個(gè)員工工資即可的其他部門(mén)的員工信息 實(shí)例:在emp表中,查詢工資大于部門(mén)編號(hào)為30的所有員工工資的員工信息 實(shí)例:在emp表中,使用“關(guān)聯(lián)子查詢”檢索工資大于同職位的平均工資的員工信息 4.2.3 連接 89 實(shí)例:通過(guò)deptno列來(lái)關(guān)聯(lián)emp表和dept表 實(shí)例:通過(guò)deptno字段來(lái)內(nèi)連接emp表和dept表 實(shí)例:使用insert語(yǔ)句插入新記錄,然后實(shí)現(xiàn)emp表和dept表之間通過(guò)deptno列進(jìn)行左外連接 實(shí)例:實(shí)現(xiàn)emp表和dept表之間通過(guò)deptno列進(jìn)行右外連接 實(shí)例:實(shí)現(xiàn)emp表和dept表之間通過(guò)deptno列進(jìn)行完全外連接 實(shí)例:實(shí)現(xiàn)emp表與dept表的自然連接 實(shí)例:查詢所有領(lǐng)導(dǎo)者所管理的下屬員工信息 實(shí)例:通過(guò)交叉連接dept表和emp表 4.2.4 統(tǒng)計(jì) 94 實(shí)例:使用COUNT函數(shù)計(jì)算員工總數(shù),使用AVG函數(shù)計(jì)算平均工資 實(shí)例:使用GROUP BY子句對(duì)工資記錄進(jìn)行分組,并計(jì)算平均工資(AVG)、所有工資的總和(SUM)、以及最高工資(MAX)和各組的行數(shù) 實(shí)例:計(jì)算每個(gè)部門(mén)的平均工資,再過(guò)濾出平均工資大于2000元的信息 4.2.5 排序 96 實(shí)例:檢索emp表中所有的數(shù)據(jù),并按照部門(mén)編號(hào)(deptno)、員工編號(hào)(empno)排序 4.3 數(shù)據(jù)庫(kù)視圖 97 4.3.1 視圖的概念 97 4.3.2 創(chuàng)建視圖 98 實(shí)例:創(chuàng)建一個(gè)查詢部門(mén)編號(hào)為20的視圖 實(shí)例:創(chuàng)建一視圖,要求能夠查詢每個(gè)部門(mén)的工資情況 4.3.3 查詢視圖 99 實(shí)例:通過(guò)select語(yǔ)句查詢視圖emp_view 4.3.4 更新視圖 100 實(shí)例:向視圖emp_myview中增加一條新紀(jì)錄 實(shí)例:將emp_view_complex視圖中員工編號(hào)是7566的員工的工資改為3000元 4.3.5 修改視圖的定義 101 實(shí)例:修改視圖emp_view_union,使該視圖實(shí)現(xiàn)查詢部門(mén)編號(hào)為30的功能 4.3.6 刪除視圖 102 實(shí)例:刪除視圖emp_view 小結(jié) 102 上機(jī)指導(dǎo) 102 習(xí)題 103 第5章 索引與數(shù)據(jù)完整性 105 5.1 索引 106 5.1.1 索引的分類(lèi) 106 5.1.2 建立索引的注意事項(xiàng) 106 5.1.3 創(chuàng)建索引 107 實(shí)例:為emp表的DEPTNO列創(chuàng)建索引 實(shí)例:在employees的salary列創(chuàng)建位圖索引 5.1.4 維護(hù)索引 109 實(shí)例:重命名索引XSB_NAME_INDEX 5.1.5 刪除索引 109 實(shí)例:刪除XSB表中的索引XSB_INDEX 5.2 數(shù)據(jù)的完整性和約束性 110 5.2.1 非空約束 110 實(shí)例:創(chuàng)建Books表,要求BookNo(圖書(shū)編號(hào)),ISBN和PublisherNo(出版社編號(hào))不能為空值 5.2.2 主鍵約束 111 實(shí)例:創(chuàng)建表Books_1,并為該表定義行級(jí)主鍵約束B(niǎo)OOK_PK 實(shí)例:使用ALTER TABLE...ADD語(yǔ)句為Books表添加主鍵約束 實(shí)例:創(chuàng)建Books_2表時(shí),在BookNo列上定義了一個(gè)由系統(tǒng)自動(dòng)分配名稱(chēng)的主鍵約束 5.2.3 唯一性約束 113 實(shí)例:創(chuàng)建一個(gè)會(huì)員表Members,并要求為該表的QQ列定義唯一性約束 5.2.4 外鍵約束 114 實(shí)例:創(chuàng)建表EMPLOYEES_TEMP,并添加外鍵約束 5.2.5 禁用約束 116 實(shí)例:創(chuàng)建一個(gè)學(xué)生信息表,并為年齡列定義一個(gè)disable狀態(tài)的Check約束 5.2.6 激活約束 117 實(shí)例:激活一個(gè)被禁用的約束 5.2.7 刪除約束 117 實(shí)例:刪除Student表中所創(chuàng)建的CHECK約束Age_CK 小結(jié) 118 上機(jī)指導(dǎo) 118 習(xí)題 119 第6章 PL/SQL語(yǔ)言介紹 120 6.1 PL/SQL概述 121 6.1.1 PL/SQL的特點(diǎn) 121 6.1.2 PL/SQL的開(kāi)發(fā)和運(yùn)行環(huán)境 121 6.2 PL/SQL字符集 121 6.2.1 合法字符 121 6.2.2 運(yùn)算符 122 實(shí)例:求員工的在職時(shí)間 實(shí)例:查詢員工工資在2000到2500的員工信息 實(shí)例:查詢員工工資不在2000到2500的員工信息 6.2.3 其他符號(hào) 122 6.3 PL/SQL變量、常量和數(shù)據(jù)類(lèi)型 123 6.3.1 定義變量和常量 123 實(shí)例:定義一個(gè)用于存儲(chǔ)國(guó)家名稱(chēng)的可變字符串變量 實(shí)例:定義一個(gè)常量con_day,用來(lái)存儲(chǔ)一年的天數(shù) 6.3.2 基本數(shù)據(jù)類(lèi)型 124 6.3.3 特殊數(shù)據(jù)類(lèi)型 125 實(shí)例:使用%type類(lèi)型的變量輸出emp表中編號(hào)為7369的員工名稱(chēng)和職務(wù)信息 實(shí)例:聲明一個(gè)記錄類(lèi)型emp_type,然后使用該類(lèi)型的變量存儲(chǔ)emp表中的一條記錄信息,并輸出這條記錄信息 實(shí)例:聲明一個(gè)%ROWTYPE類(lèi)型的變量rowVar_emp,然后使用該變量存儲(chǔ)emp表中的一行數(shù)據(jù) 6.4 PL/SQL基本程序結(jié)構(gòu)和語(yǔ)句 128 6.4.1 PL/SQL程序塊 128 實(shí)例:定義一個(gè)PL/SQL代碼塊,計(jì)算兩個(gè)整數(shù)的和與這個(gè)兩個(gè)整數(shù)的差的商 6.4.2 選擇語(yǔ)句 129 實(shí)例:比較兩個(gè)字符串的長(zhǎng)度 實(shí)例:通過(guò)if...else語(yǔ)句實(shí)現(xiàn)只有年齡大于等于56歲,才可以申請(qǐng)退休,否則程序會(huì)提示不可以申請(qǐng)退休 實(shí)例:指定一個(gè)月份數(shù)值,然后使用if... then...elsif語(yǔ)句判斷它所屬的季節(jié) 6.4.3 循環(huán)結(jié)構(gòu) 133 實(shí)例:使用loop語(yǔ)句求得前100個(gè)自然數(shù)的和 實(shí)例:使用while語(yǔ)句求前100個(gè)自然數(shù)的和 實(shí)例:使用for語(yǔ)句求得前100個(gè)自然數(shù)中偶數(shù)之和 6.4.4 選擇和跳轉(zhuǎn)語(yǔ)句 135 實(shí)例:判斷季度所包含的月份 6.4.5 異!137 實(shí)例:使用SELECT INTO語(yǔ)句檢索emp表中部門(mén)編號(hào)為10的雇員記錄信息,然后使用“too_many_rows”預(yù)定義異常捕獲錯(cuò)誤信息并輸出 實(shí)例:定義錯(cuò)誤編號(hào)為“-00001”的異常變量,然后向dept表中插入一條能夠“違反唯一約束條件”的記錄,最后在exception代碼體中輸出異常提示信息 實(shí)例:自定義一個(gè)異常變量,在向dept表中插入數(shù)據(jù)時(shí),若判斷l(xiāng)oc字段的值為null,則使用raise語(yǔ)句引發(fā)異常,并將程序的執(zhí)行流程轉(zhuǎn)入到EXCEPTION部分進(jìn)行處理 6.4.6 空操作和空值 142 6.5 系統(tǒng)內(nèi)置函數(shù) 142 6.5.1 字符類(lèi)函數(shù) 142 實(shí)例:分別求得字符“Z、H、D和空格”的ASCII值 實(shí)例:使用concat函數(shù)連接“Hello”和“World”兩個(gè)字符串 實(shí)例:使用initcap函數(shù)轉(zhuǎn)換字符串“oh my god!”的輸出 實(shí)例:在字符串“oracle 11g”中,從第3個(gè)字符開(kāi)始查詢字符串“1”第2次出現(xiàn)的位置 實(shí)例:在SCOTT模式下,通過(guò)使用length函數(shù)返回雇員名稱(chēng)長(zhǎng)度大于5的雇員信息及所在部門(mén)信息 實(shí)例:在SCOTT模式下,在emp表中檢索雇員名稱(chēng)以字母“j”開(kāi)頭的員工信息,并將ename字段的值轉(zhuǎn)換為小寫(xiě) 實(shí)例:使用LTRIM、RTRIM和TRIM函數(shù)分別去掉字符串“####East####”、“East”和“####East###”中左側(cè)“#”、右側(cè)空格和左右兩側(cè)的“#” 實(shí)例:使用REPLACE函數(shù)把字符串“Bad Luck Bad Gril”中的“Bad”字符串用“Good”替換掉 實(shí)例:使用SUBSTR函數(shù)在字符串“'MessageBox'”中從第8個(gè)位置截取長(zhǎng)度為3的子字符串 6.5.2 數(shù)字類(lèi)函數(shù) 145 實(shí)例:使用CEIL函數(shù)返回3個(gè)指定小數(shù)的整數(shù)值 實(shí)例:使用ROUND函數(shù)返回PI為兩位小數(shù)的值 實(shí)例:使用POWER函數(shù)計(jì)算2的3次方的值 6.5.3 日期和時(shí)間類(lèi)函數(shù) 146 實(shí)例:使用SYSDATE函數(shù)返回當(dāng)期系統(tǒng)的日期 實(shí)例:使用ADD_MONTHS函數(shù)在當(dāng)前日期下加上6個(gè)月 6.5.4 轉(zhuǎn)換類(lèi)函數(shù) 147 實(shí)例:使用TO_CHAR函數(shù)轉(zhuǎn)換系統(tǒng)日期為“YYYY-MM-DD”格式 實(shí)例:使用TO_NUMBER函數(shù)把16進(jìn)制數(shù)“18f”轉(zhuǎn)轉(zhuǎn)為10進(jìn)制數(shù) 6.5.5 聚合類(lèi)函數(shù) 147 6.6 函數(shù) 148 6.6.1 函數(shù)的創(chuàng)建與調(diào)用 148 實(shí)例:定義一個(gè)函數(shù),用于計(jì)算emp表中指定某個(gè)部門(mén)的平均工資 實(shí)例:調(diào)用函數(shù)get_avg_pay,計(jì)算部門(mén)編號(hào)為10的雇員平均工資并輸出 6.6.2 函數(shù)的刪除 149 實(shí)例:使用drop function命令刪除get_avg_pay函數(shù) 6.7 游標(biāo) 149 6.7.1 顯式游標(biāo) 150 實(shí)例:聲明一個(gè)檢索emp表中雇員信息的游標(biāo),然后打開(kāi)游標(biāo),并指定檢索職務(wù)是“MANAGER”的雇員信息,接著使用fetch... into語(yǔ)句和while循環(huán)讀取游標(biāo)中的所有雇員信息,最后輸出讀取的雇員信息 6.7.2 隱式游標(biāo) 153 實(shí)例:把emp表中銷(xiāo)售員的工作上調(diào)20%,再使用隱式游標(biāo)sql的%rowcount屬性輸出上調(diào)工資的人數(shù) 6.7.3 使用游標(biāo)變量 153 6.7.4 使用游標(biāo)表達(dá)式 155 6.8 程序包的使用 155 6.8.1 程序包的規(guī)范 156 實(shí)例:創(chuàng)建一個(gè)程序包的“規(guī)范”,首先在該程序包中聲明一個(gè)可以獲取指定部門(mén)的平均工資的函數(shù),然后再聲明一個(gè)可以實(shí)現(xiàn)按照指定比例上調(diào)指定職務(wù)的工資的存儲(chǔ)過(guò)程 6.8.2 程序包的主體 157 實(shí)例:創(chuàng)建程序包pack_emp的主體,在該主體中實(shí)現(xiàn)對(duì)應(yīng)“規(guī)范”中聲明的函數(shù)和存儲(chǔ)過(guò)程 小結(jié) 158 上機(jī)指導(dǎo) 158 習(xí)題 159 第7章 存儲(chǔ)過(guò)程和觸發(fā)器 160 7.1 存儲(chǔ)過(guò)程 161 7.1.1 存儲(chǔ)過(guò)程的創(chuàng)建和執(zhí)行 161 實(shí)例:創(chuàng)建一個(gè)存儲(chǔ)過(guò)程,該存儲(chǔ)過(guò)程實(shí)現(xiàn)向dept表中插入一條記錄 實(shí)例:使用execute命令執(zhí)行pro_insertDept存儲(chǔ)過(guò)程 7.1.2 存儲(chǔ)過(guò)程的修改 162 7.1.3 存儲(chǔ)過(guò)程的刪除 163 實(shí)例:刪除存儲(chǔ)過(guò)程pro_insertDept 7.2 觸發(fā)器 163 7.2.1 利用SQL語(yǔ)句創(chuàng)建觸發(fā)器 163 實(shí)例:在SCOT模式下創(chuàng)建dept_log數(shù)據(jù)表,并在其中定義兩個(gè)字段,分別用來(lái)存儲(chǔ)操作種類(lèi)信息和操作日期 實(shí)例:創(chuàng)建一個(gè)觸發(fā)器tri_dept,該觸發(fā)器在insert、update和delete事件下都可以被觸發(fā),并且操作的數(shù)據(jù)對(duì)象是dept表。然后要求在觸發(fā)器執(zhí)行時(shí)輸出對(duì)dept表所做的具體操作 實(shí)例:在system模式下,給scott用戶授予“create view”(創(chuàng)建視圖)權(quán)限,然后在soctt模式下創(chuàng)建一個(gè)檢索雇員信息的視圖 實(shí)例:創(chuàng)建一個(gè)關(guān)于view_emp_dept視圖的替換觸發(fā)器,在該觸發(fā)器的主體中實(shí)現(xiàn)向emp表和dept表中插入兩行相互關(guān)聯(lián)的數(shù)據(jù) 實(shí)例:創(chuàng)建一個(gè)用戶事件觸發(fā)器,記錄用戶SYSTEM所刪除的所有對(duì)象 7.2.2 利用界面方式創(chuàng)建觸發(fā)器 169 7.2.3 啟用和禁用觸發(fā)器 170 7.2.4 觸發(fā)器的刪除 171 7.3 事務(wù) 171 7.3.1 事務(wù)的概念 171 7.3.2 事務(wù)處理 172 實(shí)例:提交事務(wù) 實(shí)例:在emp數(shù)據(jù)表中,刪除員工編號(hào)是7902的記錄,然后事務(wù)回滾,恢復(fù)數(shù)據(jù) 實(shí)例:使用保存點(diǎn)(savepoint)來(lái)回滾 記錄 7.3.3 自治事務(wù) 178 7.4 鎖 178 7.4.1 鎖機(jī)制和死鎖 179 7.4.2 鎖的類(lèi)型 179 7.4.3 表鎖和事務(wù)鎖 180 小結(jié) 181 上機(jī)指導(dǎo) 181 習(xí)題 182 第8章 高級(jí)數(shù)據(jù)類(lèi)型 183 8.1 Oracle數(shù)據(jù)庫(kù)與大對(duì)象數(shù)據(jù) 184 8.1.1 大對(duì)象數(shù)據(jù)類(lèi)型 184 8.1.2 Oracle數(shù)據(jù)庫(kù)中導(dǎo)入大對(duì)象數(shù)據(jù) 184 實(shí)例:向表中的BLOB列插入一個(gè)圖片文件,可以通過(guò)創(chuàng)建一個(gè)存儲(chǔ)過(guò)程來(lái)完成 8.2 Oracle數(shù)據(jù)庫(kù)與XML 187 8.2.1 XML概述 187 8.2.2 Oracle XML DB概述 189 8.2.3 Oracle數(shù)據(jù)庫(kù)中導(dǎo)入XML數(shù)據(jù) 190 實(shí)例:向表Xmltable中插入22201號(hào)學(xué)生的聯(lián)系方式 實(shí)例:將以下的XML數(shù)據(jù)保存為D盤(pán)DIR(MYDIR邏輯)下的22202.xml文件,并作為22202號(hào)學(xué)生的聯(lián)系方式插入Xmltable表中 8.2.4 XQuery的基本用法 192 實(shí)例:查詢Xmltable表中<郵政編碼>節(jié)點(diǎn)是否存在 實(shí)例:查詢是否存在“姓名”為張?jiān)碌膶傩?/span> 實(shí)例:讀取學(xué)號(hào)為22201的學(xué)生的電話 實(shí)例:返回學(xué)號(hào)為22201的學(xué)生的<地址>節(jié)點(diǎn)下的所有信息 實(shí)例:將學(xué)號(hào)為22202的學(xué)生的<生活直轄市>節(jié)點(diǎn)的值改為“浙江” 實(shí)例:使用FLWOR表達(dá)式在Oracle中執(zhí)行查詢 小結(jié) 196 上機(jī)指導(dǎo) 196 習(xí)題 197 第9章 系統(tǒng)安全管理 198 9.1 用戶 199 9.1.1 創(chuàng)建用戶 199 實(shí)例:創(chuàng)建一個(gè)mr用戶,口令為mrsoft,并設(shè)置默認(rèn)的表空間為users,臨時(shí)表空間為temp的用戶 實(shí)例:創(chuàng)建一個(gè)east用戶,口令為mrsoft 實(shí)例:創(chuàng)建一個(gè)用戶名為df,口令為mrsoft,臨時(shí)表空間為temp,默認(rèn)表空間為tbsp_1,并且該用戶使用tbsp_1表空間不受限制 9.1.2 管理用戶 201 實(shí)例:修改用戶east在表空間上的磁盤(pán)限額為20M 實(shí)例:修改用戶east的新口令為12345 實(shí)例:使用ALTER USER命令解除被鎖定的賬戶SH 實(shí)例:使用DROP USER語(yǔ)句刪除用戶df,并連同該用戶所擁有的對(duì)象一起刪除 9.2 權(quán)限管理 202 9.2.1 權(quán)限概述 202 9.2.2 系統(tǒng)權(quán)限管理 203 實(shí)例:為用戶east授予連接和開(kāi)發(fā)系統(tǒng)權(quán)限 實(shí)例:在創(chuàng)建用戶dongfang和xifang后,首先system將創(chuàng)建session和創(chuàng)建table的權(quán)限授權(quán)給dongfang,然后dongfang再將這兩個(gè)權(quán)限傳遞給xifang,最后通過(guò)xifang這個(gè)用戶創(chuàng)建一個(gè)數(shù) 據(jù)表 實(shí)例:撤銷(xiāo)east用戶的resource系統(tǒng)權(quán)限 9.2.3 對(duì)象權(quán)限管理 205 實(shí)例:給用戶xifang授予select、insert、delete和update表scott.emp的權(quán)限 實(shí)例:從xifang用戶撤銷(xiāo)scott.emp表的update和delete權(quán)限 9.2.4 安全特性 205 9.3 角色管理 207 9.3.1 角色概述 207 9.3.2 創(chuàng)建用戶角色 208 實(shí)例:創(chuàng)建一個(gè)名為designer的角色,角色口令為123456 9.3.3 管理用戶角色 208 實(shí)例:首先取消designer角色的密碼,然后再重新給該角色設(shè)置一個(gè)密碼 實(shí)例:創(chuàng)建一個(gè)無(wú)需密碼驗(yàn)證的角色queryer,然后設(shè)置該角色生效,接下來(lái)再設(shè)置帶有密碼的角色designer也生效 9.4 概要文件和數(shù)據(jù)字典視圖 209 9.4.1 使用概要文件管理密碼 209 實(shí)例:創(chuàng)建profile文件,要求設(shè)置連續(xù)失敗次數(shù)為5,超過(guò)該次數(shù)后,賬戶將被鎖定7天,然后使用alter user語(yǔ)句將profile文件分配給用戶dongfang 實(shí)例:創(chuàng)建一個(gè)profile文件,并設(shè)置用戶的密碼有效期為30天,密碼寬限期為3天,然后使用alter user語(yǔ)句將profile文件分配給用戶dongfang 9.4.2 使用概要文件管理資源 211 實(shí)例:首先使用show命令查看RESO-URCE_LIMIT參數(shù)的值,然后使用alter system命令修改該參數(shù)的值為true,從而激活資源限制 9.4.3 數(shù)據(jù)字典視圖 212 9.5 審計(jì) 214 9.5.1 審計(jì)啟用 214 9.5.2 登錄審計(jì) 216 9.5.3 操作審計(jì) 217 實(shí)例:使用戶AUTHOR的所有更新操作都要被審計(jì) 9.5.4 權(quán)限審計(jì) 218 實(shí)例:分別對(duì)mr和east用戶進(jìn)行系統(tǒng)權(quán)限級(jí)別審計(jì) 小結(jié) 219 上機(jī)指導(dǎo) 219 習(xí)題 220 第10章 備份和恢復(fù) 221 10.1 備份和恢復(fù)概述 222 10.2 RMAN備份恢復(fù)工具 223 10.2.1 RMAN的好處 223 10.2.2 RMAN組件基礎(chǔ) 224 10.2.3 分配RMAN通道 225 10.2.4 RMAN的常用命令 227 實(shí)例:首先創(chuàng)建恢復(fù),然后使用RMAN工具連接到數(shù)據(jù)庫(kù),最后注冊(cè)數(shù)據(jù)庫(kù) 10.3 使用RMAN工具實(shí)現(xiàn)數(shù)據(jù)備份 228 10.3.1 RMAN備份策略 228 10.3.2 使用RMAN備份數(shù)據(jù)庫(kù)文件和歸檔日志 229 實(shí)例:實(shí)現(xiàn)非一致性備份整個(gè)數(shù)據(jù)庫(kù) 實(shí)例:實(shí)現(xiàn)備份tbsp_1和ts_1表空間 實(shí)例:實(shí)現(xiàn)備份指定的數(shù)據(jù)文件 實(shí)例:實(shí)現(xiàn)備份指定的控制文件 實(shí)例:實(shí)現(xiàn)備份歸檔重做日志文件 10.3.3 增量備份 231 實(shí)例:對(duì)system、sysaux和users表空間進(jìn)行了一次0級(jí)差異增量備份 實(shí)例:將對(duì)system表空間進(jìn)行1級(jí)增量備份 實(shí)例:對(duì)表空間example進(jìn)行2級(jí)累積增量備份 10.4 使用RMAN工具實(shí)現(xiàn)數(shù)據(jù)恢復(fù) 232 10.4.1 數(shù)據(jù)的完全恢復(fù) 232 實(shí)例:在NOARCHIVELOG模式下備份和恢復(fù)數(shù)據(jù)庫(kù) 實(shí)例:恢復(fù)ARCHIVELOG模式下的數(shù)據(jù)庫(kù) 10.4.2 數(shù)據(jù)的不完全恢復(fù) 234 實(shí)例:實(shí)現(xiàn)基于時(shí)間的不完全恢復(fù) 實(shí)例:假設(shè)某個(gè)用戶不小心刪除了scott.emp表中的所有記錄,DBA需要查看刪除數(shù)據(jù)的事務(wù)的SCN號(hào),以執(zhí)行基于更改的不完全恢復(fù)恢復(fù)被用戶誤刪除的數(shù)據(jù) 10.5 數(shù)據(jù)泵 237 10.5.1 數(shù)據(jù)泵概述 237 10.5.2 數(shù)據(jù)泵的使用 238 實(shí)例:創(chuàng)建一個(gè)DIRECTORY對(duì)象,并為SCOTT用戶授予使用該的權(quán)限 實(shí)例:導(dǎo)出scott方案中的dept和emp表 實(shí)例:導(dǎo)出scott和hr方案中的所有對(duì)象 實(shí)例:導(dǎo)出表空間tbsp_1 實(shí)例:導(dǎo)出整個(gè)數(shù)據(jù)庫(kù) 實(shí)例:將表dept、emp導(dǎo)入SYSTEM方案 實(shí)例:將scott方案中的所有對(duì)象導(dǎo)入system方案 實(shí)例:將tbsp_1表空間中的所有對(duì)象都導(dǎo)入當(dāng)前數(shù)據(jù)庫(kù) 實(shí)例:從personnel_manage.dmp文件中導(dǎo)入所有數(shù)據(jù)庫(kù) 實(shí)例:使用自由格式加載TXT文件 實(shí)例:通過(guò)SQL*Loader加載Excel文件中的數(shù)據(jù) 小結(jié) 244 上機(jī)指導(dǎo) 244 習(xí)題 246 第11章 閃回操作和Undo表空間 247 11.1 閃回操作 248 11.1.1 基本概念 248 11.1.2 閃回?cái)?shù)據(jù)庫(kù) 248 實(shí)例:設(shè)置閃回?cái)?shù)據(jù)庫(kù)環(huán)境 實(shí)例:數(shù)據(jù)庫(kù)閃回 11.1.3 閃回?cái)?shù)據(jù)表 252 實(shí)例:創(chuàng)建一個(gè)表,然后刪除某些數(shù)據(jù),最后利用表閃回命令恢復(fù) 11.1.4 閃回丟棄 254 實(shí)例:數(shù)據(jù)準(zhǔn)備、刪除表、查看回收站信息、恢復(fù)及查詢恢復(fù) 11.1.5 其他閃回技術(shù) 255 11.2 Undo表空間 257 11.2.1 自動(dòng)Undo管理 257 11.2.2 Undo表空間的優(yōu)點(diǎn) 257 11.2.3 Undo表空間管理參數(shù) 257 11.2.4 創(chuàng)建和管理Undo表空間 258 實(shí)例:創(chuàng)建一個(gè)Undo表空間,并指定數(shù)據(jù)文件大小為3G 實(shí)例:向表空間undo_tbs_1中添加一個(gè)新的數(shù)據(jù)文件,指定該文件大小為2G 實(shí)例:把當(dāng)前系統(tǒng)的默認(rèn)Undo表空間切換到自定義撤銷(xiāo)表空間undo_tbs_1 實(shí)例:把當(dāng)前歷程的Undo表空間從“undo_tbs_1”切換到“undotbs1”,然后再刪除“undo_tbs_1”表空間 小結(jié) 259 上機(jī)指導(dǎo) 259 習(xí)題 260 第12章 其他概念 261 12.1 數(shù)據(jù)庫(kù)鏈接 262 12.1.1 創(chuàng)建數(shù)據(jù)庫(kù)鏈接 262 實(shí)例:為數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)名為MY_PLINK的公用鏈接 12.1.2 使用數(shù)據(jù)庫(kù)鏈接 263 實(shí)例:查詢遠(yuǎn)程數(shù)據(jù)庫(kù)personnel_manage表tb_record中的所有員工檔案信息 實(shí)例:為personnel_manage遠(yuǎn)程數(shù)據(jù)庫(kù)表tb_record創(chuàng)建一個(gè)同義詞 12.1.3 刪除數(shù)據(jù)庫(kù)鏈接 263 實(shí)例:刪除公用數(shù)據(jù)庫(kù)鏈接MY_PLINK 12.2 快照 264 實(shí)例:創(chuàng)建一個(gè)名為EM_LINK的私有數(shù)據(jù)庫(kù)鏈接 12.2.1 創(chuàng)建快照 264 實(shí)例:在本地服務(wù)器上創(chuàng)建快照 12.2.2 修改快照 268 實(shí)例:修改快照 12.2.3 刪除快照 269 12.3 序列 269 12.3.1 創(chuàng)建序列 269 實(shí)例:在SCOTT模式下,創(chuàng)建一個(gè)序列empno_seq 實(shí)例:在SCOTT模式下,使用序列empno_seq為emp表的新紀(jì)錄提供員工編號(hào) 12.3.2 管理序列 271 實(shí)例:在SCOTT模式下,修改序列empno_seq的最大值為100000,序列增量為200,緩存值為100 實(shí)例:使用drop sequence 語(yǔ)句刪除empno_seq序列 小結(jié) 271 上機(jī)指導(dǎo) 271 習(xí)題 272 第13章 綜合案例——企業(yè)人事 管理系統(tǒng) 273 13.1 需求分析 274 13.2 系統(tǒng)設(shè)計(jì) 274 13.2.1 系統(tǒng)目標(biāo) 274 13.2.2 系統(tǒng)功能結(jié)構(gòu) 274 13.2.3 系統(tǒng)業(yè)務(wù)流程 274 13.2.4 系統(tǒng)預(yù)覽 275 13.2.5 系統(tǒng)編碼規(guī)范 278 13.3 系統(tǒng)開(kāi)發(fā)及運(yùn)行環(huán)境 278 13.4 數(shù)據(jù)庫(kù)設(shè)計(jì) 278 13.4.1 實(shí)體E-R圖設(shè)計(jì) 278 13.4.2 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì) 280 13.5 系統(tǒng)文件夾組織結(jié)構(gòu) 281 13.6 公共模塊設(shè)計(jì) 281 13.6.1 編寫(xiě)Hibernate配置文件 281 13.6.2 編寫(xiě)Hibernate持久化類(lèi)和映射文件 282 13.6.3 編寫(xiě)通過(guò)Hibernate操作持久化對(duì)象的常用方法 283 13.6.4 創(chuàng)建用于特殊效果的部門(mén)樹(shù)對(duì)話框 284 13.6.5 創(chuàng)建通過(guò)部門(mén)樹(shù)選取員工的面板和對(duì)話框 286 13.7 Hibernate關(guān)聯(lián)關(guān)系的建立方法 287 13.7.1 建立一對(duì)一關(guān)聯(lián) 288 13.7.2 建立一對(duì)多關(guān)聯(lián) 289 13.8 主窗體設(shè)計(jì) 290 13.8.1 實(shí)現(xiàn)導(dǎo)航欄 290 13.8.2 實(shí)現(xiàn)工具欄 292 13.9 人事管理模塊設(shè)計(jì) 294 13.9.1 實(shí)現(xiàn)上傳員工照片功能 296 13.9.2 實(shí)現(xiàn)組件聯(lián)動(dòng)功能 298 13.9.3 通過(guò)Java反射驗(yàn)證數(shù)據(jù)是否為空 300 13.10 待遇管理模塊設(shè)計(jì) 301 13.10.1 實(shí)現(xiàn)建立一個(gè)新的賬套 301 13.10.2 實(shí)現(xiàn)為新建的賬套添加項(xiàng)目 302 13.10.3 實(shí)現(xiàn)修改項(xiàng)目的金額 303 13.10.4 實(shí)現(xiàn)統(tǒng)計(jì)報(bào)表 305 13.11 系統(tǒng)維護(hù)模塊設(shè)計(jì) 306 13.11.1 實(shí)現(xiàn)修改名稱(chēng)功能 308 13.11.2 實(shí)現(xiàn)添加部門(mén)的功能 309 13.11.3 實(shí)現(xiàn)刪除現(xiàn)有部門(mén)的功能 311
小結(jié) 312
你還可能感興趣
我要評(píng)論
|