版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
索引序列和同義詞第1頁,課件共56頁,創(chuàng)作于2023年2月第5章使用其它方案對象課程描述介紹Oracle數(shù)據(jù)庫常用對象的管理方法。包括序列管理、索引管理、視圖管理和同義詞管理等。第2頁,課件共56頁,創(chuàng)作于2023年2月本章知識(shí)點(diǎn)
序列管理索引管理視圖管理同義詞管理第3頁,課件共56頁,創(chuàng)作于2023年2月7.5序列管理
創(chuàng)建序列修改序列刪除序列序列的使用第4頁,課件共56頁,創(chuàng)作于2023年2月序列概念序列(SEQUENCE)是一數(shù)據(jù)庫對象,利用它可生成唯一的整數(shù),最多可有38個(gè)數(shù)字。在oracle中sequence就是所謂的序列號(hào)。序列的作用是自動(dòng)生成整型數(shù)值,作為表中標(biāo)識(shí)字段的值標(biāo)識(shí)字段的值由系統(tǒng)自動(dòng)生成,每插入一條新記錄,此字段的值自動(dòng)加1(默認(rèn))。第5頁,課件共56頁,創(chuàng)作于2023年2月創(chuàng)建序列
建立序列命令
CREATESEQUENCE[user.]sequence_name
[incrementbyn]
[startwithn]
[maxvaluen|nomaxvalue]
[minvaluen|nominvalue];
其中:
INCREMENTBY:指定序列號(hào)之間的間隔,該值可為正的或負(fù)的整數(shù),但不可為0。序列為升序。忽略該子句時(shí),缺省值為1。
STARTWITH:指定生成的第一個(gè)序列號(hào)。在升序時(shí),序列可從比最小值大的值開始,缺省值為序列的最小值。對于降序,序列可由比最大值小的值開始,缺省值為序列的最大值。
MAXVALUE:指定序列可生成的最大值。
NOMAXVALUE:為升序指定最大值為1027,為降序指定最大值為-1。
MINVALUE:指定序列的最小值。
NOMINVALUE:為升序指定最小值為1。為降序指定最小值為-1026。第6頁,課件共56頁,創(chuàng)作于2023年2月創(chuàng)建序列
CREATESEQUENCE語句創(chuàng)建序列?!纠縿?chuàng)建序列SEQ_USERS_USERID:CREATESEQUENCESEQ_USERS_USERIDMINVALUE1--序列的最小值為1NOMAXVALUE--序列沒有最大值限制
STARTWITH1--序列的初始值為1INCREMENTBY1--序列間隔為1NOCYCLE—不循環(huán)生成序列值
CACHE20;--高速緩存大小為20第7頁,課件共56頁,創(chuàng)作于2023年2月序列的使用得到序列的新值:SEQ_USERS_USERID.NEXTVAL創(chuàng)建表CREATETABLEUsers1(UserId Number,TelVarchar2(15));例如,向表USERS中插入一個(gè)新的記錄:INSERTINTOUSERS1(USERID,Tel)VALUES(SEQ_USERS_USERID.NEXTVAL,);第8頁,課件共56頁,創(chuàng)作于2023年2月序列的使用序列號(hào)的生成獨(dú)立與表,所以,同一序列生成器可用于一個(gè)或多個(gè)表。所生成的序列號(hào)可用于生成唯一的主鍵。創(chuàng)建表CREATETABLEUsers2(UserId Number,TelVarchar2(15));例如,向表USERS中插入一個(gè)新的記錄:INSERTINTOUSERS2(USERID,TEL)VALUES(SEQ_USERS_USERID,);//再向USERS1表中插值INSERTINTOUSERS1(USERID,TEL)VALUES(SEQ_USERS_USERID,);第9頁,課件共56頁,創(chuàng)作于2023年2月更改序列ALTERSEQUENCE[user.]sequence_name
[INCREMENTBYn]
[MAXVALUEn|NOMAXVALUE]
[MINVALUEn|NOMINVALUE];
修改序列可以:
1、修改未來序列值的增量。
2、設(shè)置或撤消最小值或最大值。
3、改變緩沖序列的數(shù)目。
4、指定序列號(hào)是否是有序。第10頁,課件共56頁,創(chuàng)作于2023年2月更改序列更改序列SEQ_USERS_USERID,設(shè)置序列的增量為2,最大值為100,可循環(huán)。ALTERSEQUENCESEQ_USERS_USERIDINCREMENTBY2MAXVALUE100CYCLE;第11頁,課件共56頁,創(chuàng)作于2023年2月刪除序列刪除序列命令
DROPSEQUENCE[user.]sequence_name;【例】刪除序列SEQ_USERS_USERID:DROPSEQUENCESEQ_USERS_USERID;第12頁,課件共56頁,創(chuàng)作于2023年2月創(chuàng)建序列序列管理頁面搜索序列創(chuàng)建序列序列基本信息第13頁,課件共56頁,創(chuàng)作于2023年2月創(chuàng)建序列創(chuàng)建序列頁面第14頁,課件共56頁,創(chuàng)作于2023年2月修改序列編輯序列第15頁,課件共56頁,創(chuàng)作于2023年2月刪除序列確認(rèn)刪除頁面第16頁,課件共56頁,創(chuàng)作于2023年2月7.4索引管理
索引的概念索引管理頁面創(chuàng)建索引修改索引刪除索引第17頁,課件共56頁,創(chuàng)作于2023年2月索引的概念UserName索引的存儲(chǔ)和工作情況索引是對數(shù)據(jù)庫表中一個(gè)或多個(gè)列的值進(jìn)行排序的結(jié)構(gòu).索引提供指針指向存儲(chǔ)在表中指定列的數(shù)據(jù)值利用索引可以快速訪問數(shù)據(jù)庫表中的特定信息第18頁,課件共56頁,創(chuàng)作于2023年2月索引的概念使用索引可快速訪問數(shù)據(jù)庫表中的特定信息。索引是對數(shù)據(jù)庫表中一列或多列的值進(jìn)行排序的一種結(jié)構(gòu),索引提供指向存儲(chǔ)在表的指定列中的數(shù)據(jù)值的指針,然后根據(jù)指定的排序順序?qū)@些指針排序。搜索索引以找到特定值,然后順指針找到包含該值的行。索引需要存儲(chǔ)空間。在插入、更新和刪除表中數(shù)據(jù)的時(shí)候,數(shù)據(jù)庫將自動(dòng)維護(hù)索引。作為通用規(guī)則,只有當(dāng)經(jīng)常查詢索引列中的數(shù)據(jù)時(shí),才需要在表上創(chuàng)建索引。索引占用磁盤空間,并且降低添加、刪除和更新行的速度。在多數(shù)情況下,索引用于數(shù)據(jù)檢索的速度優(yōu)勢大大超過它的。第19頁,課件共56頁,創(chuàng)作于2023年2月創(chuàng)建索引創(chuàng)建表CREATETABLEUsers2(UserId Number,TelVarchar2(15));CREATEINDEX語句創(chuàng)建索引。【例】為表Users的列UserId創(chuàng)建索引,索引名為index_userid:CREATEINDEXindex_user1_useridONUsers2(UserId)查看用戶創(chuàng)建的索引。Selectindex_name,table_namefromuser_indexes第20頁,課件共56頁,創(chuàng)作于2023年2月創(chuàng)建索引創(chuàng)建主鍵索引:在創(chuàng)建表的時(shí)候,使用PRIMARYKEY關(guān)鍵詞指定主鍵列。CREATETABLEUsers1(UserId NumberPrimaryKey,TelVarchar2(15));CREATEPRIMARYKEYINDEXindex_users1_telONUsers1(userid);第21頁,課件共56頁,創(chuàng)作于2023年2月創(chuàng)建索引創(chuàng)建惟一索引:使用CREATEUNIQUEINDEX?!纠繛楸鞺sers1的列Tel創(chuàng)建索引,索引名為index_users1_tel(確認(rèn)Tel列沒有重復(fù)值)CREATEUNIQUEINDEXindex_users2_telONUsers2(Tel);創(chuàng)建表時(shí),使用UNIQUE關(guān)鍵詞指定惟一索引。CREATETABLEUsers2(UserId NumberPrimaryKey,TelVarchar2(15)NOTNULLUNIQUE);
第22頁,課件共56頁,創(chuàng)作于2023年2月修改索引ALTERINDEX語句可以修改索引?!纠吭O(shè)置索引index_user_tel不可用:ALTERINDEXindex_users1_telUNUSABLE;ALTERINDEX中使用REBUILD關(guān)鍵詞可重新使用索引index_users1_tel
:ALTERINDEXindex_users1_telREBUILD;RENAMETO子句可以重命名索引?!纠繉⑺饕鹖ndex_users1_tel重命名為index_users1:ALTERINDEXindex_users1_telRENAMETOindex_users1; 第23頁,課件共56頁,創(chuàng)作于2023年2月刪除索引當(dāng)索引不在需要時(shí),刪除,回收使用空間。語句:【例】將索引名index_users1_tel重命名為index_users1:
DROPINDEXindex_users1第24頁,課件共56頁,創(chuàng)作于2023年2月索引管理頁面索引管理頁面第25頁,課件共56頁,創(chuàng)作于2023年2月創(chuàng)建索引創(chuàng)建索引頁面1.輸入索引名稱,選擇方案和表空間3.置入列4.設(shè)置排序和順序2.選擇表第26頁,課件共56頁,創(chuàng)作于2023年2月創(chuàng)建索引索引選項(xiàng)頁面保存選擇索引類型選擇執(zhí)行選項(xiàng)第27頁,課件共56頁,創(chuàng)作于2023年2月刪除索引DROPINDEX語句刪除指定索引?!纠縿h除索引index_users1:DROPINDEXindex_users1;單擊此按鈕確認(rèn)刪除索引第28頁,課件共56頁,創(chuàng)作于2023年2月視圖管理
視圖的基本概念視圖管理頁面創(chuàng)建視圖修改視圖刪除視圖第29頁,課件共56頁,創(chuàng)作于2023年2月視圖的基本概念視圖是原始數(shù)據(jù)庫數(shù)據(jù)的一種變換,是查看表中數(shù)據(jù)的另外一種方式??梢詫⒁晥D看成是一個(gè)移動(dòng)的窗口,通過它可以看到感興趣的數(shù)據(jù)。視圖是從一個(gè)或多個(gè)實(shí)際表中獲得的,這些表的數(shù)據(jù)存放在數(shù)據(jù)庫中。那些用于產(chǎn)生視圖的表叫做該視圖的基表。一個(gè)視圖也可以從另一個(gè)視圖中產(chǎn)生。視圖的定義存在數(shù)據(jù)庫中,與此定義相關(guān)的數(shù)據(jù)并沒有再存一份于數(shù)據(jù)庫中。通過視圖看到的數(shù)據(jù)存放在基表中。第30頁,課件共56頁,創(chuàng)作于2023年2月視圖的基本概念視圖是一個(gè)虛擬的表,在物理上并不存在.視圖可以看成是一個(gè)存儲(chǔ)的查詢,可以限制用戶能看到和能修改的數(shù)據(jù).視圖并不包含數(shù)據(jù),只是從基表中讀取數(shù)據(jù)視圖特點(diǎn)著重于特定數(shù)據(jù),增強(qiáng)數(shù)據(jù)的安全性簡化數(shù)據(jù)操作:每次生成報(bào)表時(shí)無需寫或提交基礎(chǔ)查詢,只是查詢視圖.自定義數(shù)據(jù):允許用戶以不同的方式查看數(shù)據(jù)組合分區(qū)數(shù)據(jù):將不同表的數(shù)據(jù)組合成單一的結(jié)果集第31頁,課件共56頁,創(chuàng)作于2023年2月視圖管理頁面視圖管理頁面視圖基本信息搜索視圖第32頁,課件共56頁,創(chuàng)作于2023年2月創(chuàng)建視圖“創(chuàng)建視圖向?qū)А贝翱趩螕舸藞D標(biāo),可以選擇方案輸入SQL語句選中此復(fù)選框,如果覆蓋同名視圖單擊“確定”按鈕保存第33頁,課件共56頁,創(chuàng)作于2023年2月創(chuàng)建視圖CREATEVIEW語句創(chuàng)建視圖:create[orreplace][force|noforce]view[user.]view_name[column1[,column2]…]asquery[withcheckoption[constraintconstraint_name][withreadonly]其中:orreplace:表示如果同名的視圖存在,則使用新視圖替代已有的視圖Force:強(qiáng)制創(chuàng)建視圖,不考慮基表是否存在以及是否具有使用基表數(shù)據(jù)的權(quán)限Noforce:只有基表存在并具有權(quán)限才可以創(chuàng)建視圖User:創(chuàng)建視圖的用戶名view_name:視圖名Column:指定視圖中的列名Query:生成視圖的select語句withcheckoption:指定檢查通過視圖修改數(shù)據(jù)的操作constraint_name:指定的約束名稱withreadonly:表示創(chuàng)建的視圖只能檢索數(shù)據(jù),不能修改數(shù)據(jù)第34頁,課件共56頁,創(chuàng)作于2023年2月創(chuàng)建視圖【例】創(chuàng)建員工信息視圖V_EMP:Connsys/oracleassysdba授予用戶創(chuàng)建視圖的權(quán)限GRANTCREATEVIEWTOSCOTT;Connscott/oracle;創(chuàng)建視圖CREATEVIEWusers_view(id,name,newsalary)ASSELECTuserid,username,salary*1.1Fromusers;
第35頁,課件共56頁,創(chuàng)作于2023年2月創(chuàng)建視圖查看用戶定義的視圖Selectview_namefromuser_views查看視圖定義Selectview_name,textFromuser_viewsWhereview_name=‘USERS_VIEW’;查看視圖結(jié)構(gòu)Descusers_view
第36頁,課件共56頁,創(chuàng)作于2023年2月修改視圖在CREATEVIEW語句中增加ORREPLACE子句,修改視圖的定義。如果要在users_view中增加一列createorreplaceViewusers_view(id,name,type,newsal)AsSELECTuserid,username,usertype,salary*1.1Fromusers;第37頁,課件共56頁,創(chuàng)作于2023年2月修改視圖編輯視圖頁面單擊“確定”按鈕保存修改SQL語句第38頁,課件共56頁,創(chuàng)作于2023年2月刪除視圖DROPVIEW語句刪除指定視圖?!纠縿h除視圖HR.V_EMP:DROPVIEWusers_view;單擊此按鈕確認(rèn)刪除索引第39頁,課件共56頁,創(chuàng)作于2023年2月視圖中的約束視圖不僅可以限制能夠看到的列,還可以限制可以返回的行創(chuàng)建薪水超過2500的用戶的視圖CREATEVIEWusers_view(id,name,sal)ASSELECTuserid,username,salaryFromusersWheresalary>2500;第40頁,課件共56頁,創(chuàng)作于2023年2月連接視圖基于多個(gè)基表的視圖Createviewusertype_viewAsSelectu.username,t.typenameFromusersu,uesertypetWhereu.usertype=t.typeidWithreadonly—只讀(即不能此視圖執(zhí)行insert、update或delete)第41頁,課件共56頁,創(chuàng)作于2023年2月驗(yàn)證視圖以下操作將導(dǎo)致視圖無效改變列名,或從基本表或視圖中完全刪除列刪除構(gòu)建視圖的基本表或視圖改變基本表或視圖,使其無效,將導(dǎo)致視圖無效使視圖由無效變?yōu)橛行У姆椒ㄊ褂胊lterviewview_namecompile命令重新編譯視圖使用createorreplaceview命令重新創(chuàng)建視圖修正視圖所基于的基本表或視圖第42頁,課件共56頁,創(chuàng)作于2023年2月驗(yàn)證視圖【例】修改基表,致使視圖無效,重新編譯基表,使其有效查詢視圖的狀態(tài)Selectobject_name,statusFromuser_objectsWhereobject_name=‘USERS_VIEW’;結(jié)果為:valid(有效)修改基表usersAltertableusersModify(usernamevarchar2(50));第43頁,課件共56頁,創(chuàng)作于2023年2月驗(yàn)證視圖使視圖有效Alterviewusers_viewCompile;查詢視圖的狀態(tài)Selectobject_name,statusFromuser_objectsWhereobject_name=‘USERS_VIEWs’;結(jié)果為:valid(無效)第44頁,課件共56頁,創(chuàng)作于2023年2月強(qiáng)制創(chuàng)建視圖當(dāng)創(chuàng)建視圖時(shí),ORACLE會(huì)驗(yàn)證視圖的有效性使用FORCE選項(xiàng)定義視圖,無論視圖是否有效創(chuàng)建基表不存在的視圖Createforceviewinvalid_viewAsSelect*Fromtable_not_exist查看Selectview_namefromuser_views查看視圖狀態(tài)Selectobject_name,statusFromuser_objectsWhereobject_name=‘INVALID_VIEW’創(chuàng)建此類視圖的原因基表由A創(chuàng)建,而視圖由B創(chuàng)建,使B的工作不依賴于A用戶想在一個(gè)沒有select權(quán)限的表上創(chuàng)建視圖第45頁,課件共56頁,創(chuàng)作于2023年2月修改視圖數(shù)據(jù)視圖看上去非常象數(shù)據(jù)庫的物理表,對它的操作同任何其它的表一樣。當(dāng)通過視圖修改數(shù)據(jù)時(shí),實(shí)際上是在改變基表中的數(shù)據(jù);相反地,基表數(shù)據(jù)的改變也會(huì)自動(dòng)反映在由基表產(chǎn)生的視圖中。由于邏輯上的原因,有些視圖可以修改對應(yīng)的基表,有些則不能(僅僅能查詢)。
第46頁,課件共56頁,創(chuàng)作于2023年2月通過視圖更新數(shù)據(jù)通過視圖修改用戶編號(hào)Updateusers_viewSetuserid=8Whereuserid=2通過視圖修改用戶工資,必須滿足指定的約束條件Updateusers_viewSetsalary=800Whereuserid=2第47頁,課件共56頁,創(chuàng)作于2023年2月同義詞概念欲查詢users表中的內(nèi)容connsys/orclassysdba;
已連接。select*fromusers;
未選定行select*fromuserman.users;第48頁,課件共56頁,創(chuàng)作于2023年2月同義詞的基本概念同義詞是數(shù)據(jù)庫方案對象的一個(gè)別名,經(jīng)常用于簡化對象訪問和提高對象訪問的安全性。在使用同義詞時(shí),Oracle數(shù)據(jù)庫將它翻譯成對應(yīng)方案對象的名字。與視圖類似,同義詞并不占用實(shí)際存儲(chǔ)空間,只有在數(shù)據(jù)字典中保存了同義詞的定義。優(yōu)點(diǎn):應(yīng)用程序開發(fā)可以不管數(shù)據(jù)庫的具體對象名避免應(yīng)用程序直接訪問數(shù)據(jù)庫對象,提高數(shù)據(jù)庫安全性。第49頁,課件共56頁,創(chuàng)作于2023年2月同義詞管理頁面同義詞管理頁面同義詞基本信息搜索同義詞第50頁,課件共56
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年分期付款旅游套餐協(xié)議
- 導(dǎo)演與設(shè)計(jì)師2025年度合作協(xié)議3篇
- 2025年人事代理授權(quán)服務(wù)協(xié)議
- 二零二五版奶茶店財(cái)務(wù)審計(jì)與風(fēng)險(xiǎn)控制服務(wù)合同
- 2025年代理權(quán)益保護(hù)協(xié)議書案例展示總結(jié)介紹案例
- 2025年在線購物消費(fèi)者協(xié)議
- 2025年銀行間市場協(xié)議存款居間業(yè)務(wù)合作合同范本6篇
- 2025年超額保險(xiǎn)合同保險(xiǎn)合同保險(xiǎn)范圍協(xié)議
- 復(fù)習(xí)課件蘇聯(lián)的社會(huì)主義建設(shè)人教版
- 2025年度新能源技術(shù)研發(fā)個(gè)人技術(shù)服務(wù)合同4篇
- 書籍小兵張嘎課件
- 藝術(shù)哲學(xué):美是如何誕生的學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 北京海淀區(qū)2025屆高三下第一次模擬語文試題含解析
- 量子醫(yī)學(xué)治療學(xué)行業(yè)投資機(jī)會(huì)分析與策略研究報(bào)告
- 多重耐藥菌病人的管理-(1)課件
- (高清版)TDT 1056-2019 縣級國土資源調(diào)查生產(chǎn)成本定額
- 環(huán)境監(jiān)測對環(huán)境保護(hù)的意義
- 2023年數(shù)學(xué)競賽AMC8試卷(含答案)
- 神經(jīng)外科課件:神經(jīng)外科急重癥
- 2023年十天突破公務(wù)員面試
- 《瘋狂動(dòng)物城》中英文對照(全本臺(tái)詞)
評論
0/150
提交評論