第7章 表--《Oracle數據庫基礎與應用教程》書籍教案_第1頁
第7章 表--《Oracle數據庫基礎與應用教程》書籍教案_第2頁
第7章 表--《Oracle數據庫基礎與應用教程》書籍教案_第3頁
第7章 表--《Oracle數據庫基礎與應用教程》書籍教案_第4頁
第7章 表--《Oracle數據庫基礎與應用教程》書籍教案_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、人民郵電出版社出版人民郵電出版社出版 於岳編寫於岳編寫作者聯(lián)系方式:作者聯(lián)系方式:本書全面講述了Oracle數據庫的日常管理工作內容。全共14章,包含Oracle簡介和安裝、簡介和安裝、Oracle客戶端、管理客戶端、管理Oracle環(huán)境、環(huán)境、Oracle體系結構、管理體系結構、管理Oracle存儲結構、存儲結構、SQL語言、表、約束、視圖、同義詞和序列、索引、語言、表、約束、視圖、同義詞和序列、索引、實現數據庫安全、實現數據庫安全、Data Pump數據導出和導入、數據數據導出和導入、數據庫備份和恢復。庫備份和恢復。每章結尾提供適量的選擇題、簡答題和操作題,通過練習和操作實踐,幫助讀者鞏固

2、所學內容。本書適合Oracle愛好者、Oracle工程師、數據庫管理員、培訓機構以及大專院校計算機專業(yè)教師和學生使用。 表簡介表簡介7.1OracleOracle內置數據類型內置數據類型7.2創(chuàng)建表創(chuàng)建表7.3修改表修改表7.47.1.1 什么是表什么是表 表是數據庫中一個非常重要的方案表是數據庫中一個非常重要的方案對象,被用來存儲數據,是對象,被用來存儲數據,是Oracle數據數據庫中數據組織的基本單位。庫中數據組織的基本單位。 一個表定義包括一個表名和列的集一個表定義包括一個表名和列的集合。列標識表中描述的實體的屬性,比合。列標識表中描述的實體的屬性,比如員工表中的如員工表中的employ

3、ee_id列是指員工實列是指員工實體的員工體的員工ID屬性。屬性。 當創(chuàng)建表的時候,一般會為每一個當創(chuàng)建表的時候,一般會為每一個列指定列名、數據類型、大小、小數位列指定列名、數據類型、大小、小數位數、默認值等。數、默認值等。 如如employee_id列指定列指定NUMBER(6)數據類型,表明該列只能包含高達數據類型,表明該列只能包含高達6位數位數大小的數字數據。大小可以由數據類型大小的數字數據。大小可以由數據類型預先確定。預先確定。 一個表只能包含一個虛擬列,虛擬一個表只能包含一個虛擬列,虛擬列不占用磁盤空間。列不占用磁盤空間。 數據庫通過計算一組用戶指定的表數據庫通過計算一組用戶指定的表

4、達式或函數生成派生需求上的虛擬列的達式或函數生成派生需求上的虛擬列的值。值。 表創(chuàng)建好之后,可以使用表創(chuàng)建好之后,可以使用SQL語句語句進行插入、查詢、刪除和更新行操作。進行插入、查詢、刪除和更新行操作。 行是列信息的集合,對應于一個表行是列信息的集合,對應于一個表中的記錄,比如員工表描述指定員工的中的記錄,比如員工表描述指定員工的所有屬性。所有屬性。 在在Oracle數據庫中,表可以分為以數據庫中,表可以分為以下幾種類型。下幾種類型。1普通表普通表2索引組織表索引組織表3臨時表臨時表4外部表外部表5分區(qū)表分區(qū)表6簇表簇表 創(chuàng)建表的時間需要為列指定數據類型,創(chuàng)建表的時間需要為列指定數據類型,不

5、同的數據類型存儲不同類型的數據。不同的數據類型存儲不同類型的數據。 Oracle內置數據類型有字符數據類型、內置數據類型有字符數據類型、數字數據類型、日期和時間數據類型、二進數字數據類型、日期和時間數據類型、二進制數據類型和大對象數據類型。制數據類型和大對象數據類型。 在在Oracle數據庫中,字符數據類型存數據庫中,字符數據類型存儲數字和字母等組成的字符,常用的字符數儲數字和字母等組成的字符,常用的字符數據類型有據類型有CHAR、NCHAR、VARCHAR2、NVARCHAR2和和VARCHAR。1CHAR(size BYTE | CHAR)2NCHAR(size)3VARCHAR2(siz

6、e BYTE | CHAR)4NVARCHAR2(size)5VARCHAR 在在Oracle數據庫中,數字數據類型數據庫中,數字數據類型所有的數值數據,如整數、分數、雙精所有的數值數據,如整數、分數、雙精度數和浮點數等,常用的數字數據類型度數和浮點數等,常用的數字數據類型有有NUMBER和和FLOAT。 以十進制格式進行儲存的數字數據類型,以十進制格式進行儲存的數字數據類型,p是是指精度(指數字的總位數),指精度(指數字的總位數),s是指刻度范圍(小是指刻度范圍(小數點右邊的位數)。數點右邊的位數)。p的范圍可以是的范圍可以是138,s的范圍的范圍可以是可以是-84127。 s的默認值是的默

7、認值是0,如,如NUMBER(5)、NUMBER。 在指定精度和刻度范圍的時候需要遵循以在指定精度和刻度范圍的時候需要遵循以下規(guī)則。下規(guī)則。當當s0時,時,s表示小數點右邊的數字的個數。表示小數點右邊的數字的個數。當一個數字的整數部分的長度當一個數字的整數部分的長度 p-s 時,時,Oracle就會報錯。就會報錯。當一個數字的小數部分的長度當一個數字的小數部分的長度 s 時,時,Oracle就就會舍入。會舍入。當當sp時,時,p表示小數點后第表示小數點后第s位向左最多位向左最多可以有多少位數字,如果大于可以有多少位數字,如果大于p則則Oracle報錯,小數點后報錯,小數點后s位向右的數字被舍入

8、。位向右的數字被舍入。 具有精度具有精度p的的NUMBER數據類型的子類型。數據類型的子類型。 一個一個FLOAT值,在內部表示為值,在內部表示為NUMBER。精度精度p的范圍可以是的范圍可以是1126的二進制數字。的二進制數字。 一個一個FLOAT值是值是122字節(jié)。字節(jié)。 簡稱簡稱INT,相當于刻度范圍為,相當于刻度范圍為0的的NUMBER數據類型。數據類型。 在在Oracle數據庫中,日期和時間數據類型數據庫中,日期和時間數據類型存儲日期和時間值,常用的日期和時間數據類存儲日期和時間值,常用的日期和時間數據類型有型有DATE、TIMESTAMP和和TIMESTAMP WITH TIME

9、ZONE。 在在Oracle數據庫中,二進制數據類數據庫中,二進制數據類型存儲非結構化數據,常用的二進制數型存儲非結構化數據,常用的二進制數據類型有據類型有RAW和和LONGRAW。 非結構化數據的可變二進制數據,非結構化數據的可變二進制數據,必須為必須為RAW指定指定size,最大尺寸為,最大尺寸為2000字節(jié)。字節(jié)。 非結構化數據的可變二進制數據,非結構化數據的可變二進制數據,尺寸可達尺寸可達2 GB。 不建議使用不建議使用LONG RAW數據類型,數據類型,可以使用可以使用BLOB數據類型來代替。數據類型來代替。 在在Oracle數據庫中,表中每一行數數據庫中,表中每一行數據在數據庫中的

10、存儲位置可以由行的物據在數據庫中的存儲位置可以由行的物理地址和邏輯地址表示,這些地址存儲理地址和邏輯地址表示,這些地址存儲在表的在表的ROWID偽列中,常用的行數據類偽列中,常用的行數據類型有型有ROWID和和UROWID。 以以64位為基數的字符串,表示一條位為基數的字符串,表示一條記錄在表中相對唯一的地址值。記錄在表中相對唯一的地址值。 該數據類型主要是該數據類型主要是ROWID偽列返回偽列返回的值。的值。 以以64位為基數的字符串,表示索引位為基數的字符串,表示索引組織表的一行的邏輯地址。組織表的一行的邏輯地址。 可選的大小是可選的大小是UROWID類型的列的類型的列的大小。大小。 最大

11、尺寸和默認尺寸為最大尺寸和默認尺寸為4000字節(jié)。字節(jié)。 在在Oracle數據庫中,大對象數據類型存儲數據庫中,大對象數據類型存儲大對象(大對象(Large OBject,LOB),),LOB是為圖是為圖像、視頻、音頻、文本、空間數據設計的,大像、視頻、音頻、文本、空間數據設計的,大對象最大尺寸是(對象最大尺寸是(4GB-1)*(數據庫塊大小),(數據庫塊大?。话銛祿靿K大小為一般數據庫塊大小為8K,常用的大對象數據類,常用的大對象數據類型有型有CLOB、NCLOB、BLOB、BFILE和和LONG。1CLOB2NCLOB3BLOB4BFILE5LONG CREATE TABLE語句用于創(chuàng)

12、建表。語句用于創(chuàng)建表。 要在自己的方案中創(chuàng)建表,必須要要在自己的方案中創(chuàng)建表,必須要擁有擁有CREATE TABLE系統(tǒng)權限。系統(tǒng)權限。 要在另一個用戶的方案中創(chuàng)建表,要在另一個用戶的方案中創(chuàng)建表,必須要擁有必須要擁有CREATE ANY TABLE系統(tǒng)系統(tǒng)權限。權限。 使用使用ALTER TABLE語句來改變表的定語句來改變表的定義。義。 要修改表,該表必須在自己的方案中,要修改表,該表必須在自己的方案中,或者必須在表上擁有或者必須在表上擁有ALTER對象權限,或對象權限,或者必須要擁有者必須要擁有ALTER ANY TABLE系統(tǒng)權限系統(tǒng)權限。 指定指定READ ONLY把表設置為只讀模把

13、表設置為只讀模式。式。 當表處于只讀模式時,不能執(zhí)行任何當表處于只讀模式時,不能執(zhí)行任何DML語句或語句或SELECT . FOR UPDATE語語句來影響表。只要不修改任何表中的數據句來影響表。只要不修改任何表中的數據就可以執(zhí)行就可以執(zhí)行DDL語句。指定語句。指定READ WRITE把表設置為讀把表設置為讀/寫模式。寫模式。 使用使用PARALLEL在表上為查詢和在表上為查詢和DML操作更改默認并行度。操作更改默認并行度。 使用使用ENABLE ALL TRIGGERS或或DISABLE ALL TRIGGERS來啟用或禁來啟用或禁用與表相關聯(lián)的所有觸發(fā)器。用與表相關聯(lián)的所有觸發(fā)器。 要啟用

14、或禁用觸發(fā)器,觸發(fā)器必須在要啟用或禁用觸發(fā)器,觸發(fā)器必須在自己的方案中,或者必須要擁有自己的方案中,或者必須要擁有ALTER ANY TRIGGER系統(tǒng)權限。系統(tǒng)權限。 如果在操作過程中表被鎖定,如果在操作過程中表被鎖定,Oracle數據庫只允許在表上進行數據庫只允許在表上進行DDL操作。操作。 在在DML操作上不需要這樣的表鎖定。操作上不需要這樣的表鎖定。 Oracle數據庫啟用表鎖定之前,所有數據庫啟用表鎖定之前,所有目前正在執(zhí)行的事物必須提交或回滾;指目前正在執(zhí)行的事物必須提交或回滾;指定定DISABLE TABLE LOCK禁用表鎖定,禁用表鎖定,從而防止在表上進行從而防止在表上進行D

15、DL操作。操作。 當目標表的表鎖定被禁用時,不會執(zhí)當目標表的表鎖定被禁用時,不會執(zhí)行并行行并行DML操作。操作。 使用使用DEALLOCATE UNUSED子句子句明確地釋放表的末尾未被使用的空間,明確地釋放表的末尾未被使用的空間,以供在表空間中其他段的空間使用。以供在表空間中其他段的空間使用。 禁用表鎖定以后,不能解除分配未禁用表鎖定以后,不能解除分配未使用的空間。使用的空間。 使用使用SET UNUSED子句以標記表中的列為子句以標記表中的列為未使用。未使用。 無法將屬于無法將屬于SYS的表中的列標記為未使用。的表中的列標記為未使用。 對于內部的堆組織表,指定對于內部的堆組織表,指定SET

16、 UNUSED子句實際上并沒有從表中的每一行中刪除目標子句實際上并沒有從表中的每一行中刪除目標列。列。 可以稍后通過發(fā)出可以稍后通過發(fā)出ALTER TABLE . DROP UNUSED COLUMNS語句刪除語句刪除標記為未使用的列。標記為未使用的列。USER_UNUSED_COL_TABS、ALL_UNUSED_COL_TABS或或DBA_UNUSED_COL_ TABS數據字典可以用來列出包含未使數據字典可以用來列出包含未使用列的所有表。用列的所有表。 這些數據字典中的這些數據字典中的COUNT列顯示在表列顯示在表中未使用的列的數量。中未使用的列的數量。 當修改表的時候,可以在表中添加、

17、當修改表的時候,可以在表中添加、修改和刪除列。修改和刪除列。1添加列添加列2修改列修改列3刪除列刪除列 COMMENT ON語句用于為表添加語句用于為表添加描述性的注釋信息,這樣就可以充分地描述性的注釋信息,這樣就可以充分地描述表的內容或用法。描述表的內容或用法。 注釋內容可以長達注釋內容可以長達4000個字節(jié),必個字節(jié),必須存儲在單引號內。須存儲在單引號內。 使用使用MOVE子句可以將表移動到其子句可以將表移動到其他的表空間中。他的表空間中。 使用使用LOGGING和和NOLOGGING可可以更改表的日志記錄屬性,生成重做日以更改表的日志記錄屬性,生成重做日志記錄。志記錄。 使用使用COMP

18、RESS來指示來指示Oracle數據數據庫是否壓縮數據段來減少磁盤和內存的庫是否壓縮數據段來減少磁盤和內存的使用。使用。 隨著數據庫的增長規(guī)模,可以考慮隨著數據庫的增長規(guī)模,可以考慮壓縮表。壓縮表。 壓縮表將節(jié)省磁盤空間,減少數據壓縮表將節(jié)省磁盤空間,減少數據庫緩沖區(qū)高速緩存的使用,并在讀取時庫緩沖區(qū)高速緩存的使用,并在讀取時可以顯著加快查詢執(zhí)行。可以顯著加快查詢執(zhí)行。 使用使用SHRINK SPACE子句可以對表手動子句可以對表手動收縮空間,只適用于使用自動段管理的表空收縮空間,只適用于使用自動段管理的表空間中的段。間中的段。 在默認情況下,在默認情況下,Oracle數據庫會壓縮段,數據庫會

19、壓縮段,調整高水位,并立即釋放空間。壓縮段需要調整高水位,并立即釋放空間。壓縮段需要先進行行移動(先進行行移動(Row Movement),因此必須),因此必須在收縮表之前啟用行移動。在收縮表之前啟用行移動。 收縮表具有以下限制。收縮表具有以下限制。不支持對帶有基于函數的索引的表進行段不支持對帶有基于函數的索引的表進行段收縮。收縮。不能為壓縮表指定不能為壓縮表指定SHRINK SPACE子句。子句。 使用使用RENAME COLUMN子句重命子句重命名表中的列。名表中的列。 新的列名必須與表中其他列的名稱新的列名必須與表中其他列的名稱不能相同。不能相同。 要對表進行重命名,可以通過要對表進行重

20、命名,可以通過RENAME和和ALTER TABLE . RENAME TO語句來實現。語句來實現。1RENAME語句語句2ALTER TABLE . RENAME TO語句語句 TRUNCATE TABLE語句用于從表語句用于從表中刪除所有數據。中刪除所有數據。 使用這種方法刪除數據,可以比刪使用這種方法刪除數據,可以比刪除并重新創(chuàng)建表更有效。除并重新創(chuàng)建表更有效。 TRUNCATE TABLE語句執(zhí)行以后語句執(zhí)行以后不能回滾。不能回滾。 DROP TABLE語句用于刪除表,將表移動語句用于刪除表,將表移動到回收站或從數據庫中完全刪除表和它的所有到回收站或從數據庫中完全刪除表和它的所有數據。

21、數據。 對于外部表,此語句只刪除數據庫中表的對于外部表,此語句只刪除數據庫中表的元數據。元數據。 它的實際數據并沒有影響,因為它駐留在它的實際數據并沒有影響,因為它駐留在數據庫之外。數據庫之外。 要刪除表,該表必須在自己的方案中,或要刪除表,該表必須在自己的方案中,或者必須要擁有者必須要擁有DROP ANY TABLE系統(tǒng)權限。系統(tǒng)權限。 在刪除表的時候,將會執(zhí)行以下操在刪除表的時候,將會執(zhí)行以下操作。作。刪除表中所有的數據。刪除表中所有的數據。刪除與該表有關的索引、觸發(fā)器和對象刪除與該表有關的索引、觸發(fā)器和對象權限。權限。從數據字典中刪除表的定義。從數據字典中刪除表的定義?;厥辗峙浣o表的存儲

22、空間?;厥辗峙浣o表的存儲空間。7.7.1 使用使用OEM創(chuàng)建表創(chuàng)建表 使用使用Oracle Enterprise Manager按以按以下步驟創(chuàng)建表。下步驟創(chuàng)建表。 (1)在)在Oracle Enterprise Manager頁面中,依頁面中,依次單擊【方案】次單擊【方案】【數據庫對象】【數據庫對象】【表】,【表】,如圖如圖7-1所示,單擊【創(chuàng)建】按鈕。所示,單擊【創(chuàng)建】按鈕。圖圖7-1 7-1 表表(2)在圖)在圖7-2所示頁面中,指定表組織,在所示頁面中,指定表組織,在此選擇【標準(按堆組織)】單選框,然此選擇【標準(按堆組織)】單選框,然后單擊【繼續(xù)】按鈕。后單擊【繼續(xù)】按鈕。圖圖7-

23、2 7-2 創(chuàng)建表:表組織創(chuàng)建表:表組織 (3)在圖)在圖7-3所示【一般信息】頁面中,所示【一般信息】頁面中,按以下要求輸入內容。按以下要求輸入內容。圖圖7-3 7-3 【一般信息一般信息】頁面頁面(4)在圖)在圖7-4所示【存儲】頁面中,指定所示【存儲】頁面中,指定存儲信息,如表空間、區(qū)數、空間使用存儲信息,如表空間、區(qū)數、空間使用情況、空閑列表、事物處理數、緩沖池情況、空閑列表、事物處理數、緩沖池和壓縮選項等內容。和壓縮選項等內容。圖圖7-4 7-4 【存儲存儲】頁面頁面(5)在圖)在圖7-5所示【選項】頁面中,指定所示【選項】頁面中,指定啟用行移動、并行和高速緩存選項,然啟用行移動、并

24、行和高速緩存選項,然后單擊【確定】按鈕。后單擊【確定】按鈕。圖圖7-5 7-5 【選項選項】頁面頁面 對表進行收縮段操作可以壓縮空間碎對表進行收縮段操作可以壓縮空間碎片,然后將恢復的空間釋放到表空間,以片,然后將恢復的空間釋放到表空間,以此節(jié)約空間使用。此節(jié)約空間使用。 使用使用Oracle Enterprise Manager按以下步按以下步驟收縮段。驟收縮段。 (1)在圖)在圖7-6所示頁面中,搜索方案所示頁面中,搜索方案SYS中的表中的表TABLE_1。選擇表。選擇表TABLE_1,在【操作】下,在【操作】下拉框中選擇【收縮段】,然后單擊【開始】按拉框中選擇【收縮段】,然后單擊【開始】按

25、鈕。鈕。圖圖7-6 搜索表搜索表(2)在圖)在圖7-7所示頁面中,指定收縮選項,在所示頁面中,指定收縮選項,在此選擇【壓縮段并釋放空間】單選框,然后此選擇【壓縮段并釋放空間】單選框,然后單擊【繼續(xù)】按鈕。單擊【繼續(xù)】按鈕。圖圖7-7 7-7 收縮段收縮段 (3)在圖)在圖7-8所示頁面中,指定作業(yè)名稱所示頁面中,指定作業(yè)名稱和調度選項,然后單擊【提交】按鈕。和調度選項,然后單擊【提交】按鈕。圖圖7-8 7-8 調度調度 (4)在圖)在圖7-9所示頁面中,顯示已經成功所示頁面中,顯示已經成功創(chuàng)建作業(yè),可以看到調度程序作業(yè)正在創(chuàng)建作業(yè),可以看到調度程序作業(yè)正在運行。運行。圖圖7-9 7-9 調度程序作業(yè)調度程序作業(yè) 使用使用Oracle Enterprise Manager按以按以下步驟刪除表。下步驟刪除表。 (1)在圖)在圖7-10所示頁面中,搜索方案所示頁面中,搜索方案SYS中的表中的表TABLE_1。選擇表。選擇表TABLE_1,然,然后單擊【刪除】按鈕。后單擊【刪除】按鈕。圖圖7-10 7-10 搜索表搜索表(2)在圖)在圖7-1

溫馨提示

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

評論

0/150

提交評論