Oracle教程 (第6版)(Oracle 11g版) 課件 第1、2章 數(shù)據(jù)庫(kù)基礎(chǔ);Oracle 11g數(shù)據(jù)庫(kù)介紹_第1頁(yè)
Oracle教程 (第6版)(Oracle 11g版) 課件 第1、2章 數(shù)據(jù)庫(kù)基礎(chǔ);Oracle 11g數(shù)據(jù)庫(kù)介紹_第2頁(yè)
Oracle教程 (第6版)(Oracle 11g版) 課件 第1、2章 數(shù)據(jù)庫(kù)基礎(chǔ);Oracle 11g數(shù)據(jù)庫(kù)介紹_第3頁(yè)
Oracle教程 (第6版)(Oracle 11g版) 課件 第1、2章 數(shù)據(jù)庫(kù)基礎(chǔ);Oracle 11g數(shù)據(jù)庫(kù)介紹_第4頁(yè)
Oracle教程 (第6版)(Oracle 11g版) 課件 第1、2章 數(shù)據(jù)庫(kù)基礎(chǔ);Oracle 11g數(shù)據(jù)庫(kù)介紹_第5頁(yè)
已閱讀5頁(yè),還剩55頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第1章數(shù)據(jù)庫(kù)基礎(chǔ)數(shù)據(jù)庫(kù)基本概念01數(shù)據(jù)庫(kù)系統(tǒng)1.?dāng)?shù)據(jù)庫(kù)2.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)3.?dāng)?shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)1.?dāng)?shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)(DB)是存放數(shù)據(jù)的倉(cāng)庫(kù),這些數(shù)據(jù)是相關(guān)聯(lián)并按一定的格式存放在計(jì)算機(jī)內(nèi)的。例如,把一個(gè)學(xué)校的學(xué)生、課程、成績(jī)等數(shù)據(jù)有序地組織并存放在計(jì)算機(jī)內(nèi),就可以構(gòu)成一個(gè)數(shù)據(jù)庫(kù)。2.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是按一定的數(shù)據(jù)模型組織數(shù)據(jù)形成數(shù)據(jù)庫(kù),并對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理的系統(tǒng)。簡(jiǎn)單地說(shuō),DBMS就是管理數(shù)據(jù)庫(kù)的系統(tǒng)(軟件)。數(shù)據(jù)庫(kù)系統(tǒng)管理員(DataBaseAdministrator,DBA)通過(guò)DBMS對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理。數(shù)據(jù)庫(kù)系統(tǒng)3.?dāng)?shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)與操作數(shù)據(jù)庫(kù)的應(yīng)用程序,加上支撐它們的硬件平臺(tái)、軟件平臺(tái)和與數(shù)據(jù)庫(kù)有關(guān)的人員一起構(gòu)成了一個(gè)完整的數(shù)據(jù)庫(kù)系統(tǒng)。如圖所示為數(shù)據(jù)庫(kù)系統(tǒng)的構(gòu)成。02數(shù)據(jù)模型1.層次模型2.網(wǎng)狀模型3.關(guān)系模型數(shù)據(jù)模型1.層次模型層次模型將數(shù)據(jù)組織成一對(duì)多關(guān)系的結(jié)構(gòu),可采用關(guān)鍵字來(lái)訪問(wèn)其中每個(gè)層次的每個(gè)部分。它的優(yōu)點(diǎn):存取方便且速度快;結(jié)構(gòu)清晰,容易理解;數(shù)據(jù)修改和數(shù)據(jù)庫(kù)擴(kuò)展容易實(shí)現(xiàn);檢索關(guān)鍵屬性十分方便。它的缺點(diǎn):結(jié)構(gòu)不夠靈活;同一屬性數(shù)據(jù)要存儲(chǔ)多次,數(shù)據(jù)冗余大;不適合于拓?fù)淇臻g數(shù)據(jù)的組織。如圖所示為按層次模型組織的數(shù)據(jù)示例。數(shù)據(jù)模型2.網(wǎng)狀模型網(wǎng)狀模型具有多對(duì)多類型的數(shù)據(jù)組織方式。它的優(yōu)點(diǎn):能明確而方便地表示數(shù)據(jù)間的復(fù)雜關(guān)系;數(shù)據(jù)冗余小。它的缺點(diǎn):網(wǎng)狀結(jié)構(gòu)的復(fù)雜性增加了用戶查詢和定位的困難;需要存儲(chǔ)數(shù)據(jù)間聯(lián)系的指針,使得數(shù)據(jù)量增大;數(shù)據(jù)的修改不方便。如圖所示為按網(wǎng)狀模型組織的數(shù)據(jù)示例。數(shù)據(jù)模型3.關(guān)系模型關(guān)系模型以記錄組或二維數(shù)據(jù)表的形式組織數(shù)據(jù),以便于利用各種實(shí)體與屬性之間的關(guān)系進(jìn)行存儲(chǔ)和變換,不分層也無(wú)指針,是建立空間數(shù)據(jù)和屬性數(shù)據(jù)之間關(guān)系的一種非常有效的數(shù)據(jù)組織方法。它的優(yōu)點(diǎn):結(jié)構(gòu)特別靈活,概念單一,能滿足所有布爾邏輯運(yùn)算和數(shù)學(xué)運(yùn)算規(guī)則形成的查詢要求;能搜索、組合和比較不同類型的數(shù)據(jù);增加和刪除數(shù)據(jù)的操作非常方便;具有更高的數(shù)據(jù)獨(dú)立性、更好的安全保密性。它的缺點(diǎn):當(dāng)數(shù)據(jù)庫(kù)大時(shí),查找滿足特定關(guān)系的數(shù)據(jù)會(huì)很費(fèi)時(shí),且無(wú)法表達(dá)空間關(guān)系。例如,在學(xué)生成績(jī)管理系統(tǒng)所涉及的“學(xué)生”表、“課程”表和“成績(jī)”表中,“學(xué)生”表的主要信息有學(xué)號(hào)、姓名、性別、出生時(shí)間、專業(yè)、總學(xué)分、備注;“課程”表的主要信息有課程號(hào)、課程名、開(kāi)課學(xué)期、學(xué)時(shí)和學(xué)分;“成績(jī)”表的主要信息有學(xué)號(hào)、課程號(hào)和成績(jī)。數(shù)據(jù)模型如表所示分別描述了學(xué)生成績(jī)管理系統(tǒng)中“學(xué)生”表、“課程”表和“成績(jī)”表的部分?jǐn)?shù)據(jù)。學(xué)

號(hào)姓

名性

別出生時(shí)間專

業(yè)總

學(xué)

分備

注151101王林男1997-02-10計(jì)算機(jī)50

151103王燕女1996-10-06計(jì)算機(jī)50

151108林一帆男1996-08-05計(jì)算機(jī)52已提前修完一門課151202王林男1996-01-29通信工程40有一門課不及格,待補(bǔ)考151204馬琳琳女1996-02-10通信工程42

“學(xué)生”表課

號(hào)課

名開(kāi)課學(xué)期學(xué)

時(shí)學(xué)

分0101計(jì)算機(jī)基礎(chǔ)18050102程序設(shè)計(jì)與語(yǔ)言26840206離散數(shù)學(xué)4684“課程”表數(shù)據(jù)模型學(xué)

號(hào)課

號(hào)成

績(jī)學(xué)

號(hào)課

號(hào)成

績(jī)15110110180151108101851511011027815110810264151101206761511082068715110310162151202101651511031027015120410191“成績(jī)”表表格中的一行稱為一個(gè)記錄,一列稱為一個(gè)字段,每列的標(biāo)題稱為字段名。如果給每個(gè)關(guān)系表取一個(gè)名字,則有n個(gè)字段的關(guān)系表結(jié)構(gòu)可表示為:關(guān)系表名(字段名1,…,字段名n),通常把關(guān)系表的結(jié)構(gòu)稱為關(guān)系模式。03關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言(1)數(shù)據(jù)定義語(yǔ)言(DDL)。DDL用于執(zhí)行數(shù)據(jù)庫(kù)的任務(wù),對(duì)數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)中的各種對(duì)象進(jìn)行創(chuàng)建、刪除、修改等操作。如前所述,數(shù)據(jù)庫(kù)對(duì)象主要包括表、默認(rèn)約束、規(guī)則、視圖、觸發(fā)器、存儲(chǔ)過(guò)程。DDL包括的主要語(yǔ)句及功能如表。語(yǔ)

句功

能CREATE創(chuàng)建數(shù)據(jù)庫(kù)或數(shù)據(jù)庫(kù)對(duì)象ALTER對(duì)數(shù)據(jù)庫(kù)或數(shù)據(jù)庫(kù)對(duì)象進(jìn)行修改DROP刪除數(shù)據(jù)庫(kù)或數(shù)據(jù)庫(kù)對(duì)象關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言(2)數(shù)據(jù)操縱語(yǔ)言(DML)。DML用于操縱數(shù)據(jù)庫(kù)中的各種對(duì)象,以及檢索和修改數(shù)據(jù)。DML包括的主要語(yǔ)句及功能如表。語(yǔ)

句功

能SELECT從表或視圖中檢索數(shù)據(jù)INSERT將數(shù)據(jù)插入到表或視圖中UPDATE修改表或視圖中的數(shù)據(jù)DELETE從表或視圖中刪除數(shù)據(jù)(3)數(shù)據(jù)控制語(yǔ)言(DCL)。DCL用于安全管理,可確定哪些用戶可以查看或修改數(shù)據(jù)庫(kù)中的數(shù)據(jù)。DCL包括的主要語(yǔ)句及功能如表。語(yǔ)

句功

能GRANT授予權(quán)限REVOKE收回權(quán)限D(zhuǎn)ENY收回權(quán)限,并禁止從其他角色繼承許可權(quán)限(4)數(shù)據(jù)查詢語(yǔ)言(DQL)。用戶通過(guò)SELECT語(yǔ)言實(shí)現(xiàn)各種查詢功能。第1章數(shù)據(jù)庫(kù)基礎(chǔ)數(shù)據(jù)庫(kù)設(shè)計(jì)01概念數(shù)據(jù)模型1.一對(duì)一的聯(lián)系(1∶1)2.一對(duì)多的聯(lián)系(1∶n)3.多對(duì)多的聯(lián)系(m∶n)概念數(shù)據(jù)模型把每個(gè)實(shí)體集涉及的信息項(xiàng)稱為屬性,就“學(xué)生”實(shí)體集而言,它的屬性有:學(xué)號(hào)、姓名、性別、出生時(shí)間、專業(yè)、總學(xué)分和備注?!罢n程”實(shí)體集屬性有:課程號(hào)、課程名、開(kāi)課學(xué)期、學(xué)時(shí)和學(xué)分。實(shí)體集中的實(shí)體彼此是可區(qū)別的。如果實(shí)體集中的屬性或最小屬性組合的值能唯一標(biāo)識(shí)其對(duì)應(yīng)實(shí)體,則將該屬性或?qū)傩越M合稱為碼。碼可能有多個(gè),對(duì)于每一個(gè)實(shí)體集,可指定一個(gè)碼為主碼。如果用矩形框表示實(shí)體集,用帶半圓的矩形框表示屬性,用線段連接實(shí)體集與屬性,當(dāng)一個(gè)屬性或?qū)傩越M合指定為主碼時(shí),在實(shí)體集與屬性的連接線上標(biāo)記一斜線,則可以用如圖所示的形式描述學(xué)生成績(jī)管理系統(tǒng)中的實(shí)體集及每個(gè)實(shí)體集涉及的屬性。概念數(shù)據(jù)模型實(shí)體集A和實(shí)體集B之間存在各種關(guān)系,通常把這些關(guān)系稱為“聯(lián)系”。將實(shí)體集及實(shí)體集聯(lián)系的圖表示稱為實(shí)體(Entity)-聯(lián)系(Relationship)模型,即E-R模型。E-R圖就是E-R模型的描述方法,即實(shí)體-聯(lián)系圖。通常,關(guān)系數(shù)據(jù)庫(kù)的設(shè)計(jì)者使用E-R圖來(lái)對(duì)信息世界建模。在E-R圖中,用矩形表示實(shí)體型,用帶半圓的矩形框表示屬性,用菱形表示聯(lián)系。從分析用戶項(xiàng)目涉及的數(shù)據(jù)對(duì)象及數(shù)據(jù)對(duì)象之間的聯(lián)系出發(fā),到獲取E-R圖的這個(gè)過(guò)程稱為概念結(jié)構(gòu)設(shè)計(jì)。兩個(gè)實(shí)體集A和B之間的聯(lián)系可能是以下三種情況之一。1.一對(duì)一的聯(lián)系(1∶1)實(shí)體A中的一個(gè)實(shí)體最多與實(shí)體B中的一個(gè)實(shí)體相聯(lián)系,實(shí)體B中的一個(gè)實(shí)體也最多與實(shí)體A中的一個(gè)實(shí)體相聯(lián)系。例如,“班級(jí)”與“班長(zhǎng)”這兩個(gè)實(shí)體集之間是一對(duì)一的聯(lián)系,因?yàn)橐粋€(gè)班級(jí)只有一個(gè)班長(zhǎng),反過(guò)來(lái),一個(gè)班長(zhǎng)只屬于一個(gè)班級(jí)?!鞍嗉?jí)”與“班長(zhǎng)”兩個(gè)實(shí)體集的E-R圖如圖。概念數(shù)據(jù)模型2.一對(duì)多的聯(lián)系(1∶n)實(shí)體A中的一個(gè)實(shí)體可以與實(shí)體B中的多個(gè)實(shí)體相聯(lián)系,而實(shí)體B中的一個(gè)實(shí)體最多與實(shí)體A中的一個(gè)實(shí)體相聯(lián)系。例如,“班級(jí)”與“學(xué)生”這兩個(gè)實(shí)體集之間是一對(duì)多的聯(lián)系,因?yàn)橐粋€(gè)班級(jí)可有若干個(gè)學(xué)生,反過(guò)來(lái),一個(gè)學(xué)生只能屬于一個(gè)班級(jí)?!鞍嗉?jí)”與“學(xué)生”兩個(gè)實(shí)體集的E-R圖如圖。概念數(shù)據(jù)模型3.多對(duì)多的聯(lián)系(m∶n)實(shí)體A中的一個(gè)實(shí)體可以與實(shí)體B中的多個(gè)實(shí)體相聯(lián)系,而實(shí)體B中的一個(gè)實(shí)體也可與實(shí)體A中的多個(gè)實(shí)體相聯(lián)系。例如,“學(xué)生”與“課程”這兩個(gè)實(shí)體集之間是多對(duì)多的聯(lián)系,因?yàn)橐粋€(gè)學(xué)生可選多門課程,反過(guò)來(lái),一門課程可被多個(gè)學(xué)生選修?!皩W(xué)生”與“課程”兩個(gè)實(shí)體集的E-R圖如圖。02邏輯數(shù)據(jù)模型1.(1∶1)聯(lián)系的E-R圖到關(guān)系模式的轉(zhuǎn)換2.(1∶n)聯(lián)系的E-R圖到關(guān)系模式的轉(zhuǎn)換3.(m∶n)聯(lián)系的E-R圖到關(guān)系模式的轉(zhuǎn)換邏輯數(shù)據(jù)模型1.(1∶1)聯(lián)系的E-R圖到關(guān)系模式的轉(zhuǎn)換對(duì)于(1∶1)的聯(lián)系,既可以單獨(dú)對(duì)應(yīng)一個(gè)關(guān)系模式,也可以不單獨(dú)對(duì)應(yīng)一個(gè)關(guān)系模式。(1)聯(lián)系單獨(dú)對(duì)應(yīng)一個(gè)關(guān)系模式,則由聯(lián)系屬性、參與聯(lián)系的各實(shí)體集的主碼屬性構(gòu)成關(guān)系模式,其主碼可選參與聯(lián)系實(shí)體集的任一方主碼。例如,考慮圖描述的“班級(jí)”(bjb)與“班長(zhǎng)”(bzb)實(shí)體集通過(guò)屬于(syb)聯(lián)系E-R模型,可設(shè)計(jì)如下關(guān)系模式(下畫(huà)線表示該字段為主碼):bjb(班級(jí)編號(hào),院系,專業(yè),人數(shù))bzb(學(xué)號(hào),姓名)syb(學(xué)號(hào),班級(jí)編號(hào))邏輯數(shù)據(jù)模型(2)聯(lián)系不單獨(dú)對(duì)應(yīng)一個(gè)關(guān)系模式,將聯(lián)系的屬性及一方的主碼加入另一方實(shí)體集對(duì)應(yīng)的關(guān)系模式中。例如,考慮上圖描述的“班級(jí)”(bjb)與“班長(zhǎng)”(bzb)實(shí)體集通過(guò)屬于(syb)聯(lián)系E-R模型,可設(shè)計(jì)如下關(guān)系模式:bjb(班級(jí)編號(hào),院系,專業(yè),人數(shù))bzb(學(xué)號(hào),姓名,班級(jí)編號(hào))或者:bjb(班級(jí)編號(hào),院系,專業(yè),人數(shù),學(xué)號(hào))bzb(學(xué)號(hào),姓名)邏輯數(shù)據(jù)模型2.(1∶n)聯(lián)系的E-R圖到關(guān)系模式的轉(zhuǎn)換對(duì)于(1∶n)的聯(lián)系,既可以單獨(dú)對(duì)應(yīng)一個(gè)關(guān)系模式,也可以不單獨(dú)對(duì)應(yīng)一個(gè)關(guān)系模式。(1)聯(lián)系單獨(dú)對(duì)應(yīng)一個(gè)關(guān)系模式,則由聯(lián)系的屬性、參與聯(lián)系的各實(shí)體集的主碼屬性構(gòu)成關(guān)系模式,n端的主碼作為該關(guān)系模式的主碼。例如,圖描述的“班級(jí)”(bjb)與“學(xué)生”(xsb)實(shí)體集E-R模型可設(shè)計(jì)如下關(guān)系模式:bjb(班級(jí)編號(hào),院系,專業(yè),人數(shù))xsb(學(xué)號(hào),姓名,性別,出生時(shí)間,專業(yè),總學(xué)分,備注)syb(學(xué)號(hào),班級(jí)編號(hào))(2)聯(lián)系不單獨(dú)對(duì)應(yīng)一個(gè)關(guān)系模式,則將聯(lián)系的屬性及1端的主碼加入n端實(shí)體集對(duì)應(yīng)的關(guān)系模式中,主碼仍為n端的主碼。例如,圖描述的“班級(jí)”(bjb)與“學(xué)生”(xsb)實(shí)體集E-R模型可設(shè)計(jì)如下關(guān)系模式:bjb(班級(jí)編號(hào),院系,專業(yè),人數(shù))xsb(學(xué)號(hào),姓名,性別,出生時(shí)間,專業(yè),總學(xué)分,備注,班級(jí)編號(hào))邏輯數(shù)據(jù)模型3.(m∶n)聯(lián)系的E-R圖到關(guān)系模式的轉(zhuǎn)換對(duì)于(m∶n)的聯(lián)系,單獨(dú)對(duì)應(yīng)一個(gè)關(guān)系模式,該關(guān)系模式包括聯(lián)系的屬性、參與聯(lián)系的各實(shí)體集的主碼屬性,該關(guān)系模式的主碼由各實(shí)體集的主碼屬性共同組成。例如,圖描述的“學(xué)生”(xsb)與“課程”(kcb)實(shí)體集之間的聯(lián)系可設(shè)計(jì)如下關(guān)系模式:xsb(學(xué)號(hào),姓名,性別,出生時(shí)間,專業(yè),總學(xué)分,備注)kcb(課程號(hào),課程名稱,開(kāi)課學(xué)期,學(xué)時(shí),學(xué)分)cjb(學(xué)號(hào),課程號(hào),成績(jī))03物理數(shù)據(jù)模型物理數(shù)據(jù)模型物理數(shù)據(jù)模型(PhysicalDataModel)是面向計(jì)算機(jī)物理表示的模型,描述了數(shù)據(jù)在儲(chǔ)存介質(zhì)上的組織結(jié)構(gòu),它不但與具體的DBMS有關(guān),而且還與操作系統(tǒng)和硬件有關(guān)。每一種邏輯數(shù)據(jù)模型在實(shí)現(xiàn)時(shí)都有其對(duì)應(yīng)的物理數(shù)據(jù)模型。DBMS為了保證其獨(dú)立性與可移植性,大部分物理數(shù)據(jù)模型的實(shí)現(xiàn)工作由系統(tǒng)自動(dòng)完成,而設(shè)計(jì)者只要設(shè)計(jì)索引、聚集等特殊結(jié)構(gòu)即可。第2章Oracle11g數(shù)據(jù)庫(kù)介紹Oracle11g數(shù)據(jù)庫(kù)安裝Oracle11g數(shù)據(jù)庫(kù)安裝1.下載壓縮安裝包在網(wǎng)上下載Oracle11g數(shù)據(jù)庫(kù)的壓縮安裝包文件(win32_11gR2_database_1of2.zip和win32_11gR2_database_2of2.zip),共兩個(gè)文件,大小約2.1GB。將它們解壓到同一個(gè)目錄(database)下,然后雙擊解壓目錄中的setup.exe,系統(tǒng)加載并初步校驗(yàn)系統(tǒng)是否達(dá)到Oracle11g數(shù)據(jù)庫(kù)安裝的最低要求,只有達(dá)到要求,才會(huì)繼續(xù)加載程序并開(kāi)始安裝。2.安裝過(guò)程(1)開(kāi)始安裝后,首先出現(xiàn)如圖所示的“配置安全更新”窗口,取消勾選“我希望通過(guò)MyOracleSupport接收安全更新”復(fù)選項(xiàng),在“電子郵件”欄中填寫(xiě)郵件地址(登錄甲骨文公司官網(wǎng)時(shí)注冊(cè)的),單擊“下一步”按鈕。Oracle11g數(shù)據(jù)庫(kù)安裝(2)在“選擇安裝選項(xiàng)”窗口中選擇“創(chuàng)建和配置數(shù)據(jù)庫(kù)”單選項(xiàng),如圖所示,單擊“下一步”按鈕。Oracle11g數(shù)據(jù)庫(kù)安裝(3)在“系統(tǒng)類”窗口中選擇軟件安裝的類型,如圖所示。因本書(shū)安裝Oracle11g數(shù)據(jù)庫(kù)僅用于教學(xué),故這里選中“桌面類”單選項(xiàng),單擊“下一步”按鈕。Oracle11g數(shù)據(jù)庫(kù)安裝(4)在“典型安裝配置”窗口中,設(shè)置Oracle基目錄、安裝軟件位置和數(shù)據(jù)庫(kù)文件位置,并選擇要安裝的數(shù)據(jù)庫(kù)版本和字符集(一般采取默認(rèn)選項(xiàng),但必須記住以便日后使用),如圖。Oracle11g數(shù)據(jù)庫(kù)安裝(5)若上一步檢查沒(méi)有問(wèn)題,就會(huì)生成安裝設(shè)置概要信息,如圖所示,可保存這些信息到本地,方便以后查閱。Oracle11g數(shù)據(jù)庫(kù)安裝(6)安裝完成后,會(huì)彈出如圖所示的對(duì)話框。單擊“口令管理”按鈕,在彈出的對(duì)話框中解鎖以下用戶賬戶并修改其口令。①SYS(超級(jí)管理員),口令改為:Change_on_install123。②SYSTEM(普通管理員),口令改為:Manager123。③SCOTT(普通用戶),口令改為:Mm123456。Oracle11g數(shù)據(jù)庫(kù)安裝(7)若安裝成功,會(huì)出現(xiàn)如圖所示的窗口,單擊“關(guān)閉”按鈕即可。第2章Oracle11g數(shù)據(jù)庫(kù)介紹Oracle11g數(shù)據(jù)庫(kù)的基本結(jié)構(gòu)01內(nèi)部結(jié)構(gòu)

1.表空間2.表3.約束條件4.分區(qū)5.索引6.用戶7.方案8.同義詞9.權(quán)限及角色10.段、盤區(qū)和數(shù)據(jù)塊內(nèi)部結(jié)構(gòu)

1.表空間下面介紹Oracle11g數(shù)據(jù)庫(kù)默認(rèn)創(chuàng)建的主要表空間。(1)EXAMPLE表空間。EXAMPLE表空間是示例表空間,用于存放示例數(shù)據(jù)庫(kù)的方案對(duì)象信息及其培訓(xùn)資料。(2)SYSTEM表空間。SYSTEM表空間是系統(tǒng)表空間,用于存放Oracle系統(tǒng)內(nèi)部表和數(shù)據(jù)字典的數(shù)據(jù),如表名、列名和用戶名等。(3)SYSAUX表空間。SYSAUX表空間是輔助系統(tǒng)表空間,主要存放Oracle系統(tǒng)內(nèi)部的常用樣例用戶的對(duì)象,如存放CMR用戶的表和索引等,從而減少系統(tǒng)表空間的負(fù)荷。(4)TEMP表空間。TEMP表空間是臨時(shí)表空間,存放臨時(shí)表和臨時(shí)數(shù)據(jù),用于排序和匯總等。(5)UNDOTBS1表空間。UNDOTBS1表空間是重做表空間,存放數(shù)據(jù)庫(kù)中有關(guān)重做的相關(guān)信息和數(shù)據(jù)。當(dāng)用戶對(duì)數(shù)據(jù)庫(kù)表進(jìn)行修改(包括INSERT、UPDATE和DELETE操作)時(shí),Oracle系統(tǒng)自動(dòng)使用重做表空間來(lái)臨時(shí)存放修改前的數(shù)據(jù)。(6)USERS表空間。USERS表空間是用戶表空間,存放永久性用戶對(duì)象的數(shù)據(jù)和私有信息,因此也被稱為數(shù)據(jù)表空間。內(nèi)部結(jié)構(gòu)

2.表表是數(shù)據(jù)庫(kù)中存放用戶數(shù)據(jù)的對(duì)象。它包含一組固定的列,用來(lái)描述該表所跟蹤實(shí)體的屬性,每個(gè)列都有一個(gè)名字和若干個(gè)屬性。表結(jié)構(gòu)的樣例如圖。內(nèi)部結(jié)構(gòu)

3.約束條件為一個(gè)表創(chuàng)建約束條件時(shí),表中的每一行都必須滿足約束條件所定義的規(guī)定,約束條件有以下5種。(1)主鍵(PRIMARYKEY)。主鍵是表中的一列或多列。為表定義主鍵有如下幾個(gè)作用:主鍵包含的列不能輸入重復(fù)的值,以此來(lái)保證一個(gè)表的所有行的唯一性;主鍵也不允許定義此約束的列為NULL值;主鍵在定義此約束的列中創(chuàng)建了唯一性的索引。(2)默認(rèn)(DEFAULT)。在表中插入一行數(shù)據(jù),但沒(méi)有為列生成一個(gè)在定義表時(shí)預(yù)先指定的值。(3)檢查(CHECK)。檢查約束條件確保指定列中的值符合一定的條件。檢查列約束條件不能引用一個(gè)獨(dú)立表。非空值約束條件被數(shù)據(jù)庫(kù)看成一個(gè)檢查約束條件。(4)唯一性(UNIQUE)。唯一性約束條件用于保證應(yīng)具有唯一性而又不是主鍵的一部分的那些列的唯一性。(5)外鍵(FOREIGNKEY)。外鍵約束條件規(guī)定表間的關(guān)系性質(zhì)。一個(gè)外鍵使一個(gè)表的一列或多列與已定義為主鍵的表中的一批相同的列相關(guān)聯(lián)。內(nèi)部結(jié)構(gòu)

4.分區(qū)在非常大的數(shù)據(jù)庫(kù)中,可以通過(guò)把一個(gè)大表的數(shù)據(jù)分成多個(gè)小表來(lái)簡(jiǎn)化數(shù)據(jù)庫(kù)的管理,這些小表稱為分區(qū)。除了對(duì)表分區(qū),還可以對(duì)索引分區(qū)。分區(qū)不僅簡(jiǎn)化了數(shù)據(jù)庫(kù)的管理,還改善了其應(yīng)用性能。在Oracle中,能夠細(xì)分分區(qū),并創(chuàng)建子分區(qū)。例如,可以根據(jù)一組值分割一個(gè)表,然后再根據(jù)另一種分割方法分割分區(qū)。5.索引索引是幫助用戶在表中快速找到記錄的數(shù)據(jù)庫(kù)結(jié)構(gòu)。它既可以提高數(shù)據(jù)庫(kù)性能,又能夠保證列值的唯一性。當(dāng)CREATETABLE命令中規(guī)定有UNIQUE或PRIMARYKEY約束條件子句時(shí),Oracle就會(huì)自動(dòng)創(chuàng)建一個(gè)索引。也可以通過(guò)CREATEINDEX命令來(lái)手工創(chuàng)建索引。內(nèi)部結(jié)構(gòu)

6.用戶用戶賬號(hào)雖然不是數(shù)據(jù)庫(kù)中的一個(gè)物理結(jié)構(gòu),但它與數(shù)據(jù)庫(kù)中的對(duì)象有著重要的關(guān)系,這是因?yàn)橛脩魮碛袛?shù)據(jù)庫(kù)的對(duì)象。例如,用戶SYS擁有數(shù)據(jù)字典表,這些表內(nèi)存儲(chǔ)了數(shù)據(jù)庫(kù)中其他對(duì)象的所有信息;用戶SYSTEM擁有訪問(wèn)數(shù)據(jù)字典表的視圖,這些視圖可供數(shù)據(jù)庫(kù)其他用戶使用。為數(shù)據(jù)庫(kù)創(chuàng)建對(duì)象(如表)必須在用戶賬戶下進(jìn)行??梢詫?duì)每一個(gè)用戶賬戶進(jìn)行自定義,以便將一個(gè)特定的表空間作為其默認(rèn)表空間。7.方案用戶賬戶擁有的對(duì)象集稱為用戶的方案,它可以創(chuàng)建不能注冊(cè)到數(shù)據(jù)庫(kù)的用戶賬戶。用戶賬戶提供一種方案,用來(lái)保存一組被其他用戶方案分開(kāi)的數(shù)據(jù)庫(kù)對(duì)象。8.同義詞為了給不同的用戶在使用數(shù)據(jù)庫(kù)對(duì)象時(shí),提供一個(gè)簡(jiǎn)單的、唯一標(biāo)識(shí)數(shù)據(jù)庫(kù)對(duì)象的名稱,可以為數(shù)據(jù)庫(kù)對(duì)象創(chuàng)建同義詞。同義詞有公用同義詞和私有同義詞兩種。內(nèi)部結(jié)構(gòu)

9.權(quán)限及角色為了訪問(wèn)其他賬戶的所有對(duì)象,必須先被授予訪問(wèn)這個(gè)對(duì)象的權(quán)限。權(quán)限可以授予某個(gè)用戶或PUBLIC,PUBLIC再把權(quán)限授予數(shù)據(jù)庫(kù)中的全體用戶。創(chuàng)建角色即權(quán)限組來(lái)簡(jiǎn)化權(quán)限的管理,可以把一些權(quán)限授予一個(gè)角色,而這個(gè)角色又可以被授予多個(gè)用戶。在應(yīng)用程序中,角色可以被動(dòng)態(tài)地啟用或禁用。10.段、盤區(qū)和數(shù)據(jù)塊依照不同的數(shù)據(jù)處理性質(zhì),可能需要在數(shù)據(jù)表空間內(nèi)劃分出不同的區(qū)域,以存放不同的數(shù)據(jù),將這些區(qū)域稱為段。例如,存放數(shù)據(jù)的區(qū)域稱為數(shù)據(jù)段、存放索引的區(qū)域稱為索引段。由于段是一個(gè)物理實(shí)體,所以必須把它分配到數(shù)據(jù)庫(kù)的一個(gè)表空間(數(shù)據(jù)文件)中,段其實(shí)就是由許多盤區(qū)組合而成的。當(dāng)段中的空間用完時(shí),該段就會(huì)獲取另外的盤區(qū)。內(nèi)部結(jié)構(gòu)

數(shù)據(jù)塊是最小的儲(chǔ)存單元,Oracle數(shù)據(jù)庫(kù)是操作系統(tǒng)塊的倍數(shù)。如圖所示說(shuō)明了段、盤區(qū)和數(shù)據(jù)塊之間的關(guān)系。02外部結(jié)構(gòu)1.?dāng)?shù)據(jù)文件2.重做日志文件3.控制文件外部結(jié)構(gòu)1.?dāng)?shù)據(jù)文件每個(gè)Oracle數(shù)據(jù)庫(kù)都有一個(gè)或多個(gè)數(shù)據(jù)文件,且一個(gè)數(shù)據(jù)文件只能屬于一個(gè)表空間。數(shù)據(jù)文件創(chuàng)建后可改變大小,創(chuàng)建新的表空間需要?jiǎng)?chuàng)建新的數(shù)據(jù)文件。數(shù)據(jù)文件一旦加入表空間,就不能再移走,也不能和其他表空間發(fā)生聯(lián)系了。如果數(shù)據(jù)庫(kù)對(duì)象存儲(chǔ)在多個(gè)表空間中,可以通過(guò)把它們各自的數(shù)據(jù)文件存放在不同的磁盤上來(lái)對(duì)其進(jìn)行物理分割。數(shù)據(jù)庫(kù)、表空間和數(shù)據(jù)文件之間的關(guān)系如圖。2.重做日志文件除了數(shù)據(jù)文件,最重要的Oracle數(shù)據(jù)庫(kù)實(shí)體檔案就是重做日志文件。Oracle數(shù)據(jù)庫(kù)保存了所有數(shù)據(jù)庫(kù)事務(wù)的日志。這些事務(wù)被記錄在聯(lián)機(jī)重做日志文件中。當(dāng)數(shù)據(jù)庫(kù)中的數(shù)據(jù)遭到破壞時(shí),可以用這些日志來(lái)恢復(fù)數(shù)據(jù)庫(kù)。一個(gè)數(shù)據(jù)庫(kù)至少需要兩個(gè)重做日志文件。Oracle數(shù)據(jù)庫(kù)以循環(huán)方式向重做日志文件中寫(xiě)入。第一個(gè)日志被填滿后,就向第二個(gè)日志文件中寫(xiě)入,然后以此類推。當(dāng)所有日志文件都被寫(xiě)滿時(shí),就又會(huì)回到第一個(gè)日志文件,用新事務(wù)的數(shù)據(jù)對(duì)其進(jìn)行重寫(xiě)。外部結(jié)構(gòu)3.控制文件每個(gè)Oracle數(shù)據(jù)庫(kù)都有一個(gè)控制文件,用以記錄與描述數(shù)據(jù)庫(kù)的外部結(jié)構(gòu),包括:(1)Oracle數(shù)據(jù)庫(kù)名稱與建立時(shí)間;(2)數(shù)據(jù)文件與重置日志文件名稱及其所在位置;(3)日志記錄序列碼。每當(dāng)數(shù)據(jù)庫(kù)被激活時(shí),Oracle就會(huì)在實(shí)例激活后立刻讀取控制文件的內(nèi)容,待所有數(shù)據(jù)庫(kù)外部結(jié)構(gòu)文件信息都收集完畢,數(shù)據(jù)庫(kù)才會(huì)啟動(dòng)。03數(shù)據(jù)庫(kù)實(shí)例1.系統(tǒng)全局區(qū)2.后臺(tái)進(jìn)程數(shù)據(jù)庫(kù)實(shí)例數(shù)據(jù)庫(kù)實(shí)例(Instance)也稱為服務(wù)器(Server),是指用來(lái)訪問(wèn)數(shù)據(jù)庫(kù)文件集的存儲(chǔ)結(jié)構(gòu)系統(tǒng)全局區(qū)(SystemGlobalArea,SGA)及后臺(tái)進(jìn)程的集合。一個(gè)數(shù)據(jù)庫(kù)可以被多個(gè)實(shí)例訪問(wèn),這是Oracle數(shù)據(jù)庫(kù)的并行服務(wù)器選項(xiàng)。實(shí)例與數(shù)據(jù)庫(kù)之間的關(guān)系如圖。數(shù)據(jù)庫(kù)實(shí)例1.系統(tǒng)全局區(qū)當(dāng)激活Oracle11g數(shù)據(jù)庫(kù)時(shí),系統(tǒng)會(huì)先在內(nèi)存中規(guī)劃一個(gè)固定區(qū)域,用來(lái)存儲(chǔ)每位使用者所需存取的數(shù)據(jù),以及Oracle數(shù)據(jù)庫(kù)運(yùn)作時(shí)必備的系統(tǒng)信息。這個(gè)區(qū)域就稱為系統(tǒng)全局區(qū)(SGA)。SGA又包含數(shù)個(gè)重要區(qū)域,分別是數(shù)據(jù)塊緩存區(qū)(DataBlockBufferCache)、字典緩存區(qū)(DictionaryCache)、重做日志緩沖區(qū)(RedoLogBuffer)和SQL共享池(SharedSQLPool),如圖所示為SGA各重要區(qū)域之間的關(guān)系。數(shù)據(jù)庫(kù)實(shí)例(1)(2)(3)(4)數(shù)據(jù)塊緩存區(qū)。數(shù)據(jù)塊緩存區(qū)為SGA的主要成員,用來(lái)存放讀取數(shù)據(jù)文件的數(shù)據(jù)塊副本,或是使用者曾經(jīng)處理過(guò)的數(shù)據(jù)。它的用途在于有效減少存取數(shù)據(jù)時(shí)造成的磁盤讀/寫(xiě)動(dòng)作,進(jìn)而提升數(shù)據(jù)存取的效率。字典緩存區(qū)。數(shù)據(jù)庫(kù)對(duì)象的信息存儲(chǔ)在數(shù)據(jù)字典中,這些信息包括用戶賬戶、數(shù)據(jù)文件名、盤區(qū)位置、表說(shuō)明和權(quán)限等。當(dāng)數(shù)據(jù)庫(kù)需要這些信息(如驗(yàn)證用戶賬戶)時(shí),就要讀取數(shù)據(jù)字典,從中獲得需要的信息數(shù)據(jù),并且將這些數(shù)據(jù)存儲(chǔ)在SGA的字典緩存區(qū)中。重做日志緩沖區(qū)。聯(lián)機(jī)重做日志文件用于記錄數(shù)據(jù)庫(kù)的更改,以便在數(shù)據(jù)庫(kù)恢復(fù)過(guò)程中用于向前滾動(dòng)。但這些修改并不是馬上寫(xiě)入日志文件中的,在被寫(xiě)入聯(lián)機(jī)重做日志文件之前,事務(wù)首先被記錄在稱為重做日志緩沖區(qū)的SGA中。SQL共享池。SQL共享池存儲(chǔ)數(shù)據(jù)字典緩存區(qū)及庫(kù)緩存區(qū)(LibraryCache),即對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的語(yǔ)句信息。當(dāng)使用者將SQL共享池指令送至Oracle11g數(shù)據(jù)庫(kù)后,系統(tǒng)會(huì)先解析語(yǔ)法是否正確。解析時(shí)所需要的系統(tǒng)信息,以及解析后的結(jié)果將被放置在共享區(qū)內(nèi)。數(shù)據(jù)庫(kù)實(shí)例2.后臺(tái)進(jìn)程數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)之間的關(guān)系是由后臺(tái)進(jìn)程來(lái)維持的。數(shù)據(jù)庫(kù)擁有多個(gè)后臺(tái)進(jìn)程,其數(shù)量取決于數(shù)據(jù)庫(kù)的配置。這些進(jìn)程由數(shù)據(jù)庫(kù)進(jìn)行很少的管理。每個(gè)進(jìn)程在數(shù)據(jù)庫(kù)中執(zhí)行不同的任務(wù),如圖所示為后臺(tái)進(jìn)程在數(shù)據(jù)庫(kù)外部結(jié)構(gòu)、SGA中的作用和地位。數(shù)據(jù)庫(kù)實(shí)例下面介紹幾個(gè)常用的后臺(tái)進(jìn)程。(1)DBWR(數(shù)據(jù)庫(kù)寫(xiě)入進(jìn)程)。負(fù)責(zé)將數(shù)據(jù)緩存區(qū)內(nèi)變動(dòng)過(guò)的數(shù)據(jù)塊回寫(xiě)至硬盤內(nèi)的數(shù)據(jù)文件。(2)LGWR(日志寫(xiě)入進(jìn)程)。負(fù)責(zé)將重做日志緩沖區(qū)內(nèi)的數(shù)據(jù)變動(dòng)記錄循序?qū)懭胫刈鋈罩疚募#?)SMON(系統(tǒng)監(jiān)控進(jìn)程)。如果因?yàn)橥k娀蚱渌蛩貙?dǎo)致Oracle11g數(shù)據(jù)庫(kù)不正常關(guān)閉,下一次激活數(shù)據(jù)庫(kù)時(shí)將由SMON進(jìn)行必要的數(shù)據(jù)庫(kù)修復(fù)。(4)PMON(進(jìn)程監(jiān)控進(jìn)程)。當(dāng)某個(gè)處理程序異常終止時(shí),PMON清除數(shù)據(jù)緩存區(qū)內(nèi)不再使用的空間,并釋放該程序之前使用的系統(tǒng)資源。(5)CKPT(檢查點(diǎn)進(jìn)程)。檢查點(diǎn)是指一個(gè)事件或指定的時(shí)間。在產(chǎn)生一個(gè)檢查點(diǎn)時(shí),CKPT可確保緩沖區(qū)內(nèi)經(jīng)常變動(dòng)的數(shù)據(jù)被定期寫(xiě)入數(shù)據(jù)文件。(6)RECO(恢復(fù)進(jìn)程)。該進(jìn)程是在具有分布式選項(xiàng)時(shí)所使用的一個(gè)進(jìn)程,用于自動(dòng)解決在分布式事務(wù)中的故障。(7)ARCH(歸檔進(jìn)程)。LGWR后臺(tái)進(jìn)程以循環(huán)方式向重做日志文件寫(xiě)入。當(dāng)以ARCHIVELOG模式運(yùn)行時(shí),數(shù)據(jù)庫(kù)在開(kāi)始重寫(xiě)重做日志文件之前會(huì)先對(duì)其進(jìn)行備份,將這些歸檔文件寫(xiě)入磁盤設(shè)備。(8)LCKn(鎖進(jìn)程)。在Oracle系統(tǒng)并行服務(wù)器環(huán)境中,為了避免進(jìn)程間在數(shù)據(jù)存取時(shí)發(fā)生沖突,在一個(gè)數(shù)據(jù)庫(kù)實(shí)例訪問(wèn)一個(gè)數(shù)據(jù)庫(kù)對(duì)象時(shí),LCKn進(jìn)程會(huì)自動(dòng)封鎖訪問(wèn)的數(shù)據(jù)庫(kù)對(duì)象,在訪問(wèn)結(jié)束之后再解鎖。(9)Dnnn(調(diào)度進(jìn)程)。調(diào)度進(jìn)程允許用戶共享有限的服務(wù)器進(jìn)程,該進(jìn)程接收用戶進(jìn)程的要求,并將其放入請(qǐng)求隊(duì)列中,然后為用戶進(jìn)程分配一個(gè)共享的服務(wù)器進(jìn)程。一個(gè)數(shù)據(jù)庫(kù)實(shí)例可以建立多個(gè)調(diào)度進(jìn)程。第2章Oracle11g數(shù)據(jù)庫(kù)介紹Oracle11g數(shù)據(jù)庫(kù)工具Oracle11g數(shù)據(jù)庫(kù)工具1.?dāng)?shù)據(jù)庫(kù)界面創(chuàng)建工具:DBCADBCA(DatabaseConfigurationAssistant)是Oracle11g數(shù)據(jù)庫(kù)提供的一個(gè)具有圖形化用戶界面的工具,用來(lái)幫助數(shù)據(jù)庫(kù)管理員快速、直觀地創(chuàng)建數(shù)據(jù)庫(kù)。DBCA可以通過(guò)“開(kāi)始”菜單中的Oracle程序組選項(xiàng)來(lái)啟動(dòng),如圖。Oracle11g

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論