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.
- Defnyddiwch gyfyngiad UNIQUE pan fyddwch am gael cyfyngiadau lluosog i dabl. Dim ond un allwedd gynharach i dabl y gallwch ei atodi.
- Defnyddiwch gyfyngiad UNIQUE pan fydd colofn yn caniatáu gwerthoedd null. Dim ond i golofnau nad ydynt yn caniatáu gwerthoedd null y gellir cyfyngu ar gyfyngiadau allweddol cynradd.
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:
- Open Studio Rheoli SQL Server .
- Ehangwch y ffolder Tablau o'r gronfa ddata lle rydych chi am greu'r cyfyngiad.
- De-gliciwch ar y bwrdd lle rydych chi am ychwanegu'r cyfyngiad a chliciwch ar Ddylunio .
- Yn y ddewislen Dylunydd Tabl, cliciwch ar Mynegeion / Allweddi .
- Yn y blwch deialog Mynegeion / Allweddau, cliciwch Ychwanegu .
- 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:
- Pan fyddwch yn creu mynegai, gallwch ychwanegu opsiynau ychwanegol i'r gorchymyn creu.
- Gellir defnyddio colofn sy'n destun cyfyngiad UNIQUE fel allwedd dramor .