Kekangan Unik Bersyarat dengan Indeks Ditapis dalam Pelayan SQL
Reka bentuk pangkalan data kadangkala memerlukan kekangan unik bersyarat: keunikan dikuatkuasakan pada set lajur hanya apabila lajur lain memenuhi syarat tertentu. Ini adalah perkara biasa apabila menguruskan rekod aktif dan tidak aktif, memelihara integriti data. Indeks yang ditapis SQL Server menawarkan penyelesaian yang cekap. Indeks yang ditapis mencipta indeks unik pada subset baris jadual, ditakrifkan oleh predikat penapis.
Melaksanakan Keunikan Berdasarkan Status Rekod
Bayangkan jadual dengan lajur ID
, Name
dan RecordStatus
. Kami memerlukan kekangan unik pada (ID
, RecordStatus
) hanya apabila RecordStatus = 1
(rekod aktif). Indeks yang ditapis mencapai ini:
<code class="language-sql">CREATE UNIQUE INDEX MyIndex ON MyTable (ID) WHERE RecordStatus = 1;</code>
Ini memastikan keunikan untuk ID
hanya apabila RecordStatus
ialah 1, membenarkan berbilang rekod tidak aktif (RecordStatus = 2
) dengan ID
yang sama.
Status Di Luar Rekod: Keunikan Bersyarat Serbaguna
Indeks yang ditapis tidak terhad kepada status rekod. Ia membolehkan kawalan terperinci ke atas keunikan data berdasarkan pelbagai kriteria, meningkatkan integriti dan prestasi data.
Kelebihan Indeks Ditapis
Berbanding dengan alternatif seperti pencetus, tawaran indeks yang ditapis:
Ringkasan
Indeks yang ditapis SQL Server menyediakan cara yang teguh dan cekap untuk menguatkuasakan kekangan unik bersyarat. Ia menawarkan keseimbangan antara integriti data, prestasi dan pengoptimuman storan.
Atas ialah kandungan terperinci Bagaimanakah Indeks Ditapis Boleh Menguatkuasakan Kekangan Unik Bersyarat dalam Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!