2017年10月11日 星期三

新建資料表時建立UNIQUE條件約束

UNIQUE條件約束
UNIQUE條件約束與PRIMARY KEY條件約束幾乎完全一樣,主要差別如下:
1.      一個資料表最多只能擁有一個PRIMARY KEY條件約束,然卻可以擁有多個UNIQUE條件約束。
2.      PRIMARY KEY條件約束定義為主索引鍵是不允許接受Null值的,但是套用UNIQUE條件約束則允許接受Null(然不可重複Null)
3.      可以將UNIQUE條件約束套用於單一欄位或多個欄位組合,以確保其值絕對是唯一且不重複的。此外,UNIQUE條件約束亦能被一個FOREIGN KEY條件約束參考。


※新建資料表時建立UNIQUE條件約束
在設計新資料表時應決定要使用UNIQUE條件約束,以確保哪些欄位的內容是獨一且不重複的。

1.      使用Enterprise Manager方式
(1)   於結構定義畫面完成後,於工具列中按[資料表和索引屬性]按鈕。
(2)   切換至[索引/索引鍵]標籤頁面。
(3)   按下[新增]按鈕,替所需欄位建立UNIQUE條件約束。
(4)   [資料行名稱]清單方塊的各列增加欄位指定。
(5)   [索引名稱]文字方塊中鍵入UNIQUE條件約束的名稱(名稱須具唯一性)
(6)   勾選核取方塊□建立成唯一-UNIQUE(U),並確認選項鈕條件約束(O)已被選取。
(7)   於「填滿因數」文字方塊中鍵入UNIQUE條件約束之獨一索引的填充係數,可設定值為0100
(8)   由於資料表可以擁有多個UNIQUE條件約束,因此可反覆步驟37的操作,直到以替所需建立UNIQUE條件約束為止。
(9)   最後關閉且存檔即可。

2.      使用CREATE TABLE命令方式
採用語法如下:
   CREATE TABLE table_name
     (
      { column_name data_type
       [[ CONSTRAINT constraint_name ]
        { UNIQUE }
        [ CLUSTERED | NONCLUSTERED ]
        [ WITH FILLFACTOR = fillfactor ]
        [ ON { filegroup | DEFAULT }]
       ]
      }
     )
範例:
建立一資料表同時將Id欄位定義為主索引鍵的PRIMARY KEY條件約束;及替JobId欄位建立一個UNIQUE條件約束。
/* 檔案名稱:Demo628.sql */
CREATE TABLE DemoTable14
  (
  Id char(10) NOT NULL PRIMARY KEY,
  JobId char(6) NOT NULL UNIQUE,
  Name varchar(16)
  )


沒有留言:

用頭腦去思考,不要人云亦云才好, 宗教信徒就是依賴與自私心態(求東求西)的人, 光是這點就很容易暴露弱點了, 難怪seafood吃飽飽,哈哈。 續上, 除了依賴與自私心態(兩者都是人性)之外。 另外也有很大一部份的人,是人云亦云的思考邏輯, 所以宗教才能譁眾取寵。