Saklanan prosedürleri adlandırmak için çeşitli kurallar gördüm.
Bazı kişiler sproc adının önüne usp_, diğerlerine uygulama adı için bir kısaltma ve diğerlerine de bir sahip adı ekleyebilir. Gerçekten kastetmediğiniz sürece SQL Server'da sp_ kullanmamalısınız.
Bazıları proc ismine bir fiil ile başlar (Al, Ekle, Kaydet, Kaldır). Diğerleri varlık adlarını vurgular.
Yüzlerce sprocs içeren bir veritabanında, zaten var olduğunu düşündüğünüzde gezinmek ve uygun bir sproc bulmak çok zor olabilir. Adlandırma kuralları bir sproc'u bulmayı kolaylaştırabilir.
Bir adlandırma kuralı kullanıyor musunuz? Lütfen açıklayın ve neden diğer seçeneklere göre tercih ettiğinizi açıklayın.
Cevapların özeti:
- Herkes adlandırma tutarlılığını savunuyor gibi görünüyor, bu da herkesin aynı adlandırma kuralını kullanmasının belirli bir adlandırma kuralından daha önemli olabileceğini düşünüyor.
- Ön ekler: Bir çok kişi usp_ veya benzer bir şey kullanırken (ancak nadiren sp_), diğerleri veritabanı veya uygulama adını kullanır. Akıllı bir DBA, genel CRUD zincirlerini raporlama veya görevler için kullanılanlardan ayırmak için gen, rpt ve tsk kullanır.
- Fiil + İsim, İsim + Fiil'den biraz daha popüler görünüyor. Bazı kişiler fiiller için SQL anahtar kelimelerini (Seç, Ekle, Güncelle, Sil) kullanırken, diğerleri Get ve Ekle gibi SQL olmayan fiilleri (veya bunlar için kısaltmalar) kullanır. Bazıları tekli ve çoğul isimler arasında bir ya da daha fazla kaydın alınmakta olup olmadığını belirtmek için ayrım yapar.
- Sonunda, uygun olduğunda ek bir ifade önerilmektedir. GetCustomerById, GetCustomerBySaleDate.
- Bazı kişiler ad bölümleri arasında alt çizgi kullanır ve bazıları alt çizgiden kaçınır. app_ Get_Customer ve appGetCustomer karşılaştırması - Sanırım bu bir okunabilirlik meselesi.
- Büyük zincir zincirleri koleksiyonları Oracle paketlerine veya Management Studio (SQL Server) çözümlerine ve projelerine veya SQL Server şemalarına ayrılabilir.
- Anlaşılmaz kısaltmalardan kaçınılmalıdır.
Neden yaptığım yanıtı seçiyorum: ÇOK iyi yanıt var. Hepinize teşekkür ederim! Gördüğünüz gibi, sadece birini seçmek çok zor. Seçtiğim kişi benimle rezonansa girdi. Onun tanımladığı aynı yolu izledim - Fiil + İsim kullanmaya çalışıyorum ve sonra Müşteri için geçerli olan tüm dişleri bulamıyorum.
Mevcut bir sproc'u bulabilmek veya var olup olmadığını belirleyebilmek çok önemlidir. Birisi yanlışlıkla başka bir isimle yinelenen bir eşleşme yaratırsa ciddi sorunlar ortaya çıkabilir.
Genellikle yüzlerce dişli içeren çok büyük uygulamalarda çalıştığım için, bulması en kolay adlandırma yöntemini tercih ediyorum. Daha küçük bir uygulama için, yöntem adları için genel kodlama kuralını izlediği için Verb + Noun'u savunabilirim.
Ayrıca, çok kullanışlı olmayan usp_ yerine uygulama adının ön ekini savunuyor. Birkaç kişinin belirttiği gibi, bazen veritabanı birden çok uygulama için sprocs içerir. Bu nedenle, uygulama adının ön eki, zincir dişlilerinin ayrılmasına yardımcı olur VE DBA'ların ve diğerlerinin sproc'un hangi uygulama için kullanıldığını belirlemesine yardımcı olur.