Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Dilema Penamaan Tabel:Nama Tunggal vs. Nama Jamak

Saya memiliki pertanyaan yang sama, dan setelah membaca semua jawaban di sini saya pasti tetap dengan TUNGGAL, alasannya:

Alasan 1 (Konsep). Anda dapat memikirkan tas berisi apel seperti "AppleBag", tidak masalah jika berisi 0, 1 atau sejuta apel, itu 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 banyak tentang bahasa lisan (sebenarnya untuk menentukan apakah ada satu atau lebih).

Alasan 2 . (Kenyamanan). lebih mudah keluar dengan nama tunggal, daripada dengan nama jamak. Objek dapat memiliki bentuk jamak tidak beraturan atau bukan jamak sama sekali, tetapi akan selalu memiliki bentuk tunggal (dengan sedikit pengecualian seperti News).

  • Pelanggan
  • Pesan
  • Pengguna
  • Status
  • Berita

Alasan 3 . (Estetika dan Ketertiban). Khususnya dalam skenario master-detail, ini membaca lebih baik, menyelaraskan lebih baik dengan nama, dan memiliki urutan yang lebih logis (Master pertama, Detail kedua):

  • 1.Pesan
  • 2.Detail Pesanan

Dibandingkan dengan:

  • 1.Detail Pesanan
  • 2.Pesanan

Alasan 4 (Kesederhanaan). Gabungkan semuanya, Nama Tabel, Kunci Utama, Hubungan, Kelas Entitas... lebih baik mengetahui hanya satu nama (tunggal) daripada dua (kelas tunggal, tabel jamak, bidang tunggal, detail master tunggal-jamak.. .)

  • Customer
  • Customer.CustomerID
  • CustomerAddress
  • public Class Customer {...}
  • SELECT FROM Customer WHERE CustomerID = 100

Setelah Anda mengetahui 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 kebangsaan yang berbeda, tidak semua orang memiliki bahasa Inggris sebagai bahasa ibu. Akan lebih mudah bagi programmer bahasa Inggris non-pribumi untuk memikirkan "Repositori" daripada "Repositori", atau "Status" daripada "Status". Memiliki nama tunggal dapat mengurangi kesalahan yang disebabkan oleh kesalahan ketik, menghemat waktu dengan tidak harus berpikir "itu Anak atau Anak?", sehingga meningkatkan produktivitas.

Alasan 6 . (Kenapa tidak?). Bahkan dapat menghemat waktu menulis Anda, menghemat ruang disk Anda, dan bahkan membuat keyboard komputer Anda bertahan lebih lama!

  • SELECT Customer.CustomerName FROM Customer WHERE Customer.CustomerID = 100
  • SELECT Customers.CustomerName FROM Customers WHERE Customers.CustomerID = 103

Anda telah menyimpan 3 huruf, 3 byte, 3 klik keyboard ekstra :)

Dan akhirnya, Anda dapat memberi nama yang mengacaukan dengan nama khusus seperti:

  • Pengguna> LoginUser, AppUser, SystemUser, CMSUser,...

Atau gunakan tanda kurung siku yang terkenal [Pengguna]



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengirim email dari SQL Server?

  2. Bagaimana cara memeriksa hasil pekerjaan paket SSIS setelah menyelesaikan eksekusinya?

  3. Mendiagnosis Deadlock di SQL Server 2005

  4. Contoh SQL Server UNTUK JSON PATH (T-SQL)

  5. Prosedur tersimpan yang mengekspor data ke file csv hanya mengekspor ke satu file