Panduan untuk Batasan UNIK di Microsoft SQL Server

click fraud protection

Dengan membuat UNIK paksaan, Administrator SQL Server menentukan bahwa kolom database tidak boleh berisi nilai duplikat. Saat Anda membuat UNIK baru paksaan, SQL Server memeriksa kolom yang dimaksud untuk menentukan apakah kolom tersebut berisi nilai duplikat. jika meja berisi duplikat, perintah pembuatan batasan gagal. Demikian pula, setelah Anda menentukan batasan UNIK pada kolom, upaya untuk menambah atau mengubah data yang akan menyebabkan adanya duplikat juga gagal.

Kode SQL pada latar belakang hitam.
KIVILCIM PINAR / Getty Images

Mengapa Menggunakan Batasan UNIK

Kendala UNIK dan kunci utama keduanya menegakkan keunikan, tetapi ada kalanya kendala UNIK adalah pilihan yang lebih baik.

  • Gunakan batasan UNIK untuk menentukan beberapa batasan ke tabel. Anda hanya dapat melampirkan satu kunci utama ke tabel.
  • Gunakan batasan UNIK saat kolom mengizinkan nilai nol. Batasan kunci utama hanya dapat dilampirkan ke kolom yang tidak mengizinkan nilai nol.

Membuat Batasan UNIK

Cara termudah untuk membuat batasan unik di Transact-SQL adalah dengan menyambungkan ke Mesin Database di Object Explorer di SQL Management Studio lalu klik

instagram viewer
Permintaan Baru.

Gunakan kueri berikut, ubah istilah seperlunya, untuk membuat tabel baru dan menambahkan batasan pada kolom:

GUNAKAN AdventureWorks2012; 
PERGILAH
BUAT TABEL Produksi. TransaksiRiwayatArsip4
(
TransactionID int BUKAN NULL,
CONSTRAINT AK_TransactionID UNIQUE(TransactionID)
);
PERGILAH.

Jalankan kueri.

Demikian pula, untuk membuat batasan unik pada tabel yang ada, jalankan kueri T-SQL berikut:

GUNAKAN AdventureWorks2012; 
PERGILAH
ALTER TABEL Orang. Kata sandi
ADD CONSTRAINT AK_Password UNIK (PasswordHash, PasswordSalt);
PERGILAH.

Batasan UNIK vs. Indeks UNIK

Ada beberapa kebingungan tentang perbedaan antara batasan UNIK dan indeks UNIK. Meskipun Anda dapat menggunakan perintah T-SQL yang berbeda untuk membuatnya (ALTER TABLE dan ADD CONSTRAINT untuk batasan dan CREATE UNIQUE INDEX untuk indeks), mereka memiliki efek yang sama, untuk sebagian besar. Faktanya, ketika Anda membuat batasan UNIK, itu sebenarnya membuat indeks UNIK di atas meja. Perhatikan beberapa perbedaan, meskipun:

  • Saat Anda membuat indeks, Anda dapat menambahkan opsi tambahan ke perintah pembuatan.
  • Kolom yang tunduk pada batasan UNIK dapat digunakan sebagai kunci asing.
instagram story viewer