Cyfyngiadau UNIQUE yn Microsoft SQL Server

Y Manteision o ddefnyddio Cyfyngiadau UNIQUE dros Gyfyngiadau Allweddol Cynradd

Drwy greu cyfyngiad UNIQUE, mae gweinyddwyr Gweinyddwr SQL yn nodi na all colofn gynnwys gwerthoedd dyblyg. Pan fyddwch yn creu cyfyngiad UNIQUE newydd, bydd SQL Server yn gwirio'r golofn dan sylw i benderfynu a yw'n cynnwys unrhyw werthoedd dyblyg. Os yw'r tabl yn cynnwys dyblygiadau sydd eisoes yn bodoli, mae'r gorchymyn creu cyfyngiadau'n methu. Yn yr un modd, unwaith y bydd gennych gyfyngiad UNIQUE ar golofn, bydd yn ceisio ychwanegu neu addasu data a fyddai'n achosi dyblygu yn bodoli hefyd yn methu.

Pam Defnyddiwch Gyfyngiadau UNIQUE

Mae cyfyngiad UNIQUE ac allwedd sylfaenol yn gorfodi unigryw, ond mae adegau bod cyfyngiad UNIQUE yn well dewis.

Creu Cyfyngiadau UNIQUE

Mae yna lawer o ffyrdd y gallwch greu cyfyngiad UNIQUE yn SQL Server. Os ydych chi eisiau defnyddio Transact-SQL i ychwanegu cyfyngiad UNIQUE ar dabl presennol, gallwch ddefnyddio'r datganiad TABL ALTER, fel y dangosir isod:

UNIQUE CONSTRAINT ()

Os yw'n well gennych ryngweithio â SQL Server gan ddefnyddio offer GUI, gallwch hefyd greu cyfyngiad UNIQUE gan ddefnyddio SQL Server Management Studio . Dyma sut:

  1. Open Studio Rheoli SQL Server .
  2. Ehangwch y ffolder Tablau o'r gronfa ddata lle rydych chi am greu'r cyfyngiad.
  3. De-gliciwch ar y bwrdd lle rydych chi am ychwanegu'r cyfyngiad a chliciwch ar Ddylunio .
  4. Yn y ddewislen Dylunydd Tabl, cliciwch ar Mynegeion / Allweddi .
  5. Yn y blwch deialog Mynegeion / Allweddau, cliciwch Ychwanegu .
  6. Dewiswch Allwedd Unigryw yn y rhestr ollwng Math .

UNIQUE Cyfyngiadau vs. UNIQUE Mynegeion

Bu peth dryswch ynghylch y gwahaniaeth rhwng cyfyngiad UNIQUE a mynegai UNIQUE. Er y gallwch ddefnyddio gwahanol orchmynion Transact-SQL i'w creu (TABL ALTER ... ADD CONSTRAINT am gyfyngiadau a CHREU INDEX UNIQUE ar gyfer mynegeion), mae ganddynt yr un effaith, ar y cyfan. Mewn gwirionedd, pan fyddwch chi'n creu cyfyngiad UNIQUE, mae'n creu mynegai UNIQUE ar y bwrdd mewn gwirionedd. Mae'n bwysig nodi, fodd bynnag, bod yna nifer o wahaniaethau: