




已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第5章 數(shù)據(jù)庫(kù)對(duì)象的創(chuàng)建與使用,5.1 數(shù)據(jù)庫(kù)對(duì)象概述,Oracle數(shù)據(jù)庫(kù)的基本對(duì)象,Oracle10g對(duì)象及模式組織方式,表 table,視圖 view,函數(shù) function,過(guò)程 procedure,觸發(fā)器 trigger,包 package,對(duì)象類型 object type,索引 index,同義詞 synonyms,序列 sequence,用create table命令創(chuàng)建表,SQLcreate table dept(deptno number(2) not null, dname varchar2(14 byte), loc varchar2(13 byte), constraint pk_dept_1 primary key(deptno) using index tablespace rensh_app storage ( initial 64k next 5k minextents 1 maxextents 2147483645 pctincrease 1 freelists 1 freelist groups 1) pctfree 10 initrans 2 maxtrans 255) tablespace rensh_app pctfree 10 pctused 40 initrans 1 maxtrans 255 storage ( initial 64k next 0k minextents 1 Maxextents 2147483645 pctincrease 0 freelists 1 freelist groups 1) logging;,注意: 兩個(gè)非常重要的偽列:rowid和rownum。 rowid是偽列(pseudo-column)。是行數(shù)據(jù)在一個(gè)特定數(shù)據(jù)文件中的物理位置。在任何數(shù)據(jù)庫(kù)中行的rowid是不相同的。由于rowid直接指向行數(shù)據(jù)的物理位置,所以,通過(guò)使用rowid來(lái)刪除或更新行會(huì)比通過(guò)全表掃描來(lái)確定行從而刪除或更新行要快得多。 rownum只是從表中選擇出的行的序號(hào),與每個(gè)具體的行無(wú)關(guān)。,在原來(lái)已有表的基礎(chǔ)上建立一個(gè)新表,命令格式: SQLCreate table as select from old_table where condition;,常見(jiàn)的表管理命令,將一個(gè)列設(shè)置成不可用(將該列設(shè)置成unused后,使用戶感覺(jué)到該列是不存在的,即使查詢也看不到),SQLalter table employee set unused column job;,刪除表中不可用的列,SQLalter table test drop unused columns;,5.3 表的類型,根據(jù)表的存儲(chǔ)結(jié)構(gòu)可分為以下幾類: 常規(guī)表,即通常使用的表,也稱為堆表(Heap Table). 全局臨時(shí)表(Global Temporary Table),簡(jiǎn)稱為GTT,也稱為臨時(shí)表. 組織索引表Index Organized Table,簡(jiǎn)稱IOT. 外部表(External Table) 分區(qū)表(Partitions Table) 蔟表(Clustered Table) 嵌套表(Nested Table) 對(duì)象表(Object Table) XML表,5.3.2 全局臨時(shí)表(Global Temporary Table),它總是在用戶的臨時(shí)表空間中創(chuàng)建。全局臨時(shí)表或者是包含特定的會(huì)話數(shù)據(jù),或者是包含特定的事務(wù)數(shù)據(jù)。,臨時(shí)表與常規(guī)表之間的區(qū)別,(1)臨時(shí)表在創(chuàng)建后并不象其他常規(guī)表一樣分配段(segment)。 (2)不同的會(huì)話使用相同的GTT會(huì)得到不同的臨時(shí)表空間。 (3)當(dāng)會(huì)話或事務(wù)結(jié)束時(shí),臨時(shí)段自動(dòng)被清除。臨時(shí)表也會(huì)隨著數(shù)據(jù)庫(kù)的關(guān)閉從臨時(shí)段中消失。 (4)包含特定事務(wù)數(shù)據(jù)的臨時(shí)表僅在事務(wù)打開(kāi)或活動(dòng)時(shí)可用。一旦事務(wù)被提交或回滾關(guān)閉,那么,在事務(wù)表中的數(shù)據(jù)則被自動(dòng)清除。,5.3.3 索引組織表(Index Organized Table),簡(jiǎn)稱IOT,所謂索引組織表就是以B樹(shù)結(jié)構(gòu)共同存儲(chǔ)行的主鍵和數(shù)據(jù)的一種存儲(chǔ)方式。數(shù)據(jù)是存儲(chǔ)在B樹(shù)的葉子節(jié)點(diǎn)上。,何時(shí)使用IOT最合適呢?,避免冗余數(shù)據(jù)存儲(chǔ)。當(dāng)表中若干個(gè)列組成主關(guān)鍵字且在一行中占較大部分時(shí),建議使用IOT。 開(kāi)發(fā)大型數(shù)據(jù)庫(kù)(VLDB)和聯(lián)機(jī)事務(wù)處理OLTP應(yīng)用時(shí)使用IOT。 開(kāi)發(fā)時(shí)間系列的應(yīng)用。 使用IOT能有效地存儲(chǔ)嵌套表。 使用可擴(kuò)展的索引數(shù)據(jù)。 電子商務(wù),互聯(lián)網(wǎng)及數(shù)據(jù)倉(cāng)庫(kù)。,5.3.4 外部表(External Table),定義: 外部表就是以數(shù)據(jù)庫(kù)內(nèi)部表的形式定義,且其數(shù)據(jù)并不在數(shù)據(jù)庫(kù)內(nèi)部存儲(chǔ)的一種表。該表與數(shù)據(jù)庫(kù)外部某個(gè)扁平文件相對(duì)應(yīng)。 扁平文件的格式可有許多種,如文本格式、Microsoft Excel格式等。它是獲取外部數(shù)據(jù)的一種手段,與SQL*Loader等同屬于析取-轉(zhuǎn)換-裝載ETL(Extract,Transform,Load)操作。 在使用外部表時(shí),需要使用目錄對(duì)象。,5.3.5 分區(qū)表(Partitioning Table),分區(qū)包括分區(qū)表和分區(qū)索引。 所謂分區(qū)表是按照條件把數(shù)據(jù)分成若干個(gè)較小的且更易于管理的片。 分區(qū)表中的每個(gè)行被明確地指定給一個(gè)分區(qū),分區(qū)關(guān)鍵字就決定每個(gè)行所在的分區(qū)。分區(qū)關(guān)鍵字可以是從1到16個(gè)列的集合。,單獨(dú)存儲(chǔ)會(huì)帶來(lái)許多好處:,多個(gè)分區(qū)可減少數(shù)據(jù)丟失或損壞的可能性。 可獨(dú)立地備份和恢復(fù)每個(gè)分區(qū)。 控制每個(gè)分區(qū)的映射到磁盤驅(qū)動(dòng)器,這對(duì)平衡I/O負(fù)載是非常重要的。 可改善可管理性,易用性和性能。 對(duì)應(yīng)用程序來(lái)說(shuō),分區(qū)是透明的,而標(biāo)準(zhǔn)的DML語(yǔ)句只與分區(qū)的表有關(guān)。,5.3.6 簇表(Clustered Table),簇(cluster)是管理表中數(shù)據(jù)的一種方法。簇是由共享相同數(shù)據(jù)塊的一組表組成。這些表可以是一個(gè)或多個(gè),有可共享的公共列并一起使用。這些表公共列稱為簇關(guān)鍵字。 但選擇關(guān)鍵字列時(shí)也有一些原則: 一個(gè)好的聚簇關(guān)鍵字應(yīng)有足夠多的唯一值,即對(duì)應(yīng)于同一個(gè)關(guān)鍵字值的行有很多。這樣,與之相對(duì)應(yīng)的行才能填充滿一個(gè)數(shù)據(jù)塊。,何時(shí)使用簇表呢?,(1)在創(chuàng)建簇表之前,必須先創(chuàng)建簇。簇表的使用依賴于簇。但是,在向簇表插入和更新數(shù)據(jù)之前,必須在該表上手工創(chuàng)建聚簇索引。使用聚簇并不影響在簇表上創(chuàng)建其他的索引。 (2)表與表之間有主/從參照關(guān)系,主要用于經(jīng)常性的連接查詢操作。 (3)這些表以只讀查詢?yōu)橹?,很少或不做插入更新操作?5.3.7 嵌套表(Nested Table),如果表中列被定義的數(shù)據(jù)類型是一個(gè)表類型,則該表類型就可稱為嵌套表,即表中之表。包含嵌套表的表稱為主表。嵌套表可被用于數(shù)據(jù)庫(kù)表列的數(shù)據(jù)類型或者是對(duì)象表類型的一個(gè)屬性。 創(chuàng)建嵌套表的具體步驟為: (1)定義表類型 (2)創(chuàng)建主表,格式與常規(guī)表相同。,5.4 完整性約束,數(shù)據(jù)完整性的基本約束: 檢查(Check)-在數(shù)據(jù)字典和系統(tǒng)中用C表示; 主鍵(Primary key)-用P表示; 外鍵(Foreign Key)-用R表示; 唯一性(Unique)-用U表示; 視圖上的只讀(Read Only)-用O表示; 視圖上選擇(Check Option On a View)-用V表示。,5.5 索 引,在Oracle中,有以下幾種類型的索引: B樹(shù)索引(B*Tree Indexes):大多數(shù)創(chuàng)建的常規(guī)索引都屬B樹(shù)索引。簇索引和唯一性索引都以B樹(shù)作為基本結(jié)構(gòu)。 基于函數(shù)的索引(Function-Based Indexes) 位圖索引(Bitmap Indexes) 反向鍵索引(Reverse Key Indexes) 降序索引(Descending) 壓縮索引(Compressed Indexes) 本地和全局索引(Local And Global Indexes),5.5.1 B樹(shù)索引,B樹(shù)索引是最為常見(jiàn)的索引結(jié)構(gòu),也是多數(shù)索引采用的默認(rèn)結(jié)構(gòu)。這種結(jié)構(gòu)特別適合于檢索高基數(shù)數(shù)據(jù)列,即該列的唯一索引值個(gè)數(shù)與其數(shù)據(jù)行數(shù)之比接近1的情況。換言之,被索引的列值很少有相同的值。,5.5.2 位圖索引,位圖索引也同樣采用B樹(shù)結(jié)構(gòu),只是索引值全部集中在葉子節(jié)點(diǎn)。位圖中的每個(gè)位對(duì)應(yīng)于一個(gè)rowid。如果位值為1,則意味著對(duì)應(yīng)于rowid的行包含該索引鍵值。所以,位圖的映射功能是將數(shù)據(jù)位的位置轉(zhuǎn)化成實(shí)際的r
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 溝通技巧在商業(yè)談判中的重要性
- 2025至2030年中國(guó)熒光四通光石英比色皿數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 現(xiàn)代人如何借助中醫(yī)實(shí)現(xiàn)健康管理
- 2025至2030年中國(guó)花園青石材數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)船用配件數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 科技紙雕藝術(shù)立體紙藝制作教程
- 2025年度股東清算與公司債務(wù)清償一體化協(xié)議
- 紅木家具連鎖加盟與區(qū)域銷售代理合同2025
- 2025年度旅游項(xiàng)目導(dǎo)游臨時(shí)勞務(wù)用工協(xié)議
- 二零二五年度福建省勞動(dòng)合同解除與補(bǔ)償協(xié)議范本
- 巴馬格紡絲控制系統(tǒng)軟件說(shuō)明書(共46頁(yè))
- 肺結(jié)核患者管理ppt課件
- 煤矸石綜合利用項(xiàng)目可行性研究報(bào)告寫作范文
- 清華大學(xué)MBA課程——運(yùn)籌學(xué)
- 《計(jì)量經(jīng)濟(jì)學(xué)》超全題庫(kù)及答案(完整版)
- 濕法冶金浸出凈化和沉積PPT課件
- 生產(chǎn)現(xiàn)場(chǎng)作業(yè)十不干PPT課件
- 雨污水管網(wǎng)勞務(wù)施工分包合同
- 通信桿路工程施工
- 初中物理光學(xué)經(jīng)典題(共23頁(yè))
- 封條VVTT檢查流程程序參考模板
評(píng)論
0/150
提交評(píng)論