Aynı sorum vardı ve burada tüm cevapları okuduktan sonra kesinlikle SINGULAR ile kalmak, nedenleri:
Sebep 1 (Kavram). "AppleBag" gibi elma içeren bir çanta düşünebilirsiniz, 0, 1 veya bir milyon elma içermesi önemli değil, her zaman aynı çanta. Tablolar sadece kaplar, tablo adı ne kadar veri içerdiğini değil, içerdiği şeyi tanımlamalıdır. Ek olarak, çoğul kavram daha çok bir konuşma dili ile ilgilidir (aslında bir veya daha fazla olup olmadığını belirlemek için).
Sebep 2 . (Kolaylık). tekil isimlerle çoğalmaktan daha kolaydır. Nesneler düzensiz çoğullara sahip olabilir veya hiç çoğul olmayabilir, ancak her zaman tekil olanlara sahip olacaktır (Haberler gibi birkaç istisna dışında).
- Müşteri
- Sipariş
- kullanıcı
- durum
- Haberler
Sebep 3 . Estetik ve Düzen. Özellikle ana ayrıntı senaryolarında, bu daha iyi okunur, ada göre daha iyi hizalanır ve daha mantıklı bir sıraya sahiptir (önce Master, Ayrıntı ikinci):
Nazaran:
Sebep 4 (Basitlik). Tablo Adları, Birincil Anahtarlar, İlişkiler, Varlık Sınıfları ... Bir araya getirmek, iki (tekil sınıf, çoğul tablo, tekil alan, tekil çoğul ana-ayrıntı) yerine tek bir adın (tekil) farkında olmak daha iyidir. .)
Customer
Customer.CustomerID
CustomerAddress
public Class Customer {...}
SELECT FROM Customer WHERE CustomerID = 100
"Müşteri" ile uğraştığınızı öğrendikten sonra, tüm veritabanı etkileşimi ihtiyaçlarınız için aynı kelimeyi kullanacağınızdan emin olabilirsiniz.
Sebep 5 . (Küreselleşme). Dünya küçülüyor, farklı milletlerden oluşan bir ekibe sahip olabilirsiniz, herkesin ana dili İngilizce değil. Anadili İngilizce olmayan bir programcının "Havuz" u "Havuzlar" veya "Durumlar" yerine "Durum" olarak düşünmesi daha kolay olacaktır. Tekil isimlere sahip olmak, yazım hatalarının neden olduğu daha az hataya yol açabilir, "Çocuk mu Çocuk mu?"
Sebep 6 . (Neden olmasın?). Hatta yazma zamanından tasarruf edebilir, disk alanından tasarruf edebilir ve hatta bilgisayarınızın klavyesini daha uzun süre dayanabilir!
SELECT Customer.CustomerName FROM Customer WHERE Customer.CustomerID = 100
SELECT Customers.CustomerName FROM Customers WHERE Customers.CustomerID = 100
3 harf, 3 bayt, 3 ekstra klavye isabeti kaydettiniz :)
Ve son olarak, aşağıdaki gibi ayrılmış isimlerle uğraşanları adlandırabilirsiniz:
- Kullanıcı> LoginUser, AppUser, SystemUser, CMSUser, ...
Veya rezil köşeli parantez kullanın [Kullanıcı]