Bagaimana saya harus memberi nama Tabel saya ketika membuat database baru?
Tunggal: Client
atau Plural: Clients
?
database-design
naming-convention
John Isaiah Carmona
sumber
sumber
person NAMED 'fred' EARNS 20,000
(di mana nama huruf besar adalah tabel). 2) menggunakan nama perusahaan itu untuk set misalnyaPERSONNEL
,PAYROLL
,ORG_CHART
, dllJawaban:
Terserah kamu. Tetaplah konsisten.
Secara pribadi saya lebih suka singular berdasarkan pada apa yang disimpan oleh setiap * baris: Pesanan, Produk, Pengguna, Barang, dll.
Ini cocok dengan pemodelan saya (melalui Pemodelan Peran Objek) di mana saya menggunakan entitas / tipe tunggal.
Edit:
Salah satu alasannya adalah bahwa jamak gagal ketika Anda memiliki tabel link:
Orders
,Products
akan memberikanOrderProducts
atauOrdersProducts
. Tidak terdengar benarAtau tabel histori (tentu saja Anda dapat menggunakan skema untuk ini):
Orders
->OrdersHistory
atau (tidak!)OrdersHistories
? BukankahOrder
->OrderHistory
lebih baik?sumber
Singular
atauPlural
?TablenameID
atauTablenameCode
atautablename_id
. Dengan nama tabel jamak, Anda berakhir denganOrders.OrdersID
(yang tidak terlihat benar) atau denganOrders.OrderID
tempat Anda menggunakan jamak untuk nama tabel tetapi berubah menjadi tunggal untuk awalan kolom.Mengenai nama tabel tunggal dan jamak, subjek tampaknya kontroversial, tetapi seharusnya tidak.
Sementara tabel adalah kumpulan dari beberapa catatan, tabel dinamai menurut definisi dari satu jenis catatan yang dikandungnya. Jika sebuah tabel diizinkan untuk memiliki nama yang berbeda dari jenis catatan yang dikandungnya, Anda bisa memberikan tabel nama jamak, sehingga Anda bisa misalnya memiliki tabel Karyawan yang berisi beberapa catatan Karyawan. Tetapi perancang SQL tidak menyediakan nama terpisah untuk tabel dan tipe catatan.
Hal-hal bekerja lebih logis untuk program berorientasi objek yang menggunakan data, jika nama tipe catatan (dan dengan ekstensi nama tabel) disimpan tunggal, karena akan sesuai dengan nama kelas yang akan Anda gunakan untuk menggambarkan satu catatan .
Jika kemudian Anda ingin mengidentifikasi koleksi dalam program, Anda dapat menggunakan jamak, atau lebih baik, menggunakan pengubah yang sesuai, seperti EmployeeList atau EmployeeArray.
Ada juga masalah dengan bentuk jamak tidak teratur untuk pembuatan kode otomatis dan programmer yang memiliki latar belakang bahasa yang berbeda atau ide tentang pembentukan jamak dalam suatu program.
Bahasa Inggris bukan bahasa pemrograman yang baik dan benar, dan mencoba membuat pernyataan database dan program sesuai dengan bahasa Inggris karena kedengarannya lebih baik membaca salah satu dari pernyataan itu adalah sebuah kesalahan.
sumber
Sama seperti jawaban @ gbn saya pikir ini adalah masalah preferensi dan sama seperti dia saya merekomendasikan bahwa setiap pilihan yang Anda buat, terapkan di mana-mana (setidaknya dalam DB itu). Konsistensi tidak sia-sia.
Namun, preferensi saya adalah bahwa bentuk jamak terdengar lebih baik dalam
SELECT
pernyataan:Maksud saya dalam hal ini, setidaknya, ada beberapa orang di meja dan beberapa dari mereka dikembalikan ke klien.
sumber
"order" adalah kata yang dipesan. "pesanan" tidak
"pengguna" adalah kata yang dilindungi undang-undang. "pengguna" tidak
"sesi" adalah kata yang dipesan. "sesi" tidak
"hasil" adalah kata yang dipesan. "hasil" tidak
"relatif" adalah kata yang dilindungi undang-undang. "saudara" tidak
...
Itu tampak seperti kata-kata umum yang mungkin masuk dalam database lini bisnis. Kata-kata jamak tampaknya kurang umum sebagai kata kunci dari kata tunggal. Oleh karena itu, mungkin bermanfaat untuk menggunakan nama tabel jamak untuk menghindari konflik dengan kata kunci SQL.
sumber
Saya percaya tabel SQL harus memiliki nama jamak. Itu hanya membaca jauh lebih baik.
Daftar catatan buku harus disebut buku. ORM harus menggunakan konvensi yang sama. Objek Buku adalah kumpulan, dan memimpin semua catatan di Tabel Buku. Objek Buku memimpin lebih dari satu catatan.
Ini membuat pengkodean lebih alami.
sumber
table.field
, jadiauthor.authorName
baik-baik saja. Dapatkan nama penulis dari tabel penulis. Ketika hanya ada satu penulis, bentuk jamak tampak buruk juga.authors.authorName
ketika hanya ada satu penulis? Itu lebih membingungkan imo. Ini tentu saja menjadi jauh lebih baik sekarang kami telah menghilangkan style kalimat mysql_ dan memiliki cara yang lebih baik untuk mengakses data :)Setelah bekerja dengan pemrograman selama beberapa tahun saya menyimpulkan bahwa pluralisasi adalah komplikasi yang tidak perlu. Pendapat saya adalah bahwa menurut filosofi KISS, seorang programmer harus berusaha untuk solusi yang paling malas dan termudah untuk semua masalah karena alasan waktu dan efisiensi. Jadi singular memberi Anda lebih sedikit pekerjaan yang dibutuhkan dalam semua skenario.
sumber
Ini hal yang sangat pribadi. Saya telah menggunakan bentuk tunggal selama 30 tahun. Tapi saya bisa melihat mengapa orang menyukai bentuk jamak. Buku - buku penulis menarik karena saya pikir penulis buku tidak salah. Sebuah buku dapat memiliki satu atau lebih penulis. Dan penulis mungkin telah menulis satu atau lebih buku (misalnya ditulis bersama). Itu juga tergantung bagaimana Anda menangani buku yang ditulis oleh lebih dari satu penulis. Saya setuju dengan jawaban lain; pilih satu dan konsisten. Sehubungan dengan masalah kata yang dipesan. Saya pikir itu tidak sulit untuk datang dengan nama solusi. pengguna -> app_user, sesi -> app_session, order -> customer_order
sumber
Kami melihat berbagai hal dari sudut pandang yang berbeda, dan saya pikir kedua kubu tersebut diidentifikasi oleh:
Singular ("user")
Orang yang membuat korelasi antara nama tabel dan fakta itu mewakili wadah, yang dapat berisi beberapa baris.
Jadi "wadah pengguna" dapat berisi beberapa baris.
Jamak ("pengguna")
Orang yang tidak membuat korelasi antara nama tabel dan fakta itu mewakili wadah. Tentu saja mereka tahu itu adalah wadah, tetapi tidak ada dalam nama.
misalnya
"karton telur" dapat memiliki beberapa telur di dalamnya tapi itu jelas karena referensi wadah ada di namanya, memberikan potensi banyak telur. Namun dengan nama tabel tunggal "pengguna" referensi wadah tidak ada dalam nama. mis. "user_container" kemungkinan akan dapat diterima untuk orang yang lebih suka nama jamak.
Saya pikir ini juga karena bertahun-tahun jamak menjadi praktik umum dan dalam sebagian besar materi pengajaran online.
Semua ini mengatakan, saya pikir secara teknis bentuk singular lebih akurat mengingat bahwa kita menamakan satu wadah, dan wadah dapat berisi banyak (atau tunggal) baris.
Tampaknya salah bagi orang-orang karena mereka secara mental menautkan nama tabel ke konten (beberapa baris membutuhkan nama jamak) daripada secara mental menghubungkan wadah yang dinamai dengan isi (sebuah wadah memungkinkan untuk banyak).
Seperti biasa meskipun sering tidak ada yang benar dan salah, dan ini lebih tentang apa yang sesuai dengan skenario, dan yang penting konsisten dengan apa pun yang Anda pilih.
Jika Anda melakukan proyek semata-mata dan tidak ada alasan nyata untuk melakukan apa pun yang Anda rasa terbaik, atau hanya preferensi. Terapkan hal yang sama ketika di tim pengembang dan baru saja mengambil keputusan dengan suara bulat.
sumber