(Jawaban ini hanya untuk SQL Server 2005+. Saya tidak tahu apa-apa tentang MySQL.)
Ya. Seperti yang Anda sebutkan, batasan kunci utama didukung oleh indeks berkerumun secara default. Anda dapat memberi tahu SQL Server untuk mendukung batasan dengan indeks nonclustered dengan mendeklarasikan batasan sebagai berikut:
ALTER TABLE MyTable
ADD CONSTRAINT PK_MyTable
PRIMARY KEY NONCLUSTERED(Col1);
Ya, Anda dapat menentukan indeks dengan lebih dari satu kolom di kunci indeks. Ini benar-benar tidak berbeda dengan indeks nonclustered.
CREATE UNIQUE CLUSTERED INDEX IX_MyTable_Clus
ON MyTable(Col1, Col2, Col3);
Referensi:ALTER TABLE
, CREATE INDEX