Saya memiliki pertanyaan yang sama, dan setelah membaca semua jawaban di sini saya pasti tetap dengan SINGULAR, alasan:
Alasan 1 (Konsep). Anda bisa memikirkan tas berisi apel seperti "AppleBag", tidak masalah jika mengandung 0, 1 atau jutaan apel, selalu tas yang sama. Tabel hanya itu, wadah, nama tabel harus menggambarkan apa yang dikandungnya, bukan berapa banyak data yang dikandungnya. Selain itu, konsep jamak lebih tentang bahasa yang diucapkan (sebenarnya untuk menentukan apakah ada satu atau lebih).
Alasan 2 . (Kenyamanan). lebih mudah keluar dengan nama tunggal, daripada dengan yang jamak. Objek dapat memiliki bentuk jamak tidak beraturan atau tidak jamak sama sekali, tetapi akan selalu memiliki bentuk jamak tunggal (dengan beberapa pengecualian seperti Berita).
- Pelanggan
- Memesan
- Pengguna
- Status
- Berita
Alasan 3 . (Estetika dan Ketertiban). Khususnya dalam skenario master-detail, ini berbunyi lebih baik, menyelaraskan lebih baik dengan nama, dan memiliki urutan lebih logis (Master terlebih dahulu, Detail kedua):
Dibandingkan dengan:
Alasan 4 (Kesederhanaan). Secara keseluruhan, Nama Tabel, Kunci Utama, Hubungan, Kelas Entitas ... lebih baik untuk menyadari hanya satu nama (tunggal) daripada dua (kelas tunggal, tabel jamak, bidang tunggal, rincian-tunggal master jamak ..) .)
Customer
Customer.CustomerID
CustomerAddress
public Class Customer {...}
SELECT FROM Customer WHERE CustomerID = 100
Setelah Anda tahu bahwa Anda berurusan dengan "Pelanggan", Anda dapat yakin bahwa Anda akan menggunakan kata yang sama untuk semua kebutuhan interaksi basis data Anda.
Alasan 5 . (Globalisasi). Dunia semakin kecil, Anda mungkin memiliki tim dari berbagai negara, tidak semua orang memiliki bahasa Inggris sebagai bahasa ibu. Akan lebih mudah bagi seorang programmer bahasa Inggris non-pribumi untuk memikirkan "Repositori" daripada "Repositori", atau "Status" daripada "Statuses". Memiliki nama tunggal dapat menyebabkan lebih sedikit kesalahan yang disebabkan oleh kesalahan pengetikan, menghemat waktu dengan tidak harus berpikir "apakah ini Anak atau Anak?", Maka meningkatkan produktivitas.
Alasan 6 . (Kenapa tidak?). Bahkan dapat menghemat waktu menulis, menghemat ruang disk, dan bahkan membuat keyboard komputer Anda lebih lama!
SELECT Customer.CustomerName FROM Customer WHERE Customer.CustomerID = 100
SELECT Customers.CustomerName FROM Customers WHERE Customers.CustomerID = 100
Anda telah menyimpan 3 huruf, 3 byte, 3 hit keyboard ekstra :)
Dan akhirnya, Anda dapat memberi nama orang-orang yang mengacaukan nama-nama yang dipesan seperti:
- Pengguna> LoginUser, AppUser, SystemUser, CMSUser, ...
Atau gunakan kurung persegi yang terkenal [Pengguna]