Edut, joissa käytetään yhtenäisiä rajoituksia ensisijaisten avainrajoitusten suhteen
Luomalla UNIQUE-rajoituksen SQL Server -järjestelmänvalvojat määrittävät, että sarakkeessa ei välttämättä ole päällekkäisiä arvoja. Kun luot uuden UNIQUE-rajoituksen, SQL Server tarkistaa kyseisen sarakkeen sen määrittämiseksi, sisältääkö se kaksoiskappaleita. Jos taulukko sisältää olemassa olevia kaksoiskappaleita, pakkotoiminto-komento epäonnistuu. Vastaavasti, kun olet saanut UNIQUE-rajoituksen sarakkeeseen, yrittää lisätä tai muuttaa tietoja, jotka aiheuttaisivat päällekkäisyyksiä, myös epäonnistuvat.
Miksi käyttää UNIQUE-rajoitteita
UNIQUE-rajoitus ja ensisijainen avain tekevät sekä ainutlaatuisuuden, mutta on olemassa aikoja, jolloin UNIQUE-rajoitteen valinta on parempi.
- Käytä UNIQUE-rajoitusta, kun haluat useita rajoituksia taulukkoon. Voit liittää vain yhden ensisijaisen avaimen taulukkoon.
- Käytä UNIQUE-rajoitusta, kun sarake sallii nolla-arvot. Ensisijaiset avainrajoitukset voidaan liittää vain sarakkeisiin, jotka eivät salli nolla-arvoja.
UNIQUE-rajoituksen luominen
SQL Serverissa on monta tapaa luoda UNIQUE-rajoitin. Jos haluat käyttää Transact-SQL: tä lisäämällä UNIQUE-rajoituksen olemassa olevaan taulukkoon, voit käyttää ALTER TABLE -tapahtumaa, kuten alla on kuvattu:
ALTER TAULUKKO ADD CONSTRAINT UNIQUE ()Jos haluat käyttää vuorovaikutusta SQL Serverin kanssa GUI-työkaluilla, voit myös luoda UNIQUE-rajoituksen käyttämällä SQL Server Management Studio -ohjelmaa . Näin:
- Avaa SQL Server Management Studio .
- Laajenna tietokannan Taulukot -kansio, johon haluat luoda rajoituksen.
- Napsauta hiiren kakkospainikkeella taulukkoa, johon haluat lisätä rajoitteen, ja napsauta Suunnittelu .
- Valitse taulukon suunnittelija -valikosta Indexes / Avaimet .
- Valitse Hakemistot / Avaimet -valintaikkunassa Lisää .
- Valitse avattavasta tyypistä Ainutlaatuinen avain .
UNIQUE Rajoitukset vs. UNIQUE-indeksit
On ollut hämmennystä UNIQUE-rajoitteen ja UNIQUE-indeksin välisestä erosta. Vaikka voit luoda erilaisia Transact-SQL -komentoja (ALTER TABLE ... ADD CONSTRAINT for constraints ja CREATE UNIQUE INDEX indekseille), niillä on suurin piirtein sama vaikutus. Itse asiassa, kun luot UNIQUE-rajoitteen, se luo todella taulukon UNIQUE-indeksin. On kuitenkin huomattavaa, että on olemassa useita eroja:
- Kun luot indeksin, voit lisätä lisävalintoja luomiskomentoon.
- Ulkopuolinen avain voidaan käyttää sarakkeeseen, johon sovelletaan UNIQUE-rajoitusta.