freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

db2數(shù)據(jù)庫對象基礎(chǔ)知識(已修改)

2025-07-10 08:14 本頁面
 

【正文】 DB2數(shù)據(jù)庫對象基本數(shù)據(jù)庫對象 數(shù)據(jù)庫對象是一個數(shù)據(jù)庫的構(gòu)造塊(building block)。DB2 提供了不同類型的數(shù)據(jù)庫對象來存儲和表示不同信息。通過使用數(shù)據(jù)定義語言(DDL),可以創(chuàng)建、修改和刪除數(shù)據(jù)庫對象。要操縱數(shù)據(jù)庫對象,可以使用數(shù)據(jù)操縱語言(DML),例如 SELECT、UPDATE、INSERT 和 SELECT 語句。常用的數(shù)據(jù)庫對象有:表 用戶定義數(shù)據(jù)類型 約束 視圖 索引 除了 Family Fundamentals 教程里介紹的一些數(shù)據(jù)庫對象外,還有一些其他的對象,很多開發(fā)人員在開發(fā) DB2 應(yīng)用程序時會發(fā)現(xiàn)這些對象比較有用。本節(jié)我們將介紹這些對象。在繼續(xù)之前,有一點要注意:在下面看到的一些例子中,對象名稱是以小寫形式指定的。無論 DB2 在哪個平臺上運行,它總是以大寫形式存儲名稱,除非標(biāo)識符的名稱以雙引號()括起來了。例如,下面的語句創(chuàng)建一個名為 employee(小寫)的表,該表的列定義與表 EMPLOYEE(大寫)是一樣的。 CREATE TABLE employee LIKE employee別名 別名(alias) 是指一個已有的表、視圖的另一個名稱,也叫昵稱(nickname)。別名也可以作為另一個別名的昵稱。與這些對象一樣,別名也可以被創(chuàng)建或刪除,可以有與之相關(guān)的注釋。下面是 CREATE ALIAS 語句的一些例子: CREATE ALIAS aliastab1 FOR tab1。 CREATE ALIAS FOR 。 CREATE SYNONYM FOR ??梢钥吹?,CREATE ALIAS 語句比較簡單??梢栽谠磳ο笏诘耐荒J街袆?chuàng)建別名(如第 1 行),或者也可以全限定別名(如第 2 行)。為了與 DB2 for zSeries 兼容,使用關(guān)鍵字 SYNONYM 代替 ALIAS 也是合法的(如第 3 行)。使用別名時無需專門的授權(quán)或權(quán)限。不過,需要獲得與別名所引用的底層對象相關(guān)的授權(quán)。關(guān)于數(shù)據(jù)庫對象權(quán)限的完整清單,請參考 DB2 DBA 認(rèn)證教程 Server management(請參閱 參考資料)。前面已提到,我們也可以為 昵稱 創(chuàng)建別名。昵稱是引用位于聯(lián)邦系統(tǒng)上的數(shù)據(jù)表或視圖的數(shù)據(jù)庫對象。聯(lián)邦數(shù)據(jù)庫支持超出了本教程的范圍。在本教程系列的第 2 部分,Data manipulation ,我們將學(xué)習(xí)更多有關(guān)聯(lián)邦系統(tǒng)的知識。要為別名添加注釋,可以發(fā)出以下語句: COMMENT ON aliastab1 IS 39。My first alias on tab139。要刪除一個別名,使用 DROP 語句,這與所有其他數(shù)據(jù)庫對象是一樣的: DROP ALIAS aliastab1序列對象 序列(sequence)是一種數(shù)據(jù)庫對象,這種對象允許自動生成值。序列對象與標(biāo)識列(identity column)不同,標(biāo)識列是要與一個特定的表綁在一起的,而序列是一種全局的、獨立的對象,同一個數(shù)據(jù)庫中的任何表都可以使用它。標(biāo)識列是序列對象的一種特例。因此,標(biāo)識列的特征也適用于序列對象。下面就例釋了一條 CREATE SEQUENCE 語句: CREATE SEQUENCE myseq AS INTEGER START WITH 360 INCREMENT BY 10 NO MAXVALUE CYCLE CACHE 20 任何包括 0 在內(nèi)的數(shù)字?jǐn)?shù)據(jù)類型都可用于序列值。這些類型包括 SMALLINT、INTEGER、BIGINT 或 DECIMAL?;谶@些數(shù)據(jù)類型的任何用戶定義獨特類型(distinct type)也都可以用于序列值。這進(jìn)一步擴展了用戶定義獨特類型在應(yīng)用程序中的使用。 如上面的例子所示,您可以為序列對象指定起始值,從而自定義序列對象。在這個例子中,序列的第一個值是 360。后續(xù)值的生成是由 INCREMENT BY 子句控制的。這里還支持正、負(fù)常量,以產(chǎn)生升序和降序值。 缺省情況下,一個序列所生成的最小值和最大值是由該序列數(shù)據(jù)類型的取值范圍來界定的。例如,INTEGER 類型的序列值必須處在 2,147,483,647 到 2,147,483,647 之間的范圍內(nèi)。在 DB2 SQL Reference Guide 中可以找到所有數(shù)字?jǐn)?shù)據(jù)類型的取值范圍。為了改變這種缺省行為,可以使用 MINVALUE 和 MAXVALUE 選項來為生成的值設(shè)置一個邊界。如果達(dá)到了最小值或最大值,那么可以使用另一個選項,即 CYCLE 或 NO CYCLE 來規(guī)定序列值是否應(yīng)該循環(huán)。注意,如果 CYCLE 生效,則序列就可以生成重復(fù)的值。CACHE 選項允許 DB2 將一些預(yù)先分配好空間的值保留在內(nèi)存中,以提高性能。CACHE 20 是缺省的行為。關(guān)于這個選項有一點要謹(jǐn)記:如果在所有緩存的值被使用之前關(guān)閉 DB2,那么任何緩存的值和未使用的值都將被丟棄。當(dāng) DB2 重新啟動時,又會生成和緩存下一塊的值,從而造成值之間的不連續(xù),即值之間存在間隔。如果應(yīng)用程序不允許值之間有間隔,可以考慮使用 NOCACHE 選項。如果沒有使用緩存,則性能就會下降,因為要頻繁地生成序列數(shù)字。每當(dāng)生成一個新值的時候,都會寫下一條日志記錄。因此,更高效的做法是根據(jù)請求來獲取值,并將這些值緩存在內(nèi)存中。通過 ALTER SEQUENCE 語句,可以更改序列對象的特征。除了序列值的數(shù)據(jù)類型以外,上面所討論的所有的設(shè)置都可以修改。要獲得完整的語法,請參考 DB2 SQL Reference Guide (請參閱 參考資料)。刪除一個序列對象與刪除任何其他的數(shù)據(jù)庫對象是一樣的,不同之處是這里還要使用到一個 RESTRICT 關(guān)鍵字。這樣可以防止在有依賴的情況下刪除序列。DROP SEQUENCE myseq RESTRICT生成和獲取序列值 序列是一種數(shù)據(jù)庫對象,因此對序列的訪問也是由權(quán)限來控制的。缺省情況下,只有序列的創(chuàng)建者,即 SYSADM 和 DBADM 擁有該對象的 USAGE 權(quán)限。如果希望其他用戶也能夠使用序列,則需要使用下面的語句:GRANT USAGE ON SEQUENCE seq_object_name TO PUBLIC有兩種表達(dá)式可用于生成和獲取序列值。NEXTVAL FOR seqname 用于獲取下一個序列值,而 PREVVAL FOR seqname 則用于獲取上一個生成的序列值。下面的例子例釋了這些表達(dá)式的使用。INSERT INTO t1 VALUES (NEXTVAL FOR myseq, 39。BOB39。)。INSERT INTO t1 VALUES (NEXTVAL FOR myseq, 39。PAT3
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1