it-swarm.asia

Plural vs Singular Table Name

Bagaimana saya harus memberi nama Tabel saya ketika membuat database baru?

Singular: Client atau Plural: Clients?

43

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) tempat saya menggunakan entitas/tipe tunggal.

Edit:

Salah satu alasannya adalah bahwa jamak gagal ketika Anda memiliki tabel tautan:
Orders, Products akan memberikan OrderProducts atau OrdersProducts. Tidak terdengar benar

Atau tabel histori (tentu saja Anda dapat menggunakan skema untuk ini):
Orders -> OrdersHistory atau (tidak!) OrdersHistories? Bukankah Order-> OrderHistory lebih baik?

44
gbn

Mengenai nama tabel tunggal dan jamak, subjek tampaknya kontroversial, tetapi seharusnya tidak.

Sementara tabel adalah kumpulan 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 yang 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.

8
Bruce Patin

Sama seperti @ gbn jawaban Saya pikir ini adalah masalah preferensi dan seperti dia saya merekomendasikan bahwa setiap pilihan yang Anda buat, terapkan di mana-mana (setidaknya dalam DB itu). Konsistensi tidak sia-sia.

Preferensi saya, bagaimanapun, adalah bahwa jamak terdengar lebih baik dalam pernyataan SELECT:

SELECT Id, Name, Status 
FROM   Persons
WHERE  Status <> 5  --5 meaning deleted

Maksud saya dalam kasus ini, setidaknya, ada beberapa orang di meja dan beberapa dari mereka dikembalikan ke klien.

5
Andrei Rînea

"order" adalah kata yang dipesan. "pesanan" tidak

"pengguna" adalah kata yang dilindungi undang-undang. "pengguna" tidak

"sesi" adalah kata yang dilindungi undang-undang. "sesi" tidak

"hasil" adalah kata yang disediakan. "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 daripada kata tunggal. Oleh karena itu, mungkin bermanfaat untuk menggunakan nama tabel jamak untuk menghindari konflik dengan kata kunci SQL.

5
Neil McGuigan

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 dalam Tabel Buku. Objek Buku memimpin lebih dari satu catatan.

Ini membuat pengkodean lebih alami.

select name, publication_date from books where publication_date > '2000-01-01';

books = Books()
for book in books.get("publication_date >= '2000-01-01'"):
    print book.name
1
dlink

Setelah bekerja dengan pemrograman selama beberapa tahun saya menyimpulkan bahwa pluralisasi adalah komplikasi yang tidak perlu. Pendapat saya adalah bahwa sesuai dengan filosofi KISS seorang programmer harus berusaha untuk solusi yang paling malas dan termudah untuk semua masalah karena alasan waktu dan efisiensi. Dengan demikian singular memberi Anda lebih sedikit pekerjaan yang dibutuhkan dalam semua skenario.

1
ColacX

Kami melihat hal-hal dari sudut pandang yang berbeda, dan saya pikir kedua kubu 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.

Plural ("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 wadahnya 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 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 konten (sebuah wadah memungkinkan untuk banyak).

Seperti biasa meskipun seringkali 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 menurut Anda terbaik, atau hanya preferensi. Terapkan hal yang sama ketika di tim dev dan baru saja mengambil keputusan dengan suara bulat.

0
James

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 (mis. 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

0
Ray