版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
oracle第4講1.維護(hù)數(shù)據(jù)的完整性2.序列(sequence)3.管理索引
4.管理權(quán)限和角色 主講李珩oracle數(shù)據(jù)庫維護(hù)數(shù)據(jù)的完整性■
介紹數(shù)據(jù)的完整性用于確保數(shù)據(jù)庫數(shù)據(jù)遵從一定的商業(yè)的邏輯規(guī)則。在oracle中,數(shù)據(jù)完整性可以使用約束、觸發(fā)器、應(yīng)用程序(過程、函數(shù))三種方法來實(shí)現(xiàn),在這三種方法中,因?yàn)榧s束易于維護(hù),并且具有最好的性能,所以作為維護(hù)數(shù)據(jù)完整性的首選.主講李珩oracle數(shù)據(jù)庫維護(hù)數(shù)據(jù)的完整性■
約束約束用于確保數(shù)據(jù)庫數(shù)據(jù)滿足特定的商業(yè)規(guī)則。在oracle中,約束包括:notnull、unique,primarykey,foreignkey,和check
五種.主講李珩oracle數(shù)據(jù)庫維護(hù)數(shù)據(jù)的完整性■
notnull(非空)如果在列上定義了notnull,那么當(dāng)插入數(shù)據(jù)時(shí),必須為列提供數(shù)據(jù)?!?/p>
unique(唯一)當(dāng)定義了唯一約束后,該列值是不能重復(fù)的.但是可以為null?!?/p>
primarykey(主鍵)用于唯一的標(biāo)示表行的數(shù)據(jù),當(dāng)定義主鍵約束后,該列不但不能重復(fù)而且不能為null。需要說明的是:一張表最多只能有一個(gè)主鍵,但是可以有多個(gè)unqiue約束。■
foreignkey(外鍵)用于定義主表和從表之間的關(guān)系.外鍵約束要定義在從表上,主表則必須具有主鍵約束或是unique約束.,當(dāng)定義外鍵約束后,要求外鍵列數(shù)據(jù)必須在主表的主鍵列存在或是為null主講李珩oracle數(shù)據(jù)庫維護(hù)數(shù)據(jù)的完整性■
check用于強(qiáng)制行數(shù)據(jù)必須滿足的條件,假定在sal列上定義了check約束,并要求sal列值在1000~2000之間如果不再1000~2000之間就會(huì)提示出錯(cuò)。主講李珩oracle數(shù)據(jù)庫維護(hù)數(shù)據(jù)的完整性■
商店售貨系統(tǒng)表設(shè)計(jì)案例(1)現(xiàn)有一個(gè)商店的數(shù)據(jù)庫,記錄客戶及其購物情況,由下面三個(gè)表組成:商品goods(商品號(hào)goodsId,商品名goodsName,單價(jià)unitprice,商品類別category,供應(yīng)商provider);客戶customer(客戶號(hào)customerId,姓名name,住址address,電郵email性別sex,身份證cardId);購買purchase(客戶號(hào)customerId,商品號(hào)goodsId,購買數(shù)量nums);請(qǐng)用SQL語言完成下列功能:1建表,在定義中要求聲明:(1)每個(gè)表的主外鍵;(2)客戶的姓名不能為空值;(3)單價(jià)必須大于0,購買數(shù)量必須在1到30之間;(4)電郵不能夠重復(fù);(5)客戶的性別必須是男或者女,默認(rèn)是男商店表設(shè)計(jì)主講李珩oracle數(shù)據(jù)庫維護(hù)數(shù)據(jù)的完整性—維護(hù)■
商店售貨系統(tǒng)表設(shè)計(jì)案例(2)如果在建表時(shí)忘記建立必要的約束,則可以在建表后使用altertable命令為表增加約束.但是要注意:增加notnull約束時(shí),需要使用modify選項(xiàng),而增加其它四種約束使用add選項(xiàng)。(1)每個(gè)表的主外碼;(2)客戶的姓名不能為空值;--增加商品名也不能為空(3)單價(jià)必須大于0,購買數(shù)量必須在1到30之間;(4)電郵不能夠重復(fù);--增加身份證也不重復(fù)(5)客戶的性別必須是男或者女,默認(rèn)是男(6)增加客戶的住址只能是‘海淀’、‘朝陽’、‘東城’、‘西城’、‘通州’、‘崇文’主講李珩oracle數(shù)據(jù)庫altertable表名addconstraint約束名約束種類(字段)altertable表名modify字段名notnull維護(hù)數(shù)據(jù)的完整性—維護(hù)■
刪除約束當(dāng)不再需要某個(gè)約束時(shí),可以刪除.altertable表名dropconstraint約束名稱;
在刪除主鍵約束的時(shí)候,可能有錯(cuò)誤,比如:altertable表名dropprimarykey;這是因?yàn)槿绻趦蓮埍泶嬖谥鲝年P(guān)系,那么在刪除主表的主鍵約束時(shí),必須帶上cascade選項(xiàng)如象altertable表名dropprimarykeycascade;特別說明一下主講李珩oracle數(shù)據(jù)庫維護(hù)數(shù)據(jù)的完整性—維護(hù)■
列級(jí)定義列級(jí)定義是在定義列的同時(shí)定義約束。■
表級(jí)定義表級(jí)定義是指在定義了所有列后,再定義約束.這里需要注意:notnull約束只能在列級(jí)上定義。主講李珩oracle數(shù)據(jù)庫語法:在最后一個(gè)字段后,定義約束constraint約束名primarykey(字段)constraint約束名foreignkey(字段)references主表(字段)constraint約束名unique(字段)notnull(字段)constraint約束名check(字段條件)序列(sequence)■
一個(gè)問題在某張表中,存在一個(gè)id列(整數(shù)),我們希望在添加記錄的時(shí)候,該列從1開始,自動(dòng)的增長,怎么處理?
主講李珩oracle數(shù)據(jù)庫序列(sequence)■介紹oracle中,是是通過使用用序列(sequence)來處理自自動(dòng)增長列列。(1)可可以為表中中的列自動(dòng)動(dòng)產(chǎn)生值.(2)由由用戶創(chuàng)建建數(shù)據(jù)庫對(duì)對(duì)象,并可可由多個(gè)用用戶共享.(3)一一般用于主主鍵或唯一一列.■案例說明createsequencemy_seq---創(chuàng)建序列名名startwith1---從1開始incrementby1---每次增長1minvalue1---最小值maxvalue99999999//nomaxvalue(不設(shè)設(shè)置置最最大大值值)——-最大大值值cycle---循環(huán)環(huán),從1開始始,,每每次次增增長長1,最最大大值值99999999,之后后又又從從1開始始循循環(huán)環(huán)--nocycle--一直直累累加加,,不不循循環(huán)環(huán)nocache---不緩緩存存--cache10--一次次產(chǎn)產(chǎn)生生10個(gè)號(hào)號(hào),,效效率率高高,,缺缺點(diǎn)點(diǎn)是是產(chǎn)產(chǎn)生生跳跳號(hào)號(hào)主講講李李珩珩oracle數(shù)據(jù)據(jù)庫庫序列列(sequence)■細(xì)節(jié)節(jié)說說明明一旦旦定定義義了了某個(gè)個(gè)序序列列,你你就就可可以以用用CURRVAL,,NEXTVALCURRVAL:返回回sequence的的當(dāng)當(dāng)前前值值NEXTVAL:增加加sequence的的值值,,然然后后返返回回sequence值值比如如::序列列名名.CURRVAL序列列名名.NEXTVAL什么么時(shí)時(shí)候候使使用用sequence::-不不包包含含子子查查詢?cè)儭?、snapshot、、VIEW的的SELECT語語句句-INSERT語語句句的的子子查查詢?cè)冎兄?INSERT語語句句的的VALUES中中!!!UPDATE的的SET中中update表名名set列值值=序列列名名.nextvalwhere主講講李李珩珩oracle數(shù)據(jù)據(jù)庫庫序列列(sequence)■細(xì)節(jié)節(jié)說說明明可以以看看如如下下例例子子::INSERTINTOempVALUES(my_seq.nextval,'TOMCAT','CLERK',7566,SYSDATE,1200,NULL,20);SELECTmy_seq.currvalFROMDUAL;但是是要要注注意意的的是是::第一一次次NEXTVAL返返回回的的是是初初始始值值;隨隨后后的的NEXTVAL會(huì)會(huì)自自動(dòng)動(dòng)增增加加你你定定義義的的INCREMENTBY值值,,然然后后返返回回增增加加后后的的值值。。CURRVAL總總是是返返回回當(dāng)當(dāng)前前SEQUENCE的的值值,,但是是在在第第一一次次NEXTVAL初初始始化化之之后后才才能能使使用用CURRVAL,,否否則則會(huì)會(huì)出出錯(cuò)錯(cuò)。一一次次NEXTVAL會(huì)會(huì)增增加加一一次次SEQUENCE的的值值,,所所以以如如果果你你在在同同一一個(gè)個(gè)語語句句里里面面使使用用多多個(gè)個(gè)NEXTVAL,,其其值值就就是是不不一一樣樣的的。。如如果果指指定定CACHE值值,,ORACLE就就可可以以預(yù)預(yù)先先在在內(nèi)內(nèi)存存里里面面放放置置一一些些sequence,,這這樣樣存存取取的的快快些些。。cache里里面面的的取取完完后后,,oracle自自動(dòng)動(dòng)再再取取一一組組到到cache。。使使用用cache或或許許會(huì)會(huì)跳跳號(hào)號(hào),,比比如如數(shù)數(shù)據(jù)據(jù)庫庫突突然然不不正正常常down掉掉((shutdownabort),cache中中的的sequence就就會(huì)會(huì)丟丟失失.所所以以可可以以在在createsequence的的時(shí)時(shí)候候用用nocache防防止止這這種種情情況況。。主講李李珩珩oracle數(shù)據(jù)庫庫管理索索引—原理介介紹■介紹索引是是用于加加速數(shù)數(shù)據(jù)存存取的的數(shù)據(jù)據(jù)對(duì)象.合理的的使用用索引可可以大大大降降低i/o次數(shù),從而提提高數(shù)數(shù)據(jù)訪訪問性性能。。索引引有很很多種種我們們主要要介紹紹常用用的幾幾種:為什么么添加加了索索引后后,會(huì)會(huì)加快快查詢?cè)兯俣榷饶?主講李李珩珩oracle數(shù)據(jù)庫庫管理索索引—?jiǎng)?chuàng)建索索引■單列索索引單列索索引是是基于于單個(gè)個(gè)列所所建立立的索索引,語法:■復(fù)合索索引復(fù)合索索引是是基于于兩列列或是是多列列的索索引。。在同同一張張表上上可以以有多多個(gè)索索引,,但是是要求求列的的組合合必須須不同同,語法:createindexindex_nameontable(columnname,columnname…);createindexindex_nameontable(columnname);主講李李珩珩oracle數(shù)據(jù)庫庫管理索索引—使用原原則■使用原原則①在大大表上上建立立索引引才有有意義義②在where子句或或是連連接條條件上上經(jīng)常常引用用的列列上建建立索索引③索引引的層層次不不要超超過4層這里能能不能能給學(xué)學(xué)生演演示這這個(gè)效效果呢呢?如何構(gòu)構(gòu)建一一個(gè)大大表呢呢?主講李李珩珩oracle數(shù)據(jù)庫庫管理索索引—索引的的缺點(diǎn)點(diǎn)■索引缺缺點(diǎn)分分析索引有有一些些先天天不足足:1:建立立索引引,系系統(tǒng)要要占用用大約約為表表的1.2倍的硬硬盤和和內(nèi)存存空間間來保保存索索引。。2:更新新數(shù)據(jù)據(jù)的時(shí)時(shí)候,,系統(tǒng)統(tǒng)必須須要有有額外外的時(shí)時(shí)間來來同時(shí)時(shí)對(duì)索索引進(jìn)進(jìn)行更更新,,以維維持?jǐn)?shù)數(shù)據(jù)和和索引引的一一致性性。實(shí)實(shí)踐表表明,,不恰恰當(dāng)?shù)牡乃饕坏谑率聼o補(bǔ)補(bǔ),反反而會(huì)會(huì)降低低系統(tǒng)統(tǒng)性能能。因因?yàn)榇蟠罅康牡乃饕谶M(jìn)進(jìn)行插插入、、修改改和刪刪除操操作時(shí)時(shí)比沒沒有索索引花花費(fèi)更更多的的系統(tǒng)統(tǒng)時(shí)間間。比如在如如下字段段建立索索引應(yīng)該該是不恰恰當(dāng)?shù)模海?、很少或或從不引引用的字字段;2、邏輯型型的字段段,如男男或女(是或否)等。綜上上所述,,提高查查詢效率率是以消消耗一定定的系統(tǒng)統(tǒng)資源為為代價(jià)的的,索引引不能盲盲目的建建立,這這是考驗(yàn)驗(yàn)一個(gè)DBA是否優(yōu)秀秀的很重重要的指指標(biāo)主講李李珩珩oracle數(shù)據(jù)庫管理索引引—其它索引引■介紹按照數(shù)據(jù)據(jù)存儲(chǔ)方方式,可可以分為為B*樹、反向向索引、、位圖索索引;按照索引引列的個(gè)個(gè)數(shù)分類類,可以以分為單單列索引引、復(fù)合合索引;;按照索引引列值的的唯一性性,可以以分為唯唯一索引引和非唯唯一索引引.此外還有有函數(shù)索索引,全全局索引引,分區(qū)區(qū)索引…對(duì)于索引引我還要要說:在不同的的情況我我們會(huì)在在不同的的列上建建立索引引,甚至至建立不不同種類類的索引,請(qǐng)記住,,技術(shù)是是死的,,人是活活的。比比如:B*-樹索引建建立在重重復(fù)值很很少的列列上,而而位圖索索引則建建立在重重復(fù)值很很多、不不同值相相對(duì)固定定的列上上。主講李李珩珩oracle數(shù)據(jù)庫管理權(quán)限限和角色色■介紹這一部分分我們主主要看看看oracle種如何管管理權(quán)限限和角色色,權(quán)限限和角色色的區(qū)別別在那里里。當(dāng)剛剛建建立用戶戶時(shí),用用戶沒有有任何權(quán)權(quán)限,也也不能執(zhí)執(zhí)行任何何操作。。如果要要執(zhí)行某某種特定定的數(shù)據(jù)據(jù)庫操作作,則必必須為其其授予系系統(tǒng)的權(quán)權(quán)限;如如果用戶戶要訪問問其它方方案的對(duì)對(duì)象,則則必須為為其授予予對(duì)象的的權(quán)限.為了簡(jiǎn)化化權(quán)限的的管理,,可以使使用角色色。這里里我們會(huì)會(huì)詳細(xì)的的介紹主講李李珩珩oracle數(shù)據(jù)庫管理權(quán)限限和角色色■權(quán)限權(quán)限是指指執(zhí)行特特定類型型sql命令或是是訪問其其它方案案對(duì)象的的權(quán)利,,包括系統(tǒng)權(quán)限限和對(duì)象權(quán)限限兩種:主講李李珩珩oracle數(shù)據(jù)庫管理權(quán)限限和角色色—系統(tǒng)權(quán)限限■系統(tǒng)權(quán)限限介紹系統(tǒng)權(quán)限限是指執(zhí)執(zhí)行特定定類型sql命令的權(quán)權(quán)利.它用于控控制用戶戶可以執(zhí)執(zhí)行的一一個(gè)或是是一組數(shù)數(shù)據(jù)庫操操作.比如當(dāng)用用戶具有有createtable權(quán)限時(shí),,可以在在其方案案中建表表,當(dāng)用戶具具有createanytable權(quán)限時(shí),可以在任任何方案案中建表表.oracle提供了200多種系統(tǒng)統(tǒng)權(quán)限。。常用的的有:createsession連接數(shù)據(jù)據(jù)庫createtable建表createview建視圖createpublicsynonym建同義詞詞createprocedure建過程、、函數(shù)、、包c(diǎn)reatetrigger建觸發(fā)器器createcluster建簇■顯示系統(tǒng)統(tǒng)權(quán)限oracle提供了208種系統(tǒng)權(quán)權(quán)限(11g),而且oracle的版本越越高,提提供的系系統(tǒng)權(quán)限限就越多多,我們可以以查詢數(shù)數(shù)據(jù)字典典視圖system_privilege_map,可以顯顯示所有有系統(tǒng)權(quán)權(quán)限select*fromsystem_privilege_maporderbyname;主講李李珩珩oracle數(shù)據(jù)庫管理權(quán)限限和角色色—系統(tǒng)權(quán)限限■授予系統(tǒng)統(tǒng)權(quán)限一般情況況,授予予系統(tǒng)權(quán)權(quán)限是有有dba完成的,,如果用用其它用用戶來授授予系統(tǒng)統(tǒng)權(quán)限,,則要求求該用戶戶必須具具有g(shù)rantanyprivilege的系統(tǒng)權(quán)權(quán)限在授授予系統(tǒng)統(tǒng)權(quán)限時(shí)時(shí),可以帶有有withadminoption選項(xiàng),這這樣,被被授予權(quán)權(quán)限的用用戶或是是角色還還可以將將該系統(tǒng)統(tǒng)權(quán)限授授予其它它的用戶戶或是角角色。為為了讓大大家快速速入門,,我們舉舉例說明明:1.創(chuàng)建兩個(gè)個(gè)用戶ken,tom.初始階段段他們沒沒有任何何權(quán)限,,如果登登陸就會(huì)會(huì)給出錯(cuò)錯(cuò)誤的信信息1.1創(chuàng)建兩個(gè)個(gè)用戶,,并指定定密碼.2.給用戶ken授權(quán):2.1:授予createsession和createtable權(quán)限時(shí)帶帶withadminoption2.2授予createview時(shí)不帶withadminoption主講李李珩珩oracle數(shù)據(jù)庫管理權(quán)限限和角色色—系統(tǒng)權(quán)限限3.給用戶tom授權(quán)我們可以以通過ken給tom授權(quán),因因?yàn)閣ithadminoption是加上的的。當(dāng)然也可可以通過過dba給tom授權(quán),我們就用用ken給tom授權(quán):①grantcreatesession,createtabletotom;②grandtcreateviewtotom;ok嗎?[不ok]■回收系統(tǒng)統(tǒng)權(quán)限一般情況況下,回回收系統(tǒng)統(tǒng)權(quán)限是是dba來完成的的,如果果其它的的用戶來來回收系系統(tǒng)權(quán)限限,要求求該用戶戶必須具具有相應(yīng)應(yīng)系統(tǒng)權(quán)權(quán)限及轉(zhuǎn)轉(zhuǎn)授系統(tǒng)統(tǒng)權(quán)限的的選項(xiàng)(withadminoption)?;厥帐障到y(tǒng)權(quán)權(quán)限使用用revoke來完成,當(dāng)回收了了系統(tǒng)權(quán)權(quán)限后,,用戶就就不能執(zhí)執(zhí)行相應(yīng)應(yīng)的操作作了,但但是請(qǐng)注注意,系系統(tǒng)權(quán)限限級(jí)聯(lián)收收回問題題?[不是級(jí)聯(lián)聯(lián)回收!]sys--------------->ken------------->tom(createsession)(createsession)(createsession)用system執(zhí)行如下下操作:revokecreatesessionfromken;請(qǐng)思考tom還能登錄錄?主講李李珩珩oracle數(shù)據(jù)庫管理權(quán)限限和角色色—對(duì)象權(quán)限限■對(duì)象權(quán)限限介紹指訪問其其它方案案對(duì)象的的權(quán)利,用戶可以以直接訪訪問自己己方案的的對(duì)象,,但是如如果要訪訪問別的的方案的的對(duì)象,,則必須須具有對(duì)對(duì)象的權(quán)權(quán)限.比如smith用戶要訪訪問scott.emp表(scott:方案,emp:表)則必須在在scott.emp表上具有有對(duì)象的的權(quán)限。。常用的的有:alter修改delete刪除select查詢insert添加update修改index索引references引用execute執(zhí)行查看oracle提供的所所有的對(duì)對(duì)象權(quán)限限[dba用戶可以以查看]selectdistinctprivilegefromdba_tab_privs;主講李李珩珩oracle數(shù)據(jù)庫管理權(quán)限限和角色色—對(duì)象權(quán)限限■授予對(duì)象象權(quán)限在oracle9i前,授予予對(duì)象權(quán)權(quán)限是由由對(duì)象的的所有者者來完成成的,如如果用其其它的用用戶來操操作,則則需要用用戶具有有相應(yīng)的的(withgrantoption)權(quán)限,從oracle9i開始,dba,sys,system可以將任任何對(duì)象象上的對(duì)對(duì)象權(quán)限限授予其其它用戶戶.授予對(duì)象象權(quán)限是是用grant命令來完完成的.我們看幾幾個(gè)案例例:1.monkey用戶要操操作scott.emp表,則必須授授予相應(yīng)應(yīng)的對(duì)象象權(quán)限①希望monkey可以查詢?cè)僺cott.emp的表數(shù)據(jù)據(jù),怎樣樣操作?②希望monkey可以修改改scott.emp的表數(shù)據(jù)據(jù),怎樣樣操作?③希望monkey可以刪除除scott.emp的表數(shù)據(jù)據(jù),怎樣樣操作?④有沒有更更加簡(jiǎn)單單的方法法,一次把所所有權(quán)限限賦給monkey?grant對(duì)象權(quán)限限on數(shù)據(jù)庫對(duì)對(duì)象to用戶名[,角色名][,public][withgrantoption]主講李李珩珩oracle數(shù)據(jù)庫管理權(quán)限限和角色色—對(duì)象權(quán)限限2.能否對(duì)monkey訪問權(quán)限限更加精細(xì)控制制.(授予列權(quán)權(quán)限)①希望monkey只可以修修改scott.emp的表的sal字段,怎樣操作作?②希望monkey只可查詢?cè)僺cott.emp的表的ename,sal數(shù)據(jù),怎樣操作作?3.授予alter權(quán)限如果black用戶要修修改scott.emp表的結(jié)構(gòu)構(gòu),則必須授授予alter對(duì)象權(quán)限限4.授予execute權(quán)限如果用戶戶想要執(zhí)執(zhí)行其它它方案的的包/過程/函數(shù),則須有execute權(quán)限.比如為了了讓ken可以執(zhí)行行包dbms_transaction,可以授execute權(quán)限主講李李珩珩oracle數(shù)據(jù)庫管理權(quán)限限和角色色—對(duì)象權(quán)限限5.授予index權(quán)限如果想在在別的方方案的表表上建立立索引,則必須具具有index對(duì)象權(quán)限限,如為了讓讓black可以在scott.emp上建立索索引,就就給其index的對(duì)象權(quán)權(quán)限sql>connscott/tigersql>grantindexonscott.emptoblack6.使用withgrantoption選項(xiàng)該選項(xiàng)用用于轉(zhuǎn)授授對(duì)象權(quán)權(quán)限.但是該選選項(xiàng)只能能被授予予用戶,而不能授授予角色色sql>connscott/tigersql>grantselectonemptoblackwithgrantoptionsql>connblack/m123sql>grantselectonscott.emptojones主講李李珩珩oracle數(shù)據(jù)庫管理權(quán)限限和角色色—對(duì)象權(quán)限限■回收對(duì)象象權(quán)限在oracle9i中,收回回對(duì)象的的權(quán)限可可以由對(duì)對(duì)象的所所有者來來完成,,也可以以用dba用戶(sys,system)來完成這里要說說明的時(shí)時(shí):收回回對(duì)象權(quán)權(quán)限后,,用戶就就不能執(zhí)執(zhí)行相應(yīng)應(yīng)的sql命令,但是要注注意的是是對(duì)象的的權(quán)限是是否會(huì)被被級(jí)聯(lián)收收回?[級(jí)聯(lián)回收收]請(qǐng)看一個(gè)個(gè)案例:scott------------->blake---------------->jonesselectonemp selectonempselectonemprevoke對(duì)象權(quán)限限on數(shù)據(jù)庫對(duì)對(duì)象from用戶名[,角色名]主講李李珩珩oracle數(shù)據(jù)庫管理權(quán)限限和角色色—角色■介紹角色就是是相關(guān)權(quán)權(quán)限的命命令集合合,使用角色色的主要要目的就就是為了了簡(jiǎn)化權(quán)權(quán)限的管管理.假定有用用戶1,2,3為了讓他他們都擁擁有權(quán)限限①連接數(shù)數(shù)據(jù)庫②在scott.emp表上select,insert,update,,,,如果采用用直接授授權(quán)操作作,則需需要進(jìn)行行12次授權(quán)。。因?yàn)橐M(jìn)進(jìn)行12次授權(quán)操操作,所以比較較麻煩喔喔!怎么辦?主講李李珩珩oracle數(shù)據(jù)庫管理權(quán)限限和角色色—角色■介紹我們?nèi)绻捎媒墙巧涂煽梢院?jiǎn)化化:首先將createsession,selectonscott.emp,insertonscott.emp,updateonscott.emp授予角色色,然后后將該角角色授予予a,b,c用戶,這這樣就可可以三次次授權(quán)搞搞定.角色分為為預(yù)定義義和自定定義角色色兩類::可以考慮慮使用自自定義角角色來解解決問題題的。主講李李珩珩oracle數(shù)據(jù)庫管理權(quán)限限和角色色—角色■預(yù)定義角角色預(yù)定義角角色是指指oracle所提供的的角色,每種角色色都用于于執(zhí)行一一些特定定的管理理任務(wù),下面我們們介紹常常用的預(yù)預(yù)定義角角色connect,resource,dba㈠connect角色connect角色具有有一般應(yīng)應(yīng)用開發(fā)發(fā)人員需需要的大大部分權(quán)權(quán)限,當(dāng)建立了了一個(gè)用戶后,多數(shù)情況下下,只要給用戶戶授予connect和resource角色就夠了了,那么,connect角色具有哪哪些系統(tǒng)權(quán)權(quán)限呢?createsesssiongrant角色名to用戶使用system登錄可以以查詢所有有預(yù)定義角角色:select*fromdba_roles;主講李珩珩oracle數(shù)據(jù)庫管理權(quán)限和和角色—角色■預(yù)定義角色色㈡resource角色resource角角色具有應(yīng)應(yīng)用開發(fā)人人員所需要要的其它權(quán)權(quán)限,比如如建立存儲(chǔ)儲(chǔ)過程、觸觸發(fā)器等。。這里需要要注意的是是resource角色隱含含了unlimitedtablespace系系統(tǒng)權(quán)限。。resource角角色包含以以下系統(tǒng)權(quán)權(quán)限:createclustercreateindextypecreatetablecreatesequencecreatetypecreateprocedurecreatetrigger主講李珩珩oracle數(shù)據(jù)庫管理權(quán)限和和角色—角色■預(yù)定義角色色㈢dba角色dba角色具有所所有的系統(tǒng)統(tǒng)權(quán)限,及及withadminoption選項(xiàng),默認(rèn)的dba用戶為sys和system他們可以將將任何系統(tǒng)統(tǒng)權(quán)限授予予其它用戶戶.但是要注意意的是dba角色不具備備sysdba和sysoper的特權(quán)(啟動(dòng)和關(guān)閉閉數(shù)據(jù)庫)主講李珩珩oracle數(shù)據(jù)庫練習(xí):請(qǐng)寫寫出正確的的語句,完完成提出的的問題。1.創(chuàng)建一個(gè)用用戶jack2.把jack設(shè)為具有dba角色的用戶戶管理權(quán)限和和角色—角色■自定義角色色顧名思義就就是自己定定義的角色色,根據(jù)自自己的需要要來定義.一般是dba來建立,如如果用的別別的用戶來來建立,則則需要具有有createrole的系統(tǒng)權(quán)限限.在建立角色色時(shí)可以指指定驗(yàn)證方方式(不驗(yàn)證,數(shù)數(shù)據(jù)庫驗(yàn)證證等)㈠建立角色(不驗(yàn)證)如果角色是是公用的角角色,可以以采用不驗(yàn)驗(yàn)證的方式式建立角色色.createrole角色名notidentified;㈡建立角色(數(shù)據(jù)庫驗(yàn)證證)采用這樣的的方式時(shí),角色名、口口令存放在在數(shù)據(jù)庫中中。當(dāng)激活活該角色時(shí)時(shí),必須提提供口令.在建立這種種角色時(shí),,需要為其其提供口令令createrole角色名identifiedbym123;主講李珩珩oracle數(shù)據(jù)庫管理權(quán)限和和角色—角色■角色授權(quán)當(dāng)建立角色色時(shí),角色色沒有任何何權(quán)限,為了使得角角色完成特特定任務(wù),,必須為其其授予相應(yīng)應(yīng)的系統(tǒng)權(quán)權(quán)限和對(duì)象象權(quán)限。㈠給角色授授權(quán)給角色授予予權(quán)限和給給用戶授權(quán)權(quán)沒有太多多區(qū)別,但但是要注意意,系統(tǒng)權(quán)權(quán)限的unlimitedtablespace和對(duì)象權(quán)限限的withgrantoption選項(xiàng)是不能能授予角色色的。grant對(duì)象權(quán)限on數(shù)據(jù)庫對(duì)象象to自定義角色色名[withadminoption]練習(xí):1.用system給某個(gè)自定定義角色授授予createsession權(quán)限
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度MCN機(jī)構(gòu)與旅游企業(yè)聯(lián)合營銷合同2篇
- 蘭州大學(xué)《醫(yī)學(xué)的法律邊界》2023-2024學(xué)年第一學(xué)期期末試卷
- 江西工業(yè)職業(yè)技術(shù)學(xué)院《藥學(xué)綜合設(shè)計(jì)性實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 吉林醫(yī)藥學(xué)院《數(shù)值計(jì)算與語言》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖南電氣職業(yè)技術(shù)學(xué)院《中國現(xiàn)當(dāng)代文學(xué)作品選二》2023-2024學(xué)年第一學(xué)期期末試卷
- 重慶機(jī)電職業(yè)技術(shù)大學(xué)《動(dòng)物胚胎工程技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 中央司法警官學(xué)院《波譜化學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江農(nóng)林大學(xué)《商務(wù)數(shù)據(jù)分析實(shí)訓(xùn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江東方職業(yè)技術(shù)學(xué)院《DSP技術(shù)與應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 長春電子科技學(xué)院《建筑設(shè)計(jì)原理》2023-2024學(xué)年第一學(xué)期期末試卷
- 高二物理競(jìng)賽霍爾效應(yīng) 課件
- 金融數(shù)學(xué)-(南京大學(xué))
- 基于核心素養(yǎng)下的英語寫作能力的培養(yǎng)策略
- 柴油發(fā)電機(jī)空載試運(yùn)行和負(fù)荷試運(yùn)行記錄
- 現(xiàn)場(chǎng)安全文明施工考核評(píng)分表
- 亞什蘭版膠衣操作指南
- 四年級(jí)上冊(cè)數(shù)學(xué)教案 6.1口算除法 人教版
- DB32-T 3129-2016適合機(jī)械化作業(yè)的單體鋼架塑料大棚 技術(shù)規(guī)范-(高清現(xiàn)行)
- 6.農(nóng)業(yè)產(chǎn)值與增加值核算統(tǒng)計(jì)報(bào)表制度(2020年)
- 人工挖孔樁施工監(jiān)測(cè)監(jiān)控措施
- 供應(yīng)商物料質(zhì)量問題賠償協(xié)議(終端)
評(píng)論
0/150
提交評(píng)論