

下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1 / 42DB2 數(shù)據(jù)庫(kù)對(duì)象差不多數(shù)據(jù)庫(kù)對(duì)象數(shù)據(jù)庫(kù)對(duì)象是一個(gè)數(shù)據(jù)庫(kù)的構(gòu)造塊( building block )。 DB2 提 供了不同類型的數(shù)據(jù)庫(kù)對(duì)象來(lái)存儲(chǔ)和表示不同信息。 通過(guò)使用數(shù) 據(jù)定義語(yǔ)言(DDL,能夠創(chuàng)建、修改和刪除數(shù)據(jù)庫(kù)對(duì)象。要操縱 數(shù)據(jù)庫(kù)對(duì)象,能夠使用數(shù)據(jù)操縱語(yǔ)言(DML,例如 SELECTUPDAT、E INSERT 和 SELECT 語(yǔ)句。常用的數(shù)據(jù)庫(kù)對(duì)象有:表用戶定義數(shù)據(jù)類型約束視圖索引除了 Family Fundamentals 教程里介紹的一些數(shù)據(jù)庫(kù)對(duì)象外, 還有一些其他的對(duì)象,專門多開發(fā)人員在開發(fā) DB2 應(yīng)用程序時(shí) 會(huì)發(fā)覺(jué)這些對(duì)象比較有用。本節(jié)我們將介紹這些對(duì)象。
2、2 / 42在接著之前,有一點(diǎn)要注意:在下面看到的一些例子中,對(duì)象名 稱是以小寫形式指定的。不管 DB2 在哪個(gè)平臺(tái)上運(yùn)行,它總是 以大寫形式存儲(chǔ)名稱,除非標(biāo)識(shí)符的名稱以雙引號(hào)( )括起來(lái) 了。例如,下面的語(yǔ)句創(chuàng)建一個(gè)名為 employee (小寫)的表,該表 的列定義與表 EMPLOYE(E 大寫)是一樣的。CREATE TABLE employee LIKE employee不名不名( alias ) 是指一個(gè)已有的表、視圖的另一個(gè)名稱,也叫昵 稱(nickname )。不名也能夠作為另一個(gè)不名的昵稱。與這些對(duì) 象一樣,不名也能夠被創(chuàng)建或刪除,能夠有與之相關(guān)的注釋。下 面是 CREATE
3、ALIAS語(yǔ)句的一些例子:CREATE ALIAS aliastab1 FOR tab1;CREATE ALIAS bob.aliastab1 FOR tom.tab1;CREATE SYNONYM bob.aliastab2 FOR bob.aliastab1;能夠看到,CREATE ALIAS 語(yǔ)句比較簡(jiǎn)單。能夠在源對(duì)象所在的 同一模式中創(chuàng)建不名(如第 1 行),或者也能夠全限定不名(如 第 2 行)。為了與 DB2 for zSeries 兼容, 使用關(guān)鍵字 SYNONYM 代替 ALIAS 也是合法的(如第 3 行)。使用不名時(shí)無(wú)需專門的授權(quán)或權(quán)限。 只是, 需要獲得與不名所引 用的底
4、層對(duì)象相關(guān)的授權(quán)。 關(guān)于數(shù)據(jù)庫(kù)對(duì)象權(quán)限的完整清單, 請(qǐng) 參考 DB2DBA 認(rèn)證教程 Server management (請(qǐng)參閱 參考資 料)。前面已提到, 我們也能夠?yàn)?昵稱 創(chuàng)建不名。 昵稱是引用位于聯(lián) 邦系統(tǒng)上的數(shù)據(jù)表或視圖的數(shù)據(jù)庫(kù)對(duì)象。 聯(lián)邦數(shù)據(jù)庫(kù)支持超出了 本 教 程 的范 圍 。 在 本 教 程 系 列 的 第 2 部 分 , Data3 / 424 / 42manipulation ,我們將學(xué)習(xí)更多有關(guān)聯(lián)邦系統(tǒng)的知識(shí)。要為不名添加注釋,能夠發(fā)出以下語(yǔ)句:COMMENT ON aliastab1 IS My first alias on tab1要?jiǎng)h除一個(gè)不名, 使用 DROP
5、語(yǔ)句, 這與所有其他數(shù)據(jù)庫(kù)對(duì)象是一樣的:DROP ALIAS aliastab1序列對(duì)象序列(sequenee)是一種數(shù)據(jù)庫(kù)對(duì)象,這種對(duì)象同意自動(dòng)生成值。序列對(duì)象與標(biāo)識(shí)列( identity column )不同,標(biāo)識(shí)列是要與一個(gè)特定的表綁在一起的,而序列是一種全局的、獨(dú)立的對(duì)象,同一個(gè)數(shù)據(jù)庫(kù)中的任何表都能夠使用它5 / 42標(biāo)識(shí)列是序列對(duì)象的一種特例。 因此, 標(biāo)識(shí)列的特征也適用于序列對(duì)象。下面就例釋了一條 CREATE SEQUENCE句:CREATE SEQUENCE myseq AS INTEGERSTART WITH 360INCREMENT BY 10NO MAXVALUECYCL
6、ECACHE 20任何包括 0 在內(nèi)的數(shù)字?jǐn)?shù)據(jù)類型都可用于序列值。這些類型包括 SMALLINT INTEGER BIGINT 或 DECIMAL 基于這些數(shù)據(jù)類 型的任何用戶定義獨(dú)特類型( distinct type )也都能夠用于序 列值。這進(jìn)一步擴(kuò)展了用戶定義獨(dú)特類型在應(yīng)用程序中的使用。如上面的例子所示, 您能夠?yàn)樾蛄袑?duì)象指定起始值, 從而自定義 序列對(duì)象。在那個(gè)例子中,序列的第一個(gè)值是 360 。后續(xù)值的生 成是由INCREMENTBY 子句操縱的。 那個(gè)地點(diǎn)還支持正、 負(fù)常量, 以產(chǎn)生升序和降序值。6 / 42缺省情況下, 一個(gè)序列所生成的最小值和最大值是由該序列數(shù)據(jù)類型的取值范圍來(lái)
7、界定的。 例如,INTEGER 類型的序列值必須處 在-2,147,483,647 到 2,147,483,647 之間的范圍內(nèi)。 在 DB2 SQL ReferenceGuide 中能夠找到所有數(shù)字?jǐn)?shù)據(jù)類型的取值范 圍。為了改變這種缺省行為,能夠使用MINVALUE 和 MAXVALUE選項(xiàng)來(lái)為生成的值設(shè)置一個(gè)邊界。假如達(dá)到了最小值或最大值, 那么能夠使用另一個(gè)選項(xiàng),即 CYCLE 或 NO CYCLE 來(lái)規(guī)定序列 值是否應(yīng)該循環(huán)。注意,假如 CYCLE 生效,則序列就能夠生成 重復(fù)的值。CACHE 選項(xiàng)同意 DB2 將一些預(yù)先分配好空間的值保留在內(nèi)存 中,以提高性能。 CACHE 20 是
8、缺省的行為。關(guān)于那個(gè)選項(xiàng)有一 點(diǎn)要謹(jǐn)記:假如在所有緩存的值被使用之前關(guān)閉DB2,那么任何緩存的值和未使用的值都將被丟棄。當(dāng) DB2 重新啟動(dòng)時(shí),又會(huì)生成和緩存下一塊的值, 從而造成值之間的不連續(xù), 即值之間存 在間隔。假如應(yīng)用程序不同意值之間有間隔,能夠考慮使用NOCAC H 選項(xiàng)。假如沒(méi)有使用緩存, 則性能就會(huì)下降, 因?yàn)橐l繁地生成序列數(shù) 字。7 / 42每當(dāng)生成一個(gè)新值的時(shí)候,都會(huì)寫下一條日志記錄。因此, 更高效的做法是依照請(qǐng)求來(lái)獵取值,并將這些值緩存在內(nèi)存中。通過(guò) ALTERSEQUENC 語(yǔ)句,能夠更改序列對(duì)象的特征。除了序 列值的數(shù)據(jù)類型以外, 上面所討論的所有的設(shè)置都能夠修改。
9、要 獲得完整的語(yǔ)法, 請(qǐng)參考 DB2 SQLReference Guide (請(qǐng)參閱 參 考資料)。刪除一個(gè)序列對(duì)象與刪除任何其他的數(shù)據(jù)庫(kù)對(duì)象是一樣的, 不同 之處是那個(gè)地點(diǎn)還要使用到一個(gè) RESTRICT 關(guān)鍵字。如此能夠防 止在有依靠的情況下刪除序列。DROP SEQUENCE myseq RESTRICT生成和獵取序列值序列是一種數(shù)據(jù)庫(kù)對(duì)象,因此對(duì)序列的訪問(wèn)也是由權(quán)限來(lái)操縱的。缺省情況下,只有序列的創(chuàng)建者,即SY SADM 和 DBADM 擁有該對(duì)象的 USAGE 權(quán)限。假如希望其他用戶也能夠使用序列, 則需要使用下面的語(yǔ)句:GRANT USAGE ON SEQUENCE seq_object_name TO PUBLIC有兩種表達(dá)式可用于生成和獵取序列值。 NEXTVALFORseq-name 用于獵取下一個(gè)序列值,而 PREVVA
溫馨提示
- 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è)學(xué)院《大學(xué)生職業(yè)生涯規(guī)劃》2023-2024學(xué)年第二學(xué)期期末試卷
- 人教版七年級(jí)歷史下學(xué)期第三單元明清時(shí)期至鴉片戰(zhàn)爭(zhēng)前統(tǒng)一多民族封建國(guó)家的鞏固與發(fā)展第6課時(shí)明清時(shí)期社會(huì)經(jīng)濟(jì)的發(fā)展測(cè)試試題(含答案)
- 莊子《齊物論》講了什么
- 2025年呼吸科主治考試題及答案
- 2025年測(cè)驗(yàn)情商的測(cè)試題及答案
- 2025年京東運(yùn)營(yíng)考試試題及答案
- 2025年招商總監(jiān)的面試題及答案
- 中級(jí)工業(yè)機(jī)器人復(fù)習(xí)測(cè)試卷含答案
- 2025年廊坊駕照筆試題庫(kù)及答案
- 2025年經(jīng)濟(jì)金融筆試題庫(kù)及答案
- 2025年安徽中醫(yī)藥高等??茖W(xué)校單招職業(yè)技能考試題庫(kù)帶答案
- 小學(xué)二年級(jí)下冊(cè)《勞動(dòng)》教案
- 2025年南京鐵道職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)及答案1套
- 2025年河南機(jī)電職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能考試題庫(kù)完整
- 2025年宣城職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及參考答案
- 2025年湖南生物機(jī)電職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及參考答案
- 2025年深圳市高三一模英語(yǔ)試卷答案詳解講評(píng)課件
- 2025年黑龍江旅游職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)一套
- 山東省聊城市冠縣2024-2025學(xué)年八年級(jí)上學(xué)期期末地理試卷(含答案)
- 敲響酒駕警鐘堅(jiān)決杜絕酒駕課件
- 2024年深圳市中考?xì)v史試卷真題(含答案解析)
評(píng)論
0/150
提交評(píng)論