版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
10表及約束創(chuàng)建簡單的表createtablet(aint,bchar(15));createtablet(aint,bchar(15))
tablespacetbs普通用戶創(chuàng)建表,并未分配空間添加記錄時,才對表分配空間
2015-813-2Oracle數(shù)據(jù)庫系統(tǒng)原理-第13章位圖索引約束主鍵(primarykey)列值不能為空也不能重復(fù)。唯一(unique)外鍵(foreignkey)列值要匹配于其指向的主表的相應(yīng)列值。檢查(check)列值的限制條件。非空(notnull)默認(rèn)(default)添加記錄時,若未指定列值,則取默認(rèn)約束中的值。2015-810-3Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束附加約束的位置列級約束表級約束2015-810-4Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束附加約束的各種語法形式列級約束,未指定名稱SQL>createtablet12(3aintprimarykey,4bint5)6/列級約束,指定名稱SQL>createtablet22(3aintconstraintpk_testprimarykey,4bint5)6/2015-810-5Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束附加約束的各種語法形式表級約束,未指定名稱SQL>createtablet32(3aint,4bint,5primarykey(a)6)7/表級約束,指定名稱SQL>createtablet42(3aint,4bint,5constraintpk_testprimarykey(a)6)7/2015-810-6Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束幾點主意多列復(fù)合主鍵或多列唯一約束只能使用表級約束。列級檢查約束不能出現(xiàn)其他列名,表級檢查約束可以引用表中任何列。非空約束只能附加在列級而不能附加在表級。2015-810-7Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束Check約束示例SQL>createtablet6
2(
3aintprimarykey,
4bint,
5constraintck_testcheck(b>10)
6)
7/2015-810-8Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束外鍵約束示例創(chuàng)建主表p,a列為主鍵SQL>createtablep(aintprimarykey,bint);對c表的y列附加表級外鍵約束SQL>createtablec32(3xint,4yint,5constraintfk_cforeignkey(y)referencesp(a)6)7/2015-810-9Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束外鍵的約束作用c表中的y列的值要匹配于p表中a列的值。p表中被引用到的記錄不能刪除,被引用的a列的值也不能修改。2015-810-10Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束附加外鍵時的ondelete子句ondeletecascade子表中的對應(yīng)記錄會被級聯(lián)刪除。ondeletesetnull把外鍵值設(shè)置為null。Oracle不支持onupdate子句2015-810-11Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束附加ondelete子句SQL>createtablec5
2(
3xintprimarykey,
4yint,
5foreignkey(y)referencesp(b)
6ondeletecascade--或setnull
7)
8/2015-810-12Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束對表增加約束表級形式altertabletable_name
addconstraintconstraint_namecostraintt_clause列級形式altertabletable_name
modify
column_nameconstraintconstraint_nameconstraint_clause2015-810-13Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束對表增加約束示例emp表的sal列增加檢查約束altertableempaddconstraintck_salcheck(sal<8000);salgrade表的grade列增加主鍵約束altertablesalgradeaddconstraintpk_sgprimarykey(grade);dept表的dname列增加唯一約束altertabledeptaddconstraintuq_dnameunique(dname);2015-810-14Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束刪除約束普通用法altertabletable_namedropconstraintconstraint_name也可以通過修改列屬性實現(xiàn)SQL>altertableempmodifysalnull;2015-810-15Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束禁用和啟用約束禁用約束altertableempdisableconstraintfk_deptno;啟用約束altertableempenableconstraintfk_deptno;啟用時不檢查原數(shù)據(jù)altertableempenablenovalidateconstraintfk_deptno;啟用時檢查原數(shù)據(jù)(默認(rèn))altertableempenablevalidateconstraintfk_deptno;2015-810-16Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束查詢約束信息查看用戶自己的約束user_constraintsuser_cons_columnssystem用戶查看數(shù)據(jù)庫中的任何約束dba_constraintsdba_cons_columns注意:兩者的區(qū)別是xxx_constraints不包含列的信息2015-810-17Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束修改表的結(jié)構(gòu)修改表名altertabledeptrenametodepartment;renamedepartmenttodept;修改列名altertabledeptrenamecolumnloctolocation;添加列altertabledeptaddphone_numberchar(12)刪除列altertabledeptdropcolumnphone_number修改列類型altertabledeptmodify(deptnonumber(3),locvarchar2(20));2015-810-18Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束清空表truncatetableemp;truncate與delete的區(qū)別truncate屬于DDL語句,執(zhí)行后事務(wù)自動提交,不能回滾,delete操作是DML語句,刪除的數(shù)據(jù)可以執(zhí)行rollback命令恢復(fù)回來。truncate通過釋放表占用的空間刪除數(shù)據(jù),產(chǎn)生的重做數(shù)據(jù)很少。delete操作刪除的數(shù)據(jù)不會釋放空間,刪除的記錄信息都會記入重做日志文件,產(chǎn)生的重做數(shù)據(jù)一般會比刪除的數(shù)據(jù)量大。2015-810-19Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束刪除表droptableemp;刪除表后,其數(shù)據(jù)并未清除??梢园褎h除的表從回收站中恢復(fù)出來。2015-810-20Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束回收站Oracle的回收站實際上是一個數(shù)據(jù)字典表,其中存儲了刪除的數(shù)據(jù)庫對象信息,其功能與操作系統(tǒng)的回收站功能類似2015-810-21Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束與回收站有關(guān)的數(shù)據(jù)字典視圖user_recyclebinrecyclebin為其同義詞dba_recyclebin主要列object_name:對象被刪除后,在回收站中的新名稱。original_name:對象刪除之前的原名稱。droptime:對象的刪除時間。2015-810-22Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束查詢回收站中的數(shù)據(jù)SQL>selectobject_name,original_namefromuser_recyclebin;OBJECT_NAMEORIGINAL_NAME--------------------------------------------------------------BIN$Hiv6MN2ASTuYRGIyW/YZOg==$0PK_EMPBIN$+1lzYAAIQ/217zwnNdK59w==$0EMP2015-810-23Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束查詢刪除表中的數(shù)據(jù)被刪除后,轉(zhuǎn)移到回收站中的對象還是屬于原用戶的,可以以其回收站中的名稱來查詢其原數(shù)據(jù)。select*from"BIN$+1lzYAAIQ/217zwnNdK59w==$0";如果system用戶查詢回收站中的表,則需附加表的原屬主。select*fromscott."BIN$+1lzYAAIQ/217zwnNdK59w==$0";2015-810-24Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束恢復(fù)被刪除的表指定原表名flashbacktableemptobeforedrop;指定回收站中的表名flashbacktable"BIN$Z0kp5fISQka+U+K9rsbc5A==$0"tobeforedrop;恢復(fù)后改為其他表名flashbacktablettobeforedroprenametot1;2015-810-25Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束不使用回收站附加了purge關(guān)鍵字,直接將表刪除SQL>droptableemppurge;關(guān)閉回收站功能SQL>altersystemsetrecyclebin=offscope=spfile;2015-810-26Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束清空回收站purgetable命令清空指定表SQL>droptablebonus;SQL>purgetable"BIN$Po/lxosvQrOAjvrDHMUWyg==$0";2015-810-27Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束回收站的幾個注意事項sys或system用戶刪除的對象不會放入回收站??臻e空間不夠時,回收站中的對象所占用的空間會自動釋放掉,分配給需要空間的其他對象?;謴?fù)表時,其索引也會自動恢復(fù),但會沿用回收站中的名稱??梢詧?zhí)行下面命令改為原名稱。SQL>alterindex"BIN$xgIxUJLlRj+433nY+RLpMA==$0"2renametopk_emp3/2015-810-28Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束建表操作的背后執(zhí)行COMMIT操作。檢查用戶是否有建表權(quán)限。確認(rèn)表要創(chuàng)建到的表空間是否存在。確認(rèn)在當(dāng)前模式內(nèi)不存在與新表同名的對象。對相關(guān)數(shù)據(jù)字典基表添加新表的定義。若建表操作成功,最后執(zhí)行COMMIT操作,若未成功則執(zhí)行ROLLBACK操作。2015-810-29Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束Oracle數(shù)據(jù)庫對象table,indexviewsequencesynonym2015-810-30Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束視圖--view視圖被定義為一個查詢,像表一樣操作視圖。視圖的作用:簡化查詢編寫,把查詢限制到列創(chuàng)建視圖語法createviewv_empasselectename,salfromemp修改視圖
Alterviewas…刪除視圖dropviewv_emp查詢視圖Select*fromv_emp_sal2015-810-31Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束同義詞--synonymsystem用戶創(chuàng)建同義詞createsynonymempforscott.empsystem用戶使用同義詞進(jìn)行查詢Select*fromemp2015-810-32Oracle數(shù)據(jù)庫系統(tǒng)原理-第10章表及約束序列--sequence屬于公用對象一般用于自增列創(chuàng)建序列CREATESEQUENCEsequence[INCREMENTBYn][STARTWITHn][{MAXVALUEn|NOMAXVALUE}][{MINVALUEn|NOMINVALUE}][{CYCLE|NOCYCLE}][{
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 統(tǒng)編版初中歷史七年級下冊第二單元教學(xué)設(shè)計與核心素養(yǎng)落地方案
- Friendship主題單元復(fù)習(xí)課:七年級英語深度學(xué)力建構(gòu)方案
- 漁船無線電操作員創(chuàng)新應(yīng)用考核試卷含答案
- 光伏薄膜組件制造工安全文明知識考核試卷含答案
- 2026屆內(nèi)蒙古土默特左旗一中高三數(shù)學(xué)第一學(xué)期期末聯(lián)考試題含解析
- 啤酒發(fā)酵過濾工崗前設(shè)備考核試卷含答案
- 再生物資加工處理工崗前個人防護(hù)考核試卷含答案
- 藥物微生物檢定員崗前工作合規(guī)化考核試卷含答案
- 焦?fàn)t煤氣冷凝凈化工班組安全模擬考核試卷含答案
- 管廊運維員操作水平測試考核試卷含答案
- 檢察官禮儀規(guī)范
- 湖南長沙九年級物理第一學(xué)期期末考試試卷(含答案)
- 汽車吊、隨車吊起重吊裝施工方案
- 2024年10月自考03291人際關(guān)系學(xué)試題及答案
- 外呼服務(wù)合同
- 電子商務(wù)供應(yīng)鏈管理課件
- 繪本:我喜歡書
- 2023健康住宅建設(shè)技術(shù)規(guī)程
- 漢聲數(shù)學(xué)繪本《數(shù)是怎么來的》
- 統(tǒng)編版中外歷史綱要下冊 (全球聯(lián)系的初步建立與世界格局的演變) 課件
- GB/T 26471-2023塔式起重機安裝、拆卸與爬升規(guī)則
評論
0/150
提交評論