日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Oracle數(shù)據(jù)庫數(shù)據(jù)對象分析(中)--(2)

 aaie_ 2011-10-08
唯一性約束(Unique constraint)

  唯一性約束可以保護表中多個數(shù)據(jù)列,保證在保護的數(shù)據(jù)列中任何兩行的數(shù)據(jù)都不相同。唯一性約束與表一起創(chuàng)建,在唯一性約束創(chuàng)建后,可以使用ALTER TABLE語句修改。

  語法:

column_name data_type CONSTRAINT constraint_name UNIQUE
  如果唯一性約束保護多個數(shù)據(jù)列,那么唯一性約束要作為表約束增加。語法如下:

CONSTRAINT constraint_name (column) UNIQUE USING INDEX TABLESPACE (tablespace_name) STORAGE (stored clause)
  唯一性約束由一個B-tree索引增強,所以可以在USING子串中為索引使用特殊特征,比如表空間或存儲參數(shù)。CREATE TABLE語句在創(chuàng)建唯一性約束的同時也給目標數(shù)據(jù)列建立了一個唯一的索引。

CREATE TABLE insured_autos
(policy_id NUMBER CONSTRAINT pk_policies PRIMARY KEY,
vin VARCHAR2(10),
coverage_begin DATE,
coverage_term NUMBER,
CONSTRAIN unique_auto UNIQUE (policy_id,vin) USING INDEX TABLESPACE index STORAGE (INITIAL 1M NEXT 10M PCTINCREASE 0)
);
  用戶可以禁用未以性約束,但他仍然存在,禁用唯一性約束使用ALTER TABLE 語句

ALTER TABLE insured_autos DISABLE CONSTRAIN unique_name;
  刪除唯一性約束,使用ALTER TABLE....DROP CONSTRAIN語句

ALTER TABLE insured_autos DROP CONSTRAIN unique_name;
  注意用戶不能刪除在有外部鍵指向的表的唯一性約束。這種情況下用戶必須首先禁用或刪除外部鍵(foreign key)。

  刪除或禁用唯一性約束通常同時刪除相關聯(lián)的唯一索引,因而降低了數(shù)據(jù)庫性能。經(jīng)常刪除或禁用唯一性約束有可能導致丟失索引帶來的性能錯誤。要避免這樣錯誤,可以采取下面的步驟:

  1、在唯一性約束保護的數(shù)據(jù)列上創(chuàng)建非唯一性索引。

  2、添加唯一性約束

  主鍵(Primary Key)約束

  表有唯一的主鍵約束。表的主鍵可以保護一個或多個列,主鍵約束可與NOT NULL約束共同作用于每一數(shù)據(jù)列。NOT NULL約束和唯一性約束的組合將保證主鍵唯一地標識每一行。像唯一性約束一樣,主鍵由B-tree索引增強。

  創(chuàng)建主鍵約束使用CREATE TABLE語句與表一起創(chuàng)建,如果表已經(jīng)創(chuàng)建了,可以使用ALTER TABLE語句。

CREATE TABLE policies
(policy_id NUMBER CONSTRAINT pk_policies PRIMARY KEY,
holder_name VARCHAR2(40),
gender VARCHAR2(1),
marital_status VARCHAR2(1),
date_of_birth DATE
);
  與唯一性約束一樣,如果主鍵約束保護多個數(shù)據(jù)列,那么必須作為一個表約束創(chuàng)建。

CREATE TABL

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多