版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
《Oracle數(shù)據(jù)庫基礎(chǔ)與應(yīng)用教程》書籍教案人民郵電出版社出版於岳編寫作者聯(lián)系方式:airfish2000@126.com本書內(nèi)容:本書全面講述了Oracle數(shù)據(jù)庫的日常管理工作內(nèi)容。全共14章,包含Oracle簡介和安裝、Oracle客戶端、管理Oracle環(huán)境、Oracle體系結(jié)構(gòu)、管理Oracle存儲結(jié)構(gòu)、SQL語言、表、約束、視圖、同義詞和序列、索引、實現(xiàn)數(shù)據(jù)庫安全、DataPump數(shù)據(jù)導(dǎo)出和導(dǎo)入、數(shù)據(jù)庫備份和恢復(fù)。每章結(jié)尾提供適量的選擇題、簡答題和操作題,通過練習(xí)和操作實踐,幫助讀者鞏固所學(xué)內(nèi)容。
本書適合Oracle愛好者、Oracle工程師、數(shù)據(jù)庫管理員、培訓(xùn)機構(gòu)以及大專院校計算機專業(yè)教師和學(xué)生使用。
第7章
表表簡介7.1Oracle內(nèi)置數(shù)據(jù)類型7.2創(chuàng)建表7.3修改表7.47.1表簡介7.1.1什么是表
表是數(shù)據(jù)庫中一個非常重要的方案對象,被用來存儲數(shù)據(jù),是Oracle數(shù)據(jù)庫中數(shù)據(jù)組織的基本單位。
一個表定義包括一個表名和列的集合。列標識表中描述的實體的屬性,比如員工表中的employee_id列是指員工實體的員工ID屬性。
當創(chuàng)建表的時候,一般會為每一個列指定列名、數(shù)據(jù)類型、大小、小數(shù)位數(shù)、默認值等。
如employee_id列指定NUMBER(6)數(shù)據(jù)類型,表明該列只能包含高達6位數(shù)大小的數(shù)字數(shù)據(jù)。大小可以由數(shù)據(jù)類型預(yù)先確定。 一個表只能包含一個虛擬列,虛擬列不占用磁盤空間。 數(shù)據(jù)庫通過計算一組用戶指定的表達式或函數(shù)生成派生需求上的虛擬列的值。 表創(chuàng)建好之后,可以使用SQL語句進行插入、查詢、刪除和更新行操作。 行是列信息的集合,對應(yīng)于一個表中的記錄,比如員工表描述指定員工的所有屬性。7.1.2表類型
在Oracle數(shù)據(jù)庫中,表可以分為以下幾種類型。1.普通表2.索引組織表3.臨時表4.外部表5.分區(qū)表6.簇表7.2Oracle內(nèi)置數(shù)據(jù)類型 創(chuàng)建表的時間需要為列指定數(shù)據(jù)類型,不同的數(shù)據(jù)類型存儲不同類型的數(shù)據(jù)。 Oracle內(nèi)置數(shù)據(jù)類型有字符數(shù)據(jù)類型、數(shù)字數(shù)據(jù)類型、日期和時間數(shù)據(jù)類型、二進制數(shù)據(jù)類型和大對象數(shù)據(jù)類型。7.2.1字符數(shù)據(jù)類型 在Oracle數(shù)據(jù)庫中,字符數(shù)據(jù)類型存 儲數(shù)字和字母等組成的字符,常用的字符數(shù) 據(jù)類型有CHAR、NCHAR、VARCHAR2、 NVARCHAR2和VARCHAR。1.CHAR(size
[BYTE
|
CHAR])2.NCHAR(size)3.VARCHAR2(size
[BYTE
|
CHAR])4.NVARCHAR2(size)5.VARCHAR7.2.2數(shù)字數(shù)據(jù)類型 在Oracle數(shù)據(jù)庫中,數(shù)字數(shù)據(jù)類型所有的數(shù)值數(shù)據(jù),如整數(shù)、分數(shù)、雙精度數(shù)和浮點數(shù)等,常用的數(shù)字數(shù)據(jù)類型有NUMBER和FLOAT。1.NUMBER
[(p
[,
s])] 以十進制格式進行儲存的數(shù)字數(shù)據(jù)類型,p是指精度(指數(shù)字的總位數(shù)),s是指刻度范圍(小數(shù)點右邊的位數(shù))。p的范圍可以是1~38,s的范圍可以是-84~127。 s的默認值是0,如NUMBER(5)、NUMBER。
在指定精度和刻度范圍的時候需要遵循以下規(guī)則。當s>0時,s表示小數(shù)點右邊的數(shù)字的個數(shù)。當一個數(shù)字的整數(shù)部分的長度
>p-s
時,Oracle就會報錯。當一個數(shù)字的小數(shù)部分的長度
>s
時,Oracle就會舍入。當s<0時,s表示小數(shù)點左邊的數(shù)字的個數(shù),Oracle就對小數(shù)點左邊的s個數(shù)字進行舍入。當s>p時,p表示小數(shù)點后第s位向左最多可以有多少位數(shù)字,如果大于p則Oracle報錯,小數(shù)點后s位向右的數(shù)字被舍入。2.FLOAT
[(p)] 具有精度p的NUMBER數(shù)據(jù)類型的子類型。 一個FLOAT值,在內(nèi)部表示為NUMBER。精度p的范圍可以是1~126的二進制數(shù)字。 一個FLOAT值是1~22字節(jié)。3.INTEGER 簡稱INT,相當于刻度范圍為0的NUMBER數(shù)據(jù)類型。7.2.3日期和時間數(shù)據(jù)類型 在Oracle數(shù)據(jù)庫中,日期和時間數(shù)據(jù)類型存儲日期和時間值,常用的日期和時間數(shù)據(jù)類型有DATE、TIMESTAMP和TIMESTAMPWITHTIMEZONE。7.2.4二進制數(shù)據(jù)類型 在Oracle數(shù)據(jù)庫中,二進制數(shù)據(jù)類型存儲非結(jié)構(gòu)化數(shù)據(jù),常用的二進制數(shù)據(jù)類型有RAW和LONGRAW。1.RAW(size) 非結(jié)構(gòu)化數(shù)據(jù)的可變二進制數(shù)據(jù),必須為RAW指定size,最大尺寸為2000字節(jié)。2.LONGRAW 非結(jié)構(gòu)化數(shù)據(jù)的可變二進制數(shù)據(jù),尺寸可達2GB。 不建議使用LONGRAW數(shù)據(jù)類型,可以使用BLOB數(shù)據(jù)類型來代替。7.2.5行數(shù)據(jù)類型 在Oracle數(shù)據(jù)庫中,表中每一行數(shù)據(jù)在數(shù)據(jù)庫中的存儲位置可以由行的物理地址和邏輯地址表示,這些地址存儲在表的ROWID偽列中,常用的行數(shù)據(jù)類型有ROWID和UROWID。1.ROWID 以64位為基數(shù)的字符串,表示一條記錄在表中相對唯一的地址值。 該數(shù)據(jù)類型主要是ROWID偽列返回的值。2.UROWID
[(size)] 以64位為基數(shù)的字符串,表示索引組織表的一行的邏輯地址。 可選的大小是UROWID類型的列的大小。 最大尺寸和默認尺寸為4000字節(jié)。7.2.6大對象數(shù)據(jù)類型 在Oracle數(shù)據(jù)庫中,大對象數(shù)據(jù)類型存儲 大對象(LargeOBject,LOB),LOB是為圖 像、視頻、音頻、文本、空間數(shù)據(jù)設(shè)計的,大 對象最大尺寸是(4GB-1)*(數(shù)據(jù)庫塊大?。?一般數(shù)據(jù)庫塊大小為8K,常用的大對象數(shù)據(jù)類 型有CLOB、NCLOB、BLOB、BFILE和LONG。1.CLOB2.NCLOB3.BLOB4.BFILE5.LONG7.3創(chuàng)建表 CREATETABLE語句用于創(chuàng)建表。
要在自己的方案中創(chuàng)建表,必須要擁有CREATETABLE系統(tǒng)權(quán)限。
要在另一個用戶的方案中創(chuàng)建表,必須要擁有CREATEANYTABLE系統(tǒng)權(quán)限。
7.4修改表 使用ALTERTABLE語句來改變表的定義。 要修改表,該表必須在自己的方案中,或者必須在表上擁有ALTER對象權(quán)限,或者必須要擁有ALTERANYTABLE系統(tǒng)權(quán)限。7.4.1設(shè)置表的讀寫模式 指定READONLY把表設(shè)置為只讀模式。 當表處于只讀模式時,不能執(zhí)行任何DML語句或SELECT...FORUPDATE語句來影響表。只要不修改任何表中的數(shù)據(jù)就可以執(zhí)行DDL語句。指定READWRITE把表設(shè)置為讀/寫模式。7.4.2為表指定并行處理 使用PARALLEL在表上為查詢和DML操作更改默認并行度。7.4.3啟用或禁用與表相關(guān)聯(lián)觸發(fā)器 使用ENABLEALLTRIGGERS或DISABLEALLTRIGGERS來啟用或禁 用與表相關(guān)聯(lián)的所有觸發(fā)器。 要啟用或禁用觸發(fā)器,觸發(fā)器必須在自己的方案中,或者必須要擁有ALTERANYTRIGGER系統(tǒng)權(quán)限。7.4.4啟用或禁用表鎖定 如果在操作過程中表被鎖定,Oracle數(shù)據(jù)庫只允許在表上進行DDL操作。 在DML操作上不需要這樣的表鎖定。 Oracle數(shù)據(jù)庫啟用表鎖定之前,所有目前正在執(zhí)行的事物必須提交或回滾;指定DISABLETABLELOCK禁用表鎖定,從而防止在表上進行DDL操作。 當目標表的表鎖定被禁用時,不會執(zhí)行并行DML操作。7.4.5解除分配未使用的空間 使用DEALLOCATEUNUSED子句明確地釋放表的末尾未被使用的空間,以供在表空間中其他段的空間使用。 禁用表鎖定以后,不能解除分配未使用的空間。7.4.6標記列為未使用 使用SETUNUSED子句以標記表中的列為未使用。 無法將屬于SYS的表中的列標記為未使用。 對于內(nèi)部的堆組織表,指定SETUNUSED子句實際上并沒有從表中的每一行中刪除目標列。 可以稍后通過發(fā)出ALTERTABLE...DROPUNUSEDCOLUMNS語句刪除標記為未使用的列。USER_UNUSED_COL_TABS、ALL_UNUSED_COL_TABS或DBA_UNUSED_COL_
TABS數(shù)據(jù)字典可以用來列出包含未使用列的所有表。 這些數(shù)據(jù)字典中的COUNT列顯示在表中未使用的列的數(shù)量。7.4.7在表中添加、修改和刪除列
當修改表的時候,可以在表中添加、修改和刪除列。1.添加列2.修改列3.刪除列7.4.8為表添加注釋 COMMENTON語句用于為表添加描述性的注釋信息,這樣就可以充分地描述表的內(nèi)容或用法。 注釋內(nèi)容可以長達4000個字節(jié),必須存儲在單引號內(nèi)。7.4.9移動表到其他表空間 使用MOVE子句可以將表移動到其他的表空間中。7.4.10更改表的日志記錄屬性 使用LOGGING和NOLOGGING可以更改表的日志記錄屬性,生成重做日志記錄。7.4.11壓縮表 使用COMPRESS來指示Oracle數(shù)據(jù)庫是否壓縮數(shù)據(jù)段來減少磁盤和內(nèi)存的使用。 隨著數(shù)據(jù)庫的增長規(guī)模,可以考慮壓縮表。 壓縮表將節(jié)省磁盤空間,減少數(shù)據(jù)庫緩沖區(qū)高速緩存的使用,并在讀取時可以顯著加快查詢執(zhí)行。7.4.12收縮表 使用SHRINKSPACE子句可以對表手動收縮空間,只適用于使用自動段管理的表空間中的段。 在默認情況下,Oracle數(shù)據(jù)庫會壓縮段,調(diào)整高水位,并立即釋放空間。壓縮段需要先進行行移動(RowMovement),因此必須在收縮表之前啟用行移動。
收縮表具有以下限制。不支持對帶有基于函數(shù)的索引的表進行段收縮。不能為壓縮表指定SHRINKSPACE子句。7.4.13重命名列 使用RENAMECOLUMN子句重命名表中的列。 新的列名必須與表中其他列的名稱不能相同。7.4.14重命名表
要對表進行重命名,可以通過RENAME和ALTERTABLE...RENAMETO語句來實現(xiàn)。 1.RENAME語句 2.ALTERTABLE...RENAMETO語句7.5截斷表 TRUNCATETABLE語句用于從表中刪除所有數(shù)據(jù)。 使用這種方法刪除數(shù)據(jù),可以比刪除并重新創(chuàng)建表更有效。 TRUNCATETABLE語句執(zhí)行以后不能回滾。7.6刪除表 DROPTABLE語句用于刪除表,將表移動到回收站或從數(shù)據(jù)庫中完全刪除表和它的所有數(shù)據(jù)。 對于外部表,此語句只刪除數(shù)據(jù)庫中表的元數(shù)據(jù)。 它的實際數(shù)據(jù)并沒有影響,因為它駐留在數(shù)據(jù)庫之外。 要刪除表,該表必須在自己的方案中,或者必須要擁有DROPANYTABLE系統(tǒng)權(quán)限。
在刪除表的時候,將會執(zhí)行以下操作。刪除表中所有的數(shù)據(jù)。刪除與該表有關(guān)的索引、觸發(fā)器和對象權(quán)限。從數(shù)據(jù)字典中刪除表的定義?;厥辗峙浣o表的存儲空間。7.7使用OEM管理表7.7.1使用OEM創(chuàng)建表
使用OracleEnterpriseManager按以下步驟創(chuàng)建表。(1)在OracleEnterpriseManager頁面中,依次單擊【方案】→【數(shù)據(jù)庫對象】→【表】,如圖7-1所示,單擊【創(chuàng)建】按鈕。圖7-1表(2)在圖7-2所示頁面中,指定表組織,在此選擇【標準(按堆組織)】單選框,然后單擊【繼續(xù)】按鈕。圖7-2創(chuàng)建表:表組織(3)在圖7-3所示【一般信息】頁面中,按以下要求輸入內(nèi)容。圖7-3【一般信息】頁面(4)在圖7-4所示【存儲】頁面中,指定存儲信息,如表空間、區(qū)數(shù)、空間使用情況、空閑列表、事物處理數(shù)、緩沖池和壓縮選項等內(nèi)容。圖7-4【存儲】頁面(5)在圖7-5所示【選項】頁面中,指定啟用行移動、并行和高速緩存選項,然后單擊【確定】按鈕。圖7-5【選項】頁面7.7.2使用OEM收縮段 對表進行收縮段操作可以壓縮空間碎片,然后將恢復(fù)的空間釋放到表空間,以此節(jié)約空間使用。 使用OracleEnterpriseManager按以下步驟收縮段。(1)在圖7-6所示頁面中,搜索方案SYS中的表TABLE_1。選擇表TABLE_1,在【操作】下拉框中選擇【收縮段】,然后單擊【開始】按鈕。圖7-6搜索表(2)在圖7-7所示頁面中,指定收縮選項,在此選擇【壓縮段并釋放空間】單選框,然后單擊【繼續(xù)】按鈕。圖7-7收縮段(3)在圖7-8所示頁面中,指定作業(yè)名稱和調(diào)度選項,然后單擊【提交】按鈕。圖7-8調(diào)度(4)在圖7-9所示頁面中,顯示已經(jīng)成功創(chuàng)建作業(yè),可以看到調(diào)度程序作業(yè)正在運行。圖7-9調(diào)度程序作業(yè)7.7.3使用OEM刪除表 使用
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 消防安全員理論考試卷含答案
- 環(huán)磷酰胺沖擊治療術(shù)后難治性MG方案優(yōu)化
- 深度解析(2026)《GBT 19310-2025小艇 永久性安裝的燃油系統(tǒng)》
- 客服主管面試題及服務(wù)技能考核含答案
- 通信行業(yè)網(wǎng)絡(luò)工程師面試題
- 年產(chǎn)xxx二極管 項目可行性分析報告
- 布輪建設(shè)項目可行性分析報告(總投資5000萬元)
- 美容師崗位面試題及答案
- 大數(shù)據(jù)公司數(shù)據(jù)分析師日常工作及問題解決技巧
- 深度解析(2026)《GBT 18874.1-2002起重機 供需雙方應(yīng)提供的資料 第1部分總則》
- 交通事故處理講解
- ??贾仉y易錯名校押題卷(含答案)-人教部編版五年級上冊語文高效培優(yōu)測試
- 2025年重大公共衛(wèi)生服務(wù)服務(wù)項目工作方案
- 邊角料管理辦法
- 《WPS AI智能辦公應(yīng)用大全》全套教學(xué)課件
- 庫房租賃管理辦法
- 員工考勤抽查管理辦法
- 換瓣術(shù)后護理查房
- 膽囊炎膽囊結(jié)石的護理常規(guī)
- 養(yǎng)老護理員初級理論試題及答案
- 鉆芯法檢測混凝土強度技術(shù)規(guī)程JGJ-T384-2024
評論
0/150
提交評論