




已閱讀5頁(yè),還剩226頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第八講 模式對(duì)象,本講內(nèi)容,模式概念 表管理 索引管理 索引化表管理 分區(qū)表與分區(qū)索引的管理 外部表的管理 簇、視圖、序列、同義詞、數(shù)據(jù)庫(kù)鏈接管理,模式是指一系列邏輯數(shù)據(jù)結(jié)構(gòu)或?qū)ο蟮募稀?模式與用戶(hù)相對(duì)應(yīng),一個(gè)模式只能被一個(gè)數(shù)據(jù)庫(kù)用戶(hù)所擁有,并且模式名稱(chēng)與擁有用戶(hù)的名稱(chēng)相同。 用戶(hù)所創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象都保存在與同名模式中。 同一模式中數(shù)據(jù)庫(kù)對(duì)象的名稱(chēng)必須惟一,而在不同模式中的數(shù)據(jù)庫(kù)對(duì)象可以同名。 默認(rèn)情況下,用戶(hù)引用的對(duì)象是與同名模式中的對(duì)象,如果要引用其他模式中的對(duì)象,需要在該對(duì)象名之前指明對(duì)象所屬模式。,1 模式概念,模式選擇與切換 如果用戶(hù)以NORMAL身份登錄,則進(jìn)入同名模式; 若以SYSDBA身份登錄,則進(jìn)入SYS模式; 如果以SYSOPER身份登錄,則進(jìn)入PUBLIC模式。,1 模式概念,2 表,創(chuàng)建表 表約束的管理 表參數(shù)設(shè)置 修改表 刪除表 利用OEM管理表,2.1 創(chuàng)建表,表的創(chuàng)建 創(chuàng)建臨時(shí)表 利用子查詢(xún)創(chuàng)建表,2.1.1 表的創(chuàng)建,表的規(guī)劃與設(shè)計(jì) 表名稱(chēng) 列的數(shù)量 列名稱(chēng)與類(lèi)型 表約束 表內(nèi)部數(shù)據(jù)的組織方式(標(biāo)準(zhǔn)表、索引化表、分區(qū)表) 表存儲(chǔ)位置、存儲(chǔ)空間分配等。,2.1.1 表的創(chuàng)建,使用CREATE TABLE語(yǔ)句 創(chuàng)建表 CREATE TABLE table_name (column_name datatype column_level_constraint ,column_name datatype column_level_constraint ,table_level_constraint) parameter_list;,2.1.1 表的創(chuàng)建,CREATE TABLE employee( empno NUMBER(5) PRIMARY KEY, ename VARCHAR2(15), deptno NUMBER(3) NOT NULL CONSTRAINT fk_emp REFERENCES dept(deptno) ) TABLESPACE USERS PCTFREE 10 PCTUSED 40 STORAGE(INITIAL 50K NEXT 50K MAXEXTENTS 10 PCTINCREASE 25);,表名(table_name) 必須是合法標(biāo)識(shí)符 數(shù)據(jù)類(lèi)型(datatype) 字符類(lèi)型 數(shù)字類(lèi)型 日期類(lèi)型 LOB類(lèi)型 二進(jìn)制類(lèi)型 行類(lèi)型,2.1.1 表的創(chuàng)建,2.1.1 表的創(chuàng)建,約束(constraint) 表級(jí)約束和列級(jí)約束2種 對(duì)列的約束包括主鍵約束、惟一性約束、檢查約束、外鍵約束和空/非空約束等5種。 參數(shù)(parameter_list) 可以通過(guò)參數(shù)設(shè)置表存儲(chǔ)在哪一個(gè)表空間中,和存儲(chǔ)空間分配等。,CHAR(n):定長(zhǎng)字符串,n的取值范圍為1-2000字節(jié) VARCHAR2(n):可變字符串,n取值范圍為1-4000字節(jié) NCHAR(n):用來(lái)存儲(chǔ)Unicode類(lèi)型字符串。 NVARCHAR2(n) :它用來(lái)存儲(chǔ)Unicode類(lèi)型字符串。 LONG:可變長(zhǎng)字符列,最大長(zhǎng)度為2GB,字符類(lèi)型,數(shù)字類(lèi)型,NUMBER(m,n) 用于存儲(chǔ)整數(shù)和實(shí)數(shù)。 m表示數(shù)值的總位數(shù)(精度),取值范圍為138,默認(rèn)為38; n表示小數(shù)位數(shù),若為負(fù)數(shù)則表示把數(shù)據(jù)向小數(shù)點(diǎn)左邊舍入,默認(rèn)值為0。,日期類(lèi)型,DATE 由世紀(jì)、年、月、日、時(shí)、分、秒組成。 范圍為公元前4712年1月1日到公元4712年1月1日。 可在會(huì)話(huà)中使用參數(shù)NLS_DATE_FORMAT指定日期和時(shí)間的格式。 可使用TO_DATE函數(shù),將表示日期和時(shí)間的字符串按特定格式轉(zhuǎn)換成日期和時(shí)間。,日期類(lèi)型,TIMESTAMP(n):表示時(shí)間戳 DATE 數(shù)據(jù)類(lèi)型的擴(kuò)展 允許存儲(chǔ)小數(shù)形式的秒值。 n表示秒的小數(shù)位數(shù),取值范圍為19,默認(rèn)值為6。 TIMESTAMP(n) WITH TIME ZONE 通過(guò)存儲(chǔ)一個(gè)時(shí)區(qū)偏差擴(kuò)展TIMESTAMP類(lèi)型。 時(shí)區(qū)偏差值為相對(duì)于通用協(xié)調(diào)時(shí)間(或稱(chēng)UTC,以前稱(chēng)為格林威治時(shí)間或GMT)的時(shí)差。,日期類(lèi)型,TIMESTAMP(n) WITH LOCAL TIME ZONE 存儲(chǔ)日期時(shí)直接轉(zhuǎn)換為數(shù)據(jù)庫(kù)時(shí)區(qū)日期 而讀取日期時(shí)將數(shù)據(jù)庫(kù)時(shí)區(qū)日期轉(zhuǎn)換為用戶(hù)會(huì)話(huà)時(shí)區(qū)日期。 INTERVAL YEAR(n) TO MONTH 存儲(chǔ)以年份和月份表示的時(shí)間段。 n是表示YEAR的最多數(shù)字位數(shù),默認(rèn)為2。,日期類(lèi)型,INTERVAL DAY(m) TO SECOND(n) 存儲(chǔ)以天數(shù)、小時(shí)數(shù)、分鐘數(shù)和秒數(shù)表示的時(shí)間段 m是表示DAY的最多數(shù)字位數(shù),默認(rèn)為2。 n是表示SECOND的小數(shù)部分的位數(shù),默認(rèn)為6。,LOB類(lèi)型,CLOB:用于存儲(chǔ)可變長(zhǎng)度的字符數(shù)據(jù),如文本文件等,最大數(shù)據(jù)量為4 GB。 NCLOB:用于存儲(chǔ)可變長(zhǎng)度的Unicode字符數(shù)據(jù),最大數(shù)據(jù)量為4 GB。 BLOB:用于存儲(chǔ)大型的、未被結(jié)構(gòu)化的可變長(zhǎng)度的二進(jìn)制數(shù)據(jù)(如二進(jìn)制文件、圖片文件、音頻和視頻等非文本文件),最大數(shù)據(jù)量為4 GB。 BFILE:用于存儲(chǔ)指向二進(jìn)制格式文件的定位器,該二進(jìn)制文件保存在數(shù)據(jù)庫(kù)外部的操作系統(tǒng)中,文件最大為4 GB。,二進(jìn)制類(lèi)型,RAW(n) 用于存儲(chǔ)可變長(zhǎng)度的二進(jìn)制數(shù)據(jù) n表示數(shù)據(jù)長(zhǎng)度,取值范圍為12000字節(jié); LONG RAW 用于存儲(chǔ)可變長(zhǎng)度的二進(jìn)制數(shù)據(jù) 最大存儲(chǔ)數(shù)據(jù)量為2 GB。,行類(lèi)型,ROWID 行標(biāo)識(shí)符,表中行的物理地址的偽列類(lèi)型。 ROWID類(lèi)型數(shù)據(jù)由18位十六進(jìn)制數(shù)構(gòu)成,包括對(duì)象編號(hào)、文件編號(hào)、數(shù)據(jù)塊編號(hào)和塊內(nèi)行號(hào)。 UROWID 行標(biāo)識(shí)符,用于表示索引化表中行的邏輯地址。,2.1.2 創(chuàng)建臨時(shí)表,臨時(shí)表中的數(shù)據(jù)在特定條件下自動(dòng)釋放,但其結(jié)構(gòu)將一直存在。 根據(jù)臨時(shí)表中數(shù)據(jù)被釋放的時(shí)間不同,臨時(shí)表分為事務(wù)級(jí)別的臨時(shí)表和會(huì)話(huà)級(jí)別的臨時(shí)表兩類(lèi)。 ON COMMIT DELETE ROWS /事務(wù)級(jí)臨時(shí)表 ON COMMIT PRESERVE ROWS /會(huì)話(huà)級(jí)臨時(shí)表,2.1.2 創(chuàng)建臨時(shí)表,語(yǔ)法 使用CREATE GLOBAL TEMPORARY TABLE語(yǔ)句創(chuàng)建臨時(shí)表 使用ON COMMIT子句說(shuō)明臨時(shí)表的類(lèi)型,默認(rèn)為事務(wù)級(jí)別的臨時(shí)表。,2.1.2 創(chuàng)建臨時(shí)表,事務(wù)級(jí)別的臨時(shí)表是在事務(wù)提交時(shí)系統(tǒng)自動(dòng)刪除表中所有記錄。 CREATE GLOBAL TEMPORARY TABLE tran_temp(ID NUMBER(2) PRIMARY KEY, name VARCHAR2(20) ) ON COMMIT DELETE ROWS;,2.1.2 創(chuàng)建臨時(shí)表,會(huì)話(huà)級(jí)別的臨時(shí)表是在會(huì)話(huà)終止時(shí)系統(tǒng)自動(dòng)刪除表中所有記錄 。 CREATE GLOBAL TEMPORARY TABLE sess_temp(ID NUMBER(2) PRIMARY KEY, name VARCHAR2(20) ) ON COMMIT PRESERVE ROWS;,2.1.3 利用子查詢(xún)創(chuàng)建表,語(yǔ)法 CREATE TABLE table_name (column_name column_level_constraint ,column_name column_level_constraint ,table_level_constraint) parameter_list AS subquery;,2.1.3 利用子查詢(xún)創(chuàng)建表,注意 可以修改表中列的名稱(chēng),但是不能修改列的數(shù)據(jù)類(lèi)型和長(zhǎng)度; 源表中的約束條件和列的缺省值都不會(huì)復(fù)制到新表中; 子查詢(xún)中不能包含LOB類(lèi)型和LONG類(lèi)型列; 當(dāng)子查詢(xún)條件為真時(shí),新表中包含查詢(xún)到的數(shù)據(jù);當(dāng)查詢(xún)條件為假時(shí),則創(chuàng)建一個(gè)空表。,2.1.3 利用子查詢(xún)創(chuàng)建表,創(chuàng)建一個(gè)標(biāo)準(zhǔn)表,保存工資高于3000的員工的員工號(hào)、員工名和部門(mén)號(hào)。語(yǔ)句為 CREATE TABLE emp_select(emp_no,emp_name,dept_no) AS SELECT empno,ename,deptno FROM employee WHERE sal3000;,2.1.3 利用子查詢(xún)創(chuàng)建表,創(chuàng)建一個(gè)會(huì)話(huà)級(jí)臨時(shí)表,保存部門(mén)號(hào)、部門(mén)人數(shù)和部門(mén)的平均工資。 CREATE GLOBAL TEMPORARY TABLE ept_temp ON COMMIT PRESERVE ROWS AS SELECT deptno,count(*) num,avg(sal) avgsal FROM emp GROUP BY deptno;,2.2 表約束,約束的類(lèi)別 定義約束 添加和刪除約束 設(shè)置約束狀態(tài) 約束的延遲檢查 查詢(xún)約束信息,2.2.1 約束的類(lèi)別,約束作用 在表中定義的用于維護(hù)數(shù)據(jù)庫(kù)完整性的一些規(guī)則。 通過(guò)對(duì)表中列定義約束,可以防止在執(zhí)行DML操作時(shí),將不符合要求的數(shù)據(jù)插入到表中。,2.2.1 約束的類(lèi)別,約束類(lèi)型 PRIMARY KEY UNIQUE CHECK FOREIGN KEY NULL/NOT NULL,PRIMARY KEY,特點(diǎn) 定義主鍵,起惟一標(biāo)識(shí)作用,其值不能為NULL,也不能重復(fù); 一個(gè)表中只能定義一個(gè)主鍵約束; 建立主鍵約束的同時(shí),在該列上建立一個(gè)惟一性索引,可以為它指定存儲(chǔ)位置和存儲(chǔ)參數(shù); 主鍵約束可以是列級(jí)約束,也可以是表級(jí)約束。,UNIQUE,特點(diǎn) 定義為惟一性約束的某一列或多個(gè)列的組合的取值必須惟一; 如果某一列或多個(gè)列僅定義惟一性約束,而沒(méi)有定義非空約束,則該約束列可以包含多個(gè)空值; Oracle自動(dòng)在惟一性約束列上建立一個(gè)惟一性索引,可以為它指定存儲(chǔ)位置和存儲(chǔ)參數(shù); 惟一性約束可以是列級(jí)約束,也可以是表級(jí)約束。,在一個(gè)基本表中只能定義一個(gè)PRIMARY KEY約束,但可定義多個(gè)UNIQUE約束; 對(duì)于指定為PRIMARY KEY的一個(gè)列或多個(gè)列的組合,其中任何一個(gè)列都不能出現(xiàn)空值,而對(duì)于UNIQUE所約束的唯一鍵,則允許為空。 不能為同一個(gè)列或一組列既定義UNIQUE約束,又定義PRIMARY KEY約束。,PRIMARY KEY與UNIQUE比較,CHECK,特點(diǎn) 檢查約束用來(lái)限制列值所允許的取值范圍,其表達(dá)式中必須引用相應(yīng)列,并且表達(dá)式的計(jì)算結(jié)果必須是一個(gè)布爾值; 約束表達(dá)式中不能包含子查詢(xún),也不能包含SYSDATE、USER等SQL函數(shù),和ROWID、ROWNUM等偽列; 一個(gè)列可以定義多個(gè)檢查約束; 檢查約束可以是列級(jí)約束,也可以是表級(jí)約束。,概念 FOREIGN KEY約束指定某一個(gè)列或一組列作為外部鍵。 系統(tǒng)保證從表在外部鍵上的取值要么是主表中某一個(gè)主鍵值或唯一鍵值,要么取空值。 保證兩個(gè)表之間的連接,確保了實(shí)體的參照完整性。,FOREIGN KEY,特點(diǎn) 定義外鍵約束的列的取值要么是主表參照列的值,要么為空; 外鍵列只能參照于主表中的主鍵約束列或惟一性約束列; 可以在一列或多列組合上定義外鍵約束; 外鍵約束可以是列級(jí)約束,也可以是表級(jí)約束。,FOREIGN KEY,NULL/NOT NULL,特點(diǎn) 在同一個(gè)表中可以定義多個(gè)NOT NULL約束; 只能是列級(jí)約束。,2.2.2 定義約束,列約束 對(duì)某一個(gè)特定列的約束,包含在列定義中 直接跟在該列的其他定義之后,用空格分隔,不必指定列名; 表約束 與列定義相互獨(dú)立,不包括在列定義中。 用于對(duì)多個(gè)列一起進(jìn)行約束,與列定義用,分隔。 定義表約束時(shí)必須指出要約束的那些列的名稱(chēng)。,定義列級(jí)約束的語(yǔ)法為: CONSTRAINT constraint_name constraint_type conditioin; 定義表級(jí)約束的語(yǔ)法為: CONSTRAINT constraint_name constraint_type(column1_name, column2_name,|condition); 注意 Oracle約束通過(guò)名稱(chēng)進(jìn)行標(biāo)識(shí)。在定義時(shí)可以通過(guò)CONSTRAINT關(guān)鍵字為約束命名。如果用戶(hù)沒(méi)有為約束命名,Oracle將自動(dòng)為約束命名。,2.2.2 定義約束,創(chuàng)建一個(gè)student表。 CREATE TABLE student( sno NUMBER(6) CONSTRAINT S_PK PRIMARY KEY, sname VARCHAR2(10) NOT NULL, sex CHAR(2) CONSTRAINT S_CK1 CHECK(sex in(M, F), sage NUMBER(6,2), CONSTRAINT S_CK2 CHECK( sage between 18 and 60) );,2.2.2 定義約束,2.2.2 定義約束,創(chuàng)建一個(gè)course表,同時(shí)為主鍵約束列上的唯一性索引設(shè)置存儲(chǔ)位置和存儲(chǔ)參數(shù),語(yǔ)句為 CREATE TABLE course( cno NUMBER(6) PRIMARY KEY, cname CHAR(20) UNIQUE USING INDEX TABLESPACE indx STORAGE( INITIAL 64K NEXT 64K) );,2.2.2 定義約束,創(chuàng)建一個(gè)SC表,語(yǔ)句為 CREATE TABLE SC( sno NUMBER(6) REFERENCES student(sno), cno NUMBER(6) REFERENCES course(cno), grade NUMBER(5,2), CONSTRAINT SC_PK PRIMARY KEY(sno, cno) );,定義列級(jí)FOREIGN KEY約束 CONSTRAINT constraint_name FOREIGN KEY REFERENCES ref_table_name (column_name,),2.2.2 定義約束,2.2.2 定義約束,定義表級(jí)FOREIGN KEY約束 CONSTRAINT constraint_name FOREIGN KEY (column_name,) REFERENCES ref_table_name (column_name,) ON DELETE CASCADE|SET NULL;,ON DELETE CASCADE 刪除子表中所有相關(guān)記錄 ON DELETE SET NULL 將子表中相關(guān)記錄的外鍵約束列值設(shè)置為NULL ON DELETE RESTRICTED 受限刪除,即如果子表中有相關(guān)子記錄存在,則不能刪除主表中的父記錄,默認(rèn)引用方式。,2.2.2 定義約束,DEFAULT 如果用戶(hù)在插入新行時(shí)沒(méi)有顯示為列提供數(shù)據(jù),系統(tǒng)將默認(rèn)值賦給該列。 語(yǔ)法 CONSTRAINT DEFAULT 表達(dá)式,2.2.2 定義約束,2.2.3 添加和刪除約束,添加約束語(yǔ)法為: ALTER TABLE table_name ADD CONSTRAINT constraint_name constraint_type(column1_name,column2_name,)condition;,創(chuàng)建一個(gè)player表 CREATE TABLE player( ID NUMBER(6), sno NUMBER(6), sname VARCHAR2(10), sage NUMBER(6,2), resume VARCHAR2(1000) );,2.2.3 添加和刪除約束,2.2.3 添加和刪除約束,添加主鍵約束 ALTER TABLE player ADD CONSTRAINT P_PK PRIMARY KEY(ID); 添加惟一性約束 ALTER TABLE player ADD CONSTRAINT P_UK UNIQUE(sname);,添加檢查約束 ALTER TABLE player ADD CONSTRAINT P_CK CHECK(sage BETWEEN 20 AND 30); 添加外鍵約束 ALTER TABLE player ADD CONSTRAINT P_FK FOREIGN KEY(sno)REFERENCES student(sno) ON DELETE CASCADE;,2.2.3 添加和刪除約束,添加空/非空約束 為表列添加空/非空約束時(shí)必須使用MODIFY子句代替ADD子句 ALTER TABLE player MODIFY resume NOT NULL; ALTER TABLE player MODIFY resume NULL;,2.2.3 添加和刪除約束,刪除約束 使用ALTER TABLEDROP語(yǔ)句刪除已經(jīng)定義約束。 通過(guò)直接指定約束的名稱(chēng)來(lái)刪除約束或指定約束的內(nèi)容來(lái)刪除約束。 刪除指定內(nèi)容的約束 ALTER TABLE player DROP UNIQUE(sname); 刪除指定名稱(chēng)的約束 ALTER TABLE player DROP CONSTRAINT P_CK;,2.2.3 添加和刪除約束,如果要在刪除主鍵約束、唯一性約束的同時(shí)將刪除唯一性索引 刪除約束時(shí)保留唯一性索引,則必須在ALTER TABLEDORP 語(yǔ)句中指定KEEP INDEX 子句。 ALTER TABLE player DROP CONSTRAINT P_UK KEEP INDEX;,2.2.3 添加和刪除約束,2.2.3 添加和刪除約束,如果要在刪除約束的同時(shí),刪除引用該約束的其他約束,則需要在ALTER TABLEDORP語(yǔ)句中指定CASCADE關(guān)鍵字。 ALTER TABLE player DROP CONSTRAINT P_PK CASCADE;,2.2.4 設(shè)置約束狀態(tài),激活(ENABLE)狀態(tài) 當(dāng)約束處于激活狀態(tài)時(shí),約束將對(duì)表的插入或更新操作進(jìn)行檢查,與約束規(guī)則沖突的操作被回退。 禁用(DISABLE)狀態(tài) 當(dāng)約束處于禁用狀態(tài)時(shí),約束不起作用,與約束規(guī)則沖突的插入或更新操作也能夠成功執(zhí)行。 從外部數(shù)據(jù)源提取大量數(shù)據(jù)到數(shù)據(jù)庫(kù)中; 進(jìn)行數(shù)據(jù)庫(kù)中數(shù)據(jù)的大量導(dǎo)入、導(dǎo)出操作; 針對(duì)表執(zhí)行一項(xiàng)包含大量數(shù)據(jù)操作的批處理工作時(shí)。,禁用約束 在定義約束時(shí),可以將約束設(shè)置為禁用狀態(tài),默認(rèn)為激活狀態(tài)。 創(chuàng)建表時(shí)禁用約束 CREATE TABLE S (SNO CHAR() PRIMARY KEY DISALBE,); 利用ALTER TABLEDISABLE禁用約束 ALTER TABLE STUDENT DISABLE CONSTRAINT S_CK1; ALTER TABLE STUDENT DISABLE UNIQUE (sname);,2.2.4 設(shè)置約束狀態(tài),禁用主鍵約束、惟一性約束時(shí),會(huì)刪除其對(duì)應(yīng)的惟一性索引,而在重新激活時(shí),Oracle為它們重建惟一性索引。 若在禁用約束時(shí),保留對(duì)應(yīng)的惟一性索引,可使用ALTER TABLEDISABLEKEEP INDEX語(yǔ)句。 ALTER TABLE STUDENT DISABLE UNIQUE (sname) KEEP INDEX; ALTER TABLE STUDENT DISABLE PRIMARY KEY KEEP INDEX;,2.2.4 設(shè)置約束狀態(tài),2.2.4 設(shè)置約束狀態(tài),若當(dāng)前約束(主鍵約束、惟一性約束)列被引用,則需要使用ALTER TABLEDISABLECASCADE語(yǔ)句同時(shí)禁用引用該約束的約束。 ALTER TABLE STUDENT DISABLE PRIMARY KEY KEEP INDEX CASCADE;,激活約束 創(chuàng)建或添加約束時(shí),默認(rèn)為激活狀態(tài)。 利用ALTER TABLEENABLE語(yǔ)句激活約束 ALTER TABLE STUDENT ENABLE UNIQUE (sname);,2.2.4 設(shè)置約束狀態(tài),2.2.4 設(shè)置約束狀態(tài),禁用主鍵約束、惟一性約束時(shí),會(huì)刪除其對(duì)應(yīng)的惟一性索引, 而在重新激活時(shí),Oracle為它們重建惟一性索引,可以為索引設(shè)置存儲(chǔ)位置和存儲(chǔ)參數(shù)(索引與表盡量分開(kāi)存儲(chǔ))。 ALTER TABLE STUDENT ENABLE PRIMARY KEY USING INDEX TABLESPACE indx STORAGE(INITIAL 32K NEXT 16K);,2.2.4 設(shè)置約束狀態(tài),通過(guò)ALTER TABLE MODIFY DISABLE| ENABLE 語(yǔ)句改變約束狀態(tài) ALTER TABLE STUDENT MODIFY CONSTRAINT S_CK2 DISABLE;,2.2.5 約束的延遲檢查,默認(rèn)情況下,在表中的約束都是不可延遲約束,在一條DML語(yǔ)句執(zhí)行完畢之后立即進(jìn)行約束檢查(除非禁用)。 創(chuàng)建約束時(shí)可以顯式使用DEFERRABLE關(guān)鍵字,創(chuàng)建可延遲的約束。 INITIALLY IMMEDIATE 或INITIALLY DEFERRED說(shuō)明可延遲約束在初始狀態(tài)下是立即檢查還是延遲檢查 如果在定義約束時(shí)設(shè)定為不可延遲,則約束創(chuàng)建后不能更改其可延遲性。只有創(chuàng)建時(shí)設(shè)定為可延遲的約束,創(chuàng)建后才能更改其可延遲性。,創(chuàng)建兩個(gè)表,其約束都是可延遲的。 CREATE TABLE new_dept( deptno NUMBER PRIMARY KEY DEFERRABLE INITIALLY IMMEDIATE, dname CHAR() UNIQUE );,2.2.5 約束的延遲檢查,2.2.5 約束的延遲檢查,CREATE TABLE new_emp( empno NUMBER PRIMARY KEY, ename CHAR(), deptno NUMBER CONSTRAINT NE_FK REFERENCES new_dept(deptno) ON DELETE CASCADE DEFERRABLE );,由于外鍵約束的作用,執(zhí)行下面語(yǔ)句時(shí)會(huì)產(chǎn)時(shí)錯(cuò)誤。 INSERT INTO new_emp VALUES(1,ZHANG,); * ERROR 位于第 1 行: ORA-02291: 違反完整約束條件 (SCOTT.E_FK) - 未找到父項(xiàng)關(guān)鍵字,2.2.5 約束的延遲檢查,將new_emp表的外鍵約束檢查延遲。 ALTER TABLE new_emp MODIFY CONSTRAINT NE_FK INITIALLY DEFERRED; 此時(shí),由于將new_emp表外鍵約束延遲到事務(wù)結(jié)束后進(jìn)行檢查,因此可以先向new_emp中插入數(shù)據(jù),而后向new_dept中插入數(shù)據(jù)。 INSERT INTO new_emp VALUES(1,ZHANG,); INSERT INTO new_dept VALUES(,COMPUTER); COMMIT;,2.2.5 約束的延遲檢查,操作完后,應(yīng)將new_emp外鍵約束檢查恢復(fù)原來(lái)狀態(tài)。 ALTER TABLE new_emp MODIFY CONSTRAINT NE_FK INITIALLY IMMEDIATE; 注意 在修改約束的檢查延遲性時(shí),如果無(wú)法確定約束的名稱(chēng)或需要設(shè)置多個(gè)約束的延遲性,可以一次性將所有可延遲的約束延遲或恢復(fù)。 SET CONSTRAINT ALL DEFERRED; SET CONSTRAINT ALL IMMEDIATE;,2.2.5 約束的延遲檢查,2.2.6 查詢(xún)約束信息,ALL_CONSTRAINTS USER_CONSTRAINTS DBA_CONSTRAINTS ALL_CONS_COLUMNS USER_CONS_COLUMNS DAB_CONS_COLUMNS,查看student表中的所有約束。 SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE,DEFERRED,STATUS FROM USER_CONSTRAINTS WHERE TABLE_NAME=STUDENT; 查看student表中各個(gè)約束所作用的列。 SELECT CONSTRAINT_NAME, COLUMN_NAME FROM USER_CONS_COLUMNS WHERE TABLE_NAME=STUDENT;,2.2.6 查詢(xún)約束信息,2.3 表參數(shù)設(shè)置,TABLESPACE TABLESPACE子句用于指定表存儲(chǔ)的表空間。 STORAGE STORAGE子句用于設(shè)置表的存儲(chǔ)參數(shù)。若不指定,則繼承表空間的存儲(chǔ)參數(shù)設(shè)置。 NITIAL NEXT PCTINCREASE MINEXTENTS MAXEXTENTS BUFFER_POOL (KEEP、RECYCLE、DEFAULT),2.3 表參數(shù)設(shè)置,STORAGE參數(shù)設(shè)置需注意 如果表空間管理方式為EXTENT MANAGEMENT LOCAL AUTOALLOCATE,則在STORAGE中只能指定INITIAL,NEXT和MINEXTENTS這3個(gè)參數(shù); 如果表空間管理方式為EXTENT MANAGEMENT LOCAL UNIFORM,則不能指定任何STORAGE子句; 如果表空間管理方式為EXTENT MANAGEMENT DICTIONARY,則在STORAG中可以設(shè)置任何參數(shù)。,2.3 表參數(shù)設(shè)置,數(shù)據(jù)塊管理參數(shù) PCTFREE:用于指定數(shù)據(jù)塊中必須保留的最小空閑空間。 PCTUSED:用于指定當(dāng)數(shù)據(jù)塊空閑空間達(dá)到PCTFREE參數(shù)的限制后,數(shù)據(jù)塊能夠被再次使用前,已占用的存儲(chǔ)空間必須低于的比例。 INITRANS:用于指定能夠并發(fā)訪問(wèn)同一個(gè)數(shù)據(jù)塊的事務(wù)的數(shù)量。 MAXTRANS:用于指定能夠并發(fā)訪問(wèn)同一個(gè)數(shù)據(jù)塊的事務(wù)的最大數(shù)量。,LOGGING與NOLOGGING子句 默認(rèn)為NOLOGGING,即表的創(chuàng)建操作不會(huì)記錄到重做日志文件中,尤其適合通過(guò)查詢(xún)創(chuàng)建表的情況。使用LOGGING子句,表的創(chuàng)建操作(包括通過(guò)查詢(xún)創(chuàng)建表時(shí)的插入記錄操作)都將記錄到重做日志文件中。 PARALLEL、NOPARALLEL CACHE、NOCACHE MONITORING、NOMONITORING,2.3 表參數(shù)設(shè)置,2.4 修改表,基本語(yǔ)法 列的添加、刪除、修改 表參數(shù)修改 表結(jié)構(gòu)重組 表重命名等 為表和列添加注釋,()修改表基本語(yǔ)法,ALTER TABLE ADD RENAME COLUMN oldname TO newname SET UNUSED COLUMN column /single column SET UNUSED COLUMNS(column1,column2) DROP COLUMN /single column DROP /multi column DROP UNUSED COLUMNS,()列的添加、刪除、修改,添加列 語(yǔ)法 ALTER TABLE table_name ADD(new_column_name datatypeNOT NULLDEFAULT value); 示例 ALTER TABLE employee ADD(phone VARCHAR2(),hiredate DATE DEFAULT SYSDATE NOT NULL);,修改列類(lèi)型 語(yǔ)法 ALTER TABLE table_name MODIFY column_name new_datatype; 修改表中列類(lèi)型時(shí),必須滿(mǎn)足下列條件: 可以增大字符類(lèi)型列的長(zhǎng)度和數(shù)值類(lèi)型列的精度; 如果字符類(lèi)型列、數(shù)值類(lèi)型列中數(shù)據(jù)滿(mǎn)足新的長(zhǎng)度、精度,則可以縮小類(lèi)型的長(zhǎng)度、精度; 如果不改變字符串的長(zhǎng)度,可以將VARCHAR2類(lèi)型和CAHR類(lèi)型轉(zhuǎn)換; 如果更改數(shù)據(jù)類(lèi)型為另一種非同系列類(lèi)型,則列中數(shù)據(jù)必須為NULL。,示例 ALTER TABLE employee MODIFY ename CHAR(20); ALTER TABLE employee MODIFY phone NUMBER; 修改列名 語(yǔ)法 ALTER TABLE table_name RENAME COLUMN oldname TO newname; 示例 ALTER TABLE employee RENAME COLUMN ename TO employee_name;,刪除列 直接刪除列語(yǔ)法 ALTER TABLE table_name DROP COLUMN column_name| (column1_name,column2_name,) CASCADE CONSTRAINTS; 直接刪除列示例 ALTER TABLE sc DROP COLUMN sno CASCADE CONSTRAINTS; ALTER TABLE employee DROP (phone,hiredate);,將列標(biāo)記為UNUSED,然后進(jìn)行刪除。 ALTER TABLE table_name SET UNUSED COLUMN column_name| (column1_name,column2_name,) CASCADE CONSTRAINTS; 示例 ALTER TABLE player SET UNUSED COLUMN sage; ALTER TABLE player SET UNUSED (sname,resume); ALTER TABLE player DROP UNUSED COLUMNS;,如果數(shù)據(jù)庫(kù)表空間處于字典管理方式,可以對(duì)表的參數(shù)進(jìn)行修改,包括存儲(chǔ)參數(shù)、存儲(chǔ)位置、數(shù)據(jù)塊設(shè)置等。 ALTER TABLE employee PCTFREE 30 PCTUSED 60 STORAGE(NEXT 512K PCTINCREASE ); 注意 表創(chuàng)建后不能對(duì)INITIAL、MINEXTENTS兩個(gè)參數(shù)進(jìn)行修改。,()表參數(shù)修改,將一個(gè)非分區(qū)的表移動(dòng)到一個(gè)新的數(shù)據(jù)段中,或者移動(dòng)到其他的表空間中,通過(guò)這種操作可以重建表的存儲(chǔ)結(jié)構(gòu),稱(chēng)為表結(jié)構(gòu)重組。 如果發(fā)現(xiàn)表的數(shù)據(jù)段具有不合理的區(qū)分配方式,但是又不能通過(guò)別的方法來(lái)進(jìn)行調(diào)整(改變存儲(chǔ)參數(shù)不會(huì)影響到已經(jīng)分配的區(qū)),可以考慮將表移動(dòng)到一個(gè)新的數(shù)據(jù)段中。此外,如果頻繁地對(duì)表進(jìn)行DML操作,會(huì)產(chǎn)生大量空間碎片和行遷移、行連接,可以考慮進(jìn)行表結(jié)構(gòu)重組。,()表結(jié)構(gòu)重組,語(yǔ)法 ALTER TABLE tbname MOVE TABLESPACE tbs_name 注意 直到表被完全移動(dòng)到新的數(shù)據(jù)段中之后,Oracle才會(huì)刪除原來(lái)的數(shù)據(jù)段; 表結(jié)構(gòu)重組后,表中每個(gè)記錄的ROWID會(huì)發(fā)生變化,因此該表的所有索引失效,需要重新建立索引; 如果表中包含LOB列,則默認(rèn)情況下不移動(dòng)LOB列數(shù)據(jù)和LOB索引段。,語(yǔ)法 ALTER TABLE old_name RENAME TO new_name; RENAME old_name TO new_name; 說(shuō)明 表重命名后,Oracle會(huì)自動(dòng)將舊表上的對(duì)象權(quán)限、約束條件等轉(zhuǎn)換到新表上,但是所有與舊表相關(guān)聯(lián)的對(duì)象都會(huì)失效,需要重新編譯。,()表重命名,為表添加注釋 COMMENT ON TALBE table_name IS; 為列添加注釋 COMMENT ON COLUMN table_name.column_name IS 注釋可以通過(guò)以下數(shù)據(jù)字典來(lái)查看. ALL_COL_COMMENTS USER_COL_COMMENTS ALL_TAB_COMMENTS USER_TAB_COMMENTS,()為表和列添加注釋,語(yǔ)法 DROP TABLE table_name CASCADE CONSTRAINTSPURGE 刪除一個(gè)表同時(shí),Oracle將執(zhí)行下列操作: 刪除該表中所有記錄; 從數(shù)據(jù)字典中刪除該表定義; 刪除與該表相關(guān)的所有索引和觸發(fā)器; 回收為該表分配的存儲(chǔ)空間; 依賴(lài)于該表的數(shù)據(jù)庫(kù)對(duì)象處于INVALID狀態(tài)。,.2.5 刪除表,注意 在Oracle 10g中,使用DROP TABLE語(yǔ)句刪除一個(gè)表時(shí),并不立即回收該表的空間,而只是將表及其關(guān)聯(lián)對(duì)象的信息寫(xiě)入一個(gè)稱(chēng)為“回收站”(RECYCLEBIN)的邏輯容器中,從而可以實(shí)現(xiàn)閃回刪除表操作。如果要回收該表空間,可以采用清空“回收站”(PURGE RECYCLEBIN)或在DROP TABLE語(yǔ)句中使用PURGE語(yǔ)句。,.2.6利用OEM管理表,創(chuàng)建表 刪除表 修改表 查詢(xún)表,(1)創(chuàng)建表,(2)表的其他管理,.3 索引,索引概述 索引管理 利用OEM管理索引,.3.1 索引概述,索引概念及作用 索引是為了加速對(duì)表中元組的檢索而創(chuàng)建的一種分散存儲(chǔ)結(jié)構(gòu); 是對(duì)表而建立的,由除存放表的數(shù)據(jù)頁(yè)面以外的索引頁(yè)面組成,獨(dú)立于被索引的表; 通過(guò)使用索引加速行的檢索,但減慢更新的速度; 快速定位數(shù)據(jù),減少磁盤(pán) I/O; Oracle自動(dòng)使用、維護(hù)索引,索引分類(lèi) 惟一性索引與非惟一性索引 平衡樹(shù)索引與位圖索引 單列索引與復(fù)合索引 函數(shù)索引 聚簇索引 全局索引與本地索引,索引使用原則 導(dǎo)入數(shù)據(jù)后再創(chuàng)建索引 在適當(dāng)?shù)谋砗妥侄紊蟿?chuàng)建索引 經(jīng)常查詢(xún)的記錄數(shù)目少于表中所有記錄總數(shù)的5%時(shí)就應(yīng)當(dāng)創(chuàng)建索引; 經(jīng)常進(jìn)行連接查詢(xún)表時(shí),在連接列上建立索引能夠顯著提高查詢(xún)的速度; 對(duì)于取值范圍很大的列應(yīng)當(dāng)創(chuàng)建B樹(shù)索引; 對(duì)于取值范圍很小的列應(yīng)當(dāng)創(chuàng)建位圖索引; 不能在LONG,LONG RAW,LOB數(shù)據(jù)類(lèi)型的列上創(chuàng)建索引; Oracle會(huì)自動(dòng)在PRIMARY KEY和UNIQUE約束的列上創(chuàng)建唯一性索引。 合理設(shè)置復(fù)合索引中的字段順序,限制表中索引的數(shù)目 表中索引數(shù)目越多,查詢(xún)速度越快,但表的更新速度越慢。因?yàn)樗饕蕉?,維護(hù)索引所需開(kāi)銷(xiāo)越大,當(dāng)更新表時(shí),需要同時(shí)更新與表相關(guān)的所有索引。 為索引設(shè)置合適的PCTFREE參數(shù) 選擇存儲(chǔ)索引的表空間 默認(rèn)情況下,索引與表存儲(chǔ)在同一表空間中。索引與表存儲(chǔ)在同一表空間中,有利于數(shù)據(jù)庫(kù)維護(hù)操作,具有較高的可用性;反之,若索引與表存儲(chǔ)在不同的表空間中,則可提高系統(tǒng)的存取性能,減少硬盤(pán)I/O沖突,但是表與索引可用狀態(tài)可能出現(xiàn)不一致,如一個(gè)處于聯(lián)機(jī)狀態(tài),另一個(gè)處于脫機(jī)狀態(tài)。,.3.2管理索引,創(chuàng)建索引 修改索引 監(jiān)視索引 刪除索引 索引的查詢(xún),語(yǔ)法 CREATE UNIQUE|BITMAP INDEX index_name ON table_name(column_nameASC|DESC,| expression) REVERSE parameter_list; 說(shuō)明 UNIQUE表示建立惟一性索引; BITMAP表示建立位圖索引; ASC/DESC用于指定索引值的排列順序,ASC表示按升序排序,DESC表示按降序排序,缺省值為ASC; REVERSE表示建立反鍵索引; parameter_list用于指定索引的存放位置、存儲(chǔ)空間分配和數(shù)據(jù)塊參數(shù)設(shè)置。,(1)創(chuàng)建索引,創(chuàng)建非惟一性索引 CREATE INDEX employee_ename ON employee(ename)TABLESPACE users STORAGE (INITIAL 20K NEXT 20k PCTINCREASE 75); 創(chuàng)建惟一性索引 CREATE UNIQUE INDEX deptartment_index ON department(dname); 創(chuàng)建位圖索引 CREATE BITMAP INDEX student_sex ON student(sex); 創(chuàng)建反序索引 CREATE INDEX player_sage ON player(sage) REVERSE;,創(chuàng)建函數(shù)索引 CREATE INDEX idx ON employee(UPPER(ename); 定義約束時(shí)創(chuàng)建索引 CREATE TABLE new_employee( empno NUMBER(5) PRIMARY KEY USING INDEX TABLESPACE users PCTFREE 0, ename VARCHAR2(20) );,(2)修改索引,合并索引 合并索引是對(duì)索引進(jìn)行合并操作,但只是簡(jiǎn)單地將B樹(shù)葉節(jié)點(diǎn)中的存儲(chǔ)碎片合并在一起,并不會(huì)改變索引的物理組織結(jié)構(gòu) 語(yǔ)法 ALTER INDEXCOALESCE 示例 ALTER INDEX employee_ename COALESCE;,重建索引 重建索引的實(shí)質(zhì)是在指定的表空間中重新建立一個(gè)新的索引,然后再刪除原來(lái)的索引,這樣不僅能夠消除存儲(chǔ)碎片,還可以改變索引的存儲(chǔ)參數(shù)設(shè)置,并且將索引移動(dòng)到其他的表空間中。 語(yǔ)法 ALTER INDEXREBUILD 示例 ALTER INDEX player_sage REBUILD;,合并索引與重建索引比較,索引重命名 語(yǔ)法 ALTER INDEXRENAME TO語(yǔ)句為索引重命名。 示例 ALTER INDEX employee_ename RENAME TO employee_new_ename;,(3)監(jiān)視索引,已經(jīng)建立的索引是否能夠有效地工作,取決于在查詢(xún)執(zhí)行過(guò)程中是否會(huì)使用到這個(gè)索引。要查看某個(gè)指定索引的使用情況,可以使用ALTER INDEX語(yǔ)句打開(kāi)索引的監(jiān)視狀態(tài)。 打開(kāi)索引監(jiān)視狀態(tài) ALTER INDEX index_ename MONITORING USAGE; 關(guān)閉索引監(jiān)視狀態(tài) ALTER INDEX index_ename NOMONITORING USAGE;,查看索引使用情況 通過(guò)V$OBJECT_USAGE動(dòng)態(tài)性能視圖中查看索引的使用情況。USED列為YES,表示索引正被引用,否則為NO 。,(4)刪除索引,語(yǔ)法 DROP INDEX index_name; 在下面幾種情況下,可以考慮刪除索引 該索引不再使用。 通過(guò)一段時(shí)間監(jiān)視,發(fā)現(xiàn)幾乎沒(méi)有查詢(xún)或只有極少數(shù)查詢(xún)會(huì)使用該索引。 由于索引中包含損壞的數(shù)據(jù)塊或包含過(guò)多的存儲(chǔ)碎片等,需要?jiǎng)h除該索引,然后重建索引。 由于移動(dòng)了表數(shù)據(jù)而導(dǎo)致索引失效,(5)索引的查詢(xún),DBA_INDEXES、ALL_INDEXES、USER_INDEXES 包含索引的基本描述信息和統(tǒng)計(jì)信息,包括索引的所有者、索引的名稱(chēng)、索引的類(lèi)型、對(duì)應(yīng)表的名稱(chēng)、索引的存儲(chǔ)參數(shù)設(shè)置、由分析得到的統(tǒng)計(jì)信息等信息 DBA_IND_COLUMNS、ALL_IND_COLUMNS、USER_IND_COLUMNS 包含索引列的描述信息,包括索引的名稱(chēng)、表的名稱(chēng)和索引列的名稱(chēng)等信息 DBA_IND_EXPRESSIONS、ALL_IND_EXPRESSIONS、USER_IND_EXPRESSIONS 包含函數(shù)索引的描述信息,通過(guò)該視圖可以查看到函數(shù)索引的函數(shù)或表達(dá)式 V$OBJECT_USAGE 包含通過(guò)ALTER INDEXMONITORING USAGE語(yǔ)句對(duì)索引進(jìn)行監(jiān)視后得到的索引使用信息。,.3.3利用OEM管理索引,創(chuàng)建索引 修改索引 刪除索引 查詢(xún)索引,(1)創(chuàng)建索引,(2)索引的其他管理,.4 索引化表,索引化表概念 創(chuàng)建索引化表 設(shè)置溢出存儲(chǔ) 修改索引化表 利用OEM管理索引化表,索引化表概念,索引化表(Index-Organized Table,IOT)是一種特殊的表,它按B樹(shù)的索引結(jié)構(gòu)來(lái)組織和存儲(chǔ)數(shù)據(jù),將表的數(shù)據(jù)和索引的數(shù)據(jù)存儲(chǔ)在一起。主要適合于經(jīng)常通過(guò)主鍵查詢(xún)整個(gè)記錄或部分記錄的情況,表中記錄的存放順序與主鍵的順序一致。 索引化表類(lèi)似于B樹(shù)結(jié)構(gòu),不過(guò)索引條目不是標(biāo)準(zhǔn)B樹(shù)結(jié)構(gòu)中索引值與ROWID這樣的結(jié)構(gòu),而是主鍵列與非主鍵列形式的結(jié)構(gòu)。,標(biāo)準(zhǔn)表、索引結(jié)構(gòu)和索引化表結(jié)構(gòu)的比較,.4.1創(chuàng)建索引化表,說(shuō)明 在CREATE TABLE語(yǔ)句中指定ORGANIZATION INDEX關(guān)鍵字 必須建立一個(gè)PRIMARY KEY 約束 示例 CREATE TABLE new_student( sno NUMBER PRIMARY KEY , sname CHAR(), sage NUMBER, sex CHAR(2) ORGANIZATION INDEX TABLESPACE USERS ;,可以通過(guò)子查詢(xún)創(chuàng)建索引化表 CREATE TABLE new_emp( empno PRIMARY KEY,ename) ORGANIZATION INDEX AS SELECT empno,ename FROM emp; 注意 利用子查詢(xún)創(chuàng)建索引化表時(shí),必須指定主鍵列和其他所有列,指定的列的個(gè)數(shù)必須與查詢(xún)語(yǔ)句中目標(biāo)列個(gè)數(shù)一致。,.4.2 設(shè)置溢出存儲(chǔ),所謂的溢出存儲(chǔ)是指將索引化表中每個(gè)記錄分成兩部分,其中一部分(包含主鍵列)保存在索引化表自身中(以索引的樹(shù)狀結(jié)構(gòu)存儲(chǔ),稱(chēng)為索引條目部分),而另一部分保存在溢出表空間中(以標(biāo)準(zhǔn)表的堆結(jié)構(gòu)存儲(chǔ),稱(chēng)為溢出部分)。 若要啟用溢出存儲(chǔ)功能,必須在創(chuàng)建索引化表時(shí)指定OVERFLOW子句指定溢出部分的存儲(chǔ)空間,同時(shí)使用PCTTHRESHOLD子句或INCLUDING子句來(lái)設(shè)置溢出方式。,用PCTTHRESHOLD設(shè)置溢出存儲(chǔ) 示例 CREATE TABLE iot_pct( ID NUMBER PRIMARY KEY, col1 VARCHAR2(20), col2 VARCHAR2(10), col3 NUMBER) ORGANIZATION INDEX TABLESPACE USERS PCTTHRESHOLD 30 OVERFLOW TABLESPACE ORCLTBS1;,使用PCTTHRESHOLD子句設(shè)置溢出時(shí)注意 溢出存儲(chǔ)是以列為單位,一個(gè)列要么全部保留在索引條目中,要么全部溢出; 列的順序主要取決于創(chuàng)建表時(shí)的列的定義順序,但是Oracle會(huì)自動(dòng)將主鍵列移動(dòng)到非主鍵列的前面,保證主鍵列保存在索引條目中; PCTTHRESHOLD子句所指定的比例必須包含索引化表中所有主鍵列。,用INCLUDING設(shè)置溢出存儲(chǔ) INCLUDING子句顯式地指定需要保存在索引條目中的列,而該列之后的列都將溢出。 示例 CREATE TABLE iot_pct_include( ID NUMBER PRIMARY KEY, col1 VARCHAR2(20), col2 VARCHAR2(10), col3 NUMBER) ORGANIZATION INDEX TABLESPACE USERS PCTTHRESHOLD 30 INCLUDING col2 OVERFLOW TABLESPACE ORCLTBS1;,.4.3 修改索引化表,修改索引數(shù)據(jù)段與溢出數(shù)據(jù)段 重建索引化表 將索引化表轉(zhuǎn)換為普通表,(1)修改索引數(shù)據(jù)段與溢出數(shù)據(jù)段,使用ALTER TABLE語(yǔ)句可以對(duì)索引化表中索引數(shù)據(jù)段和溢出數(shù)據(jù)段進(jìn)行修改,包括存儲(chǔ)參數(shù)和溢出方式的修改。其中OVERFLOW關(guān)鍵字之前的參數(shù)都是針對(duì)索引條目數(shù)據(jù)段的,而OVERFLOW之后的參數(shù)都是針對(duì)溢出數(shù)據(jù)段的。 如果原來(lái)的索引化表中沒(méi)有使用溢出存儲(chǔ)功能,可以通過(guò)ALTER TABLEADD OVERFLOW為它應(yīng)用溢出存儲(chǔ)功能。,示例 ALTER TABLE new_student INITRANS 4 OVERFLOW INITRANS 6; ALTER TABLE iot_pct_include PCTTHRESHOLD 15 INCLUDING col2; ALT
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 綠色品牌與企業(yè)形象競(jìng)爭(zhēng)力考核試卷
- 創(chuàng)業(yè)創(chuàng)新與可持續(xù)發(fā)展戰(zhàn)略研究考核試卷
- 安全生產(chǎn)培訓(xùn)認(rèn)證對(duì)企業(yè)安全文化建設(shè)的影響評(píng)估考核試卷
- 中國(guó)新媒體短視頻成功的白酒企直播案例
- 山東在職申碩考試試題及答案
- 老師護(hù)理考試題及答案
- 互動(dòng)游戲化營(yíng)銷(xiāo)考核試卷
- 消防題目考試試題及答案
- 雅居樂(lè)財(cái)務(wù)面試題及答案
- 口譯復(fù)述考試題及答案
- TB-T 3355-2023 軌道檢測(cè) 軌道幾何狀態(tài)動(dòng)態(tài)檢測(cè)
- 自來(lái)水廠操作規(guī)程手冊(cè)
- 天翼云從業(yè)者認(rèn)證考試題庫(kù)
- 中國(guó)風(fēng)中醫(yī)藥文化PPT模板
- 2022-2023學(xué)年廣西北海市七年級(jí)(下)期末地理試卷(含解析)
- 醫(yī)院戰(zhàn)略管理如何制定醫(yī)院戰(zhàn)略規(guī)劃講座
- 部編版語(yǔ)文二年級(jí)下冊(cè)第4單元童心童趣大單元整體作業(yè)設(shè)計(jì)
- 娛樂(lè)場(chǎng)所文明服務(wù)責(zé)任書(shū)
- 鋼結(jié)構(gòu)防腐油漆施工方案
- 第五講社會(huì)建設(shè)
- GB/T 20303.1-2006起重機(jī)司機(jī)室第1部分:總則
評(píng)論
0/150
提交評(píng)論