Geliştirme grubumuzda, Birincil ve Yabancı Anahtarlar için adlandırma kuralıyla ilgili şiddetli bir tartışmamız var. Grubumuzda temelde iki düşünce okulu var:
1:
Primary Table (Employee)
Primary Key is called ID
Foreign table (Event)
Foreign key is called EmployeeID
veya
2:
Primary Table (Employee)
Primary Key is called EmployeeID
Foreign table (Event)
Foreign key is called EmployeeID
Tablonun adını sütunların hiçbirinde çoğaltmamayı tercih ederim (Bu nedenle yukarıdaki 1. seçeneği tercih ederim). Kavramsal olarak, özellik adlarında nesnenin adını kullanmadığınız diğer dillerde önerilen uygulamaların çoğu ile tutarlıdır. Yabancı anahtarı adlandırmanın EmployeeID
(veya Employee_ID
daha iyi olabileceğini) okuyucuya bunun ID
Tablonun sütunu olduğunu söylediğini düşünüyorum Employee
.
Bazıları seçenek 2'yi tercih eder, burada birincil anahtarı tablo adı ile ön ek olarak adlandırırsınız, böylece sütun adı veritabanı genelinde aynı olur. Bu noktayı görüyorum, ancak artık birincil anahtarı görsel olarak yabancı anahtardan ayıramazsınız.
Ayrıca, tablo adının sütun adında bulunmasının gereksiz olduğunu düşünüyorum, çünkü tabloyu bir varlık ve bir sütunu o varlığın bir özelliği veya özniteliği olarak düşünürseniz, onu Employee
değil EmployeeID
bir çalışanın niteliği. Bir onun ya benim astı sormuyorsun PersonAge
veya PersonGender
olduğunu. Ona Yaşının kaç olduğunu soruyorum.
Dediğim gibi, bu şiddetli bir tartışma ve biz bu konuda sürekli devam ediyoruz. Yeni bakış açıları edinmekle ilgileniyorum.