SQL Server Dizin Adlandırma Kuralları [kapalı]


175

SQL Server için dizinleri adlandırmanın standart bir yolu var mı? Birincil anahtar dizinine PK_ adı verilmiştir ve kümelenmemiş dizinler genellikle IX_ ile başlar. Benzersiz dizinler için bunun ötesinde adlandırma kuralları var mı?

Yanıtlar:


282

kullanırım

Birincil anahtarlar için PK_

Benzersiz anahtarlar için UK_

Kümelenmemiş benzersiz olmayan dizinler için IX_

Benzersiz dizinler için UX_

Tüm dizin adım
<index or key type>_<table name>_<column 1>_<column 2>_<column n>


1
Benzersiz olmayan kümelenmiş dizinler ne olacak? CX?
Chris Marisic

8
Benzersiz olmayan kümelenmiş bir dizine hiç ihtiyaç duymadım ... Bunun mümkün olduğunu fark ettim, ama bu benim için doğru bir eylem şekli gibi görünmedi.
JSR

4
Burada verilen cevaba göre stackoverflow.com/questions/1401572/… KEY ve INDEX eş anlamlılardır. Öyleyse benzersiz anahtarlar ve benzersiz dizinler için farklı öneklere gerek yok mu?
skjerdalas

2
Bu mantıklı bir fark, yabancı anahtar başvurusu olacaksa UniqueKey kullanıyorum, aksi takdirde UniqueIndex kullanıyorum.
JSR

1
İki tablo aynı dizin adına sahip olabiliyorsa neden tablo adını eklemelisiniz? yani benzersizliğe gerek yoktur.
Tahir Hassan

25

Genellikle dizinleri tablonun adı ve içerdikleri sütunlara göre adlandırırım:

ix_tablename_col1_col2

2
Dizin sütunları ile dahil edilen sütunlar arasında nasıl ayrım yaparsınız?
John Sansom

3
Eminim ki sadece Dizine Alınmış sütunları dizine yerleştirildikleri sırayla listeliyor.
Brett

Ben aşağıdaki gibi kullanın: IX_TableName_col1_col2-includecol1-
includecol2

9

Yabancı anahtarlarla ilişkili endeksler için özel bir ön eke değer mi? Bana öyle geliyor, çünkü yabancı anahtarlar üzerindeki endekslerin varsayılan olarak oluşturulmadığını hatırlatıyor ve bu yüzden kayıp olup olmadıklarını görmek daha kolay.

Bunun için yabancı anahtarın adıyla eşleşen isimler kullanıyorum:

FK_[table]_[foreign_key_table]

veya aynı tabloda birden fazla yabancı anahtarın bulunduğu yerlerde

FK_[table]_[foreign_key_table]_[foreign_key_field]

1

Eski bir konuyu biliyorum ama 2 sentime değeceğimi düşündüm

  • PKC_ Birincil Anahtar, Kümelenmiş
  • PKNC_ Birincil Anahtar, Kümelenmemiş
  • NCAK_ Kümelenmemiş, Benzersiz
  • CAK_ Kümelenmiş, Benzersiz
  • NC_ Kümelenmemiş

Misal;

NCAK_AccountHeader_OrganisationID_NextDate

Burada NCAK: Kümelenmemiş, Benzersiz, AccountHeader: Tablo ve Organizasyon Kimliği_NextTarihi: Sütunlar.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.