Yanıtlar:
Temel farklardan biri, benzersiz dizinin birincil anahtarda izin verilmeyen bir NULL değerine sahip olmasıdır. Kümelenmiş olsun veya olmasın, bu Birincil Anahtarın Pratik Anahtar ile Benzersiz Anahtarın pratik uygulaması arasındaki temel farktır.
Oh, ve bir tablo bir PK ve birçok İngiltere olabilir :-).
Bunların her ikisi de PERFORMANS değil INTENT'teki farklardır. Aksi takdirde, bir fark olduğunu düşünmüyorum. Herhangi bir PK veya İngiltere'nin arkasında SQL Server bir indeks oluşturur (isteğe bağlı olarak, kümelenmiş olsun ya da olmasın) ve kaynak kullanımı için şeffaftır.
PRIMARY KEY
ve arasında NOT NULL UNIQUE
, birincisi dönüştürmek çok daha zor olurdu NULL UNIQUE
(özellikle kısıtlamaya zaten yabancı bir anahtar tarafından başvurulmuşsa). Kesinlikle yanlışlıkla değişiklik yapılmasını önlemek misiniz NOT NULL
etmek NULL
.
Kümelenmiş birincil anahtar ile benzersiz bir kümelenmiş dizin arasında, benzersiz kümelenmiş dizinin NULL değerine sahip olabileceğinden farklı bir değer yoktur.
Benzersiz olmayan bir kümelenmiş dizin, benzersiz olmayan değerler için ele alınması gereken bir benzersizleştiriciye sahiptir.
NOT NULL UNIQUE CLUSTERED
, RDMS agnostik olsa bile, belirli bir UQ'nun meta veri anlamında "özel" olduğunu vurgulamak için (A) veya (B) için bir diğer ad olarak bir PK kullanmak için hiçbir neden yoktur ?