程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 唯一性約束(Unique constraint)

唯一性約束(Unique constraint)

編輯:Oracle數據庫基礎

序列(Sequences)

  Oracle序列是一個連續的數字生成器。序列常用於人為的關鍵字,或給數據行排序否則數據行是無序的。像約束一樣,序列只存在於數據字典中。序列號可以被設置為上升、下降,可以沒有限制或重復使用直到一個限制值。創建序列使用SET SEQUENCE語句。

CREATE SEQUENCE [schema] sequence KEYWord
  KEYWord包括下面的值:


KEYWord 描述 START WITH 定義序列生成的第一個數字,缺省為1 INCREMENT BY 定義序列號是上升還是下降,對於一個降序的序列INCREMENT BY為負值 MINVALUE 定義序列可以生成的最小值,這是降序序列中的限制值。缺省情況下該值為NOMINVALUE,NOMINVALUE,對於升序為1,對於降序為-10E26. MAXVALUE 序列能生成的最大數字。這是升序序列中的限制值,缺省的MAXVALUE為NOMAXVALUE,NOMAXVALUE,對於升序為10E26,對於降序為-1。 CYCLE 設置序列值在達到限制值以後可以重復 NOCYCLE 設置序列值在達到限制值以後不能重復,這是缺省設置。當試圖產生MAXVALUE+1的值時,將會產生一個異常 CACHE 定義序列值占據的內存塊的大小,缺省值為20 NOCACHE 在每次序列號產生時強制數據字典更新,保證在序列值之間沒有間隔當創建序列時,START WITH值必須等於或大於MINVALUE。
  刪除序列使用DROP SEQUENCE語句

DROP SEQUENCE sequence_name

  索引(INDEXES)

  索引是一種可以提高查詢性能的數據結構,在這一部分我們將討論索引如何提高查詢性能的。Oracle提供了以下幾種索引:

   B-Tree、哈希(hash)、位圖(bitmap)等索引類型
   基於原始表的索引
   基於函數的索引
   域(Domain)索引

  實際應用中主要是B-Tree索引和位圖索引,所以我們將集中討論這兩種索引類型。

  B-Tree索引

  B-Tree索引是最普通的索引,缺省條件下建立的索引就是這種類型的索引。B-Tree索引可以是唯一或非唯一的,可以是單一的(基於一列)或連接的(多列)。B-Tree索引在檢索高基數數據列(高基數數據列是指該列有很多不同的值)時提供了最好的性能。對於取出較小的數據B-Tree索引比全表檢索提供了更有效的方法。但當檢查的范圍超過表的10%時就不能提高取回數據的性能。正如名字所暗示的那樣,B-Tree索引是基於二元樹的,由枝干塊(branch block)和樹葉塊(leaf block)組成,枝干塊包含了索引列(關鍵字)和另一索引的地址。樹葉塊包含了關鍵字和給表中每個匹配行的ROWID。

  位圖索引

  位圖索引主要用於決策支持系統或靜態數據,不支持行級鎖定。位圖索引可以是簡單的(單列)也可以是連接的(多列),但在實踐中絕大多數是簡單的。

位圖索引最好用於低到中群集(cardinality)列,在這些列上多位圖索引可以與AND或OR操作符結合使用。位圖索引使用位圖作為鍵值,對於表中的每一數據行位圖包含了TRUE(1)、FALSE(0)、或NULL值。位圖索引的位圖存放在B-Tree結構的頁節點中。B-Tree結構使查找位圖非常方便和快速。另外,位圖以一種壓縮格式存放,因此占用的磁盤空間比B-Tree索引要小得多。

  同義詞(Synonyms)

  對另一個數據對象而言同義詞是一個別名。public同義詞是針對所有用戶的,相對而言private同義詞則只針對對象擁有者或被授予權限的賬戶。在本地數據庫中同義詞可以表示表、視圖、序列、程序、函數或包等數據對象,也可以通過鏈接表示另一個數據庫的對象。

  創建同義詞語法如下:

CREATE [PUBLIC] SYNONYM synonym_name FOR [schema.] object[@db_link];  
  例:

CREATE PUBLIC SYNONYM policies FOR poladm.policIEs@prod;

CREATE SYNONYM plan_table FOR system.plan_table;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved