Penamaan Yang Baik Dalam Mendesain Database

Penamaan database yang baik dan benar

Sebagai programmer yang pernah bekerja sebagai backend developer saya akan menjelaskan sedikit tentang penamaan saat membuat struktur database yang baik dan benar menurut saya. Penamaan yang baik bermanfaat agar struktur database dapat dipahami dengan mudah oleh programmer lain. Jangan sampai kita membuat database tapi susah dipahami oleh orang lain.

Barang siapa mudahkan urusan orang lain. Allah akan mudahkan urusan dia

Mari kita bahas satu persatu bagaimana cara penamaan struktur database yang baik terutama dalam database relational seperti MySql, dan akan saya bahas juga manfaatnya ketika menggunakan framework Laravel. Tapi sebelum itu kita sepakati terlebih dahulu penamaan yang baik adalah :

  • menggunakan bahasa inggris,
  • menggunakan underscore (snake_case),
  • huruf kecil, dan
  • bukan singkatan.

Untuk singkatan boleh saja asalkan singkatannya umum atau baku misalnya lat, lng, apa lagi ya.. hmmmm gitu lah pokonya

1. Penamaan Database

  • Untuk penamaan database tidak ada aturan tertentu yang terpenting adalah nama database harus mereferensikan projeknya. Misal kita sedang membuat project simpan pinjam buku di perpustakaan, maka jangan sampai membuat database dengan nama “penjualan_buku”.

2. Penamaan Tabel

  • Penamaan tabel menggunakan kata dalam bentuk jamak sangatlah disarankan karena memang bentuknya jamak. misal tabel “books” yang didalamnya terdapat banyak data buku jadi kita sebaiknya tidak menamainnya dengan “book”.
  • Jika terdapat dua kata gunakanlah underscore sebagai pemisahnya misal “order_details“.

3. Penamaan Tabel Relasi

  • Untuk relasi One To Many Formatnya singular_plural misal kita akan membuat tabel alamat user maka nama tabel yang tepat adalah “user_addresses” bukan “address_user”.
  • Untuk Relasi Many To Many Formatnya singular_singular namun diurutkan berdasarkan abjad, misal kita ingin membuat tabel relasi antara “books” dan “categories” atau biasa disebut pivot table dimana 1 buku bisa memiliki banyak kategori jadi nama tabelnya adalah “book_category“.

3. Penamaan Kolom

  • Tidak menyebutkan nama tabel, misal “book_name”. Yang benar adalah cukup “name“.
  • Untuk Primary Key menggunakan “id” tidak perlu menyebutkan nama tabelnya misal “id_book”.
  • Untuk Foreign Key formatnya “singlular_id” jadi nama tabel relasinya dalam bentuk singular diikuti “_id” misal “user_id“, “book_id“, jangan dibalik jadi “id_book”

Mungkin sekian saja untuk pembahasan penamaan dalam pembuatan database, untuk manfaatnya dalam framework laravel akan saya buatkan artikel terpisah agar tidak terlalu panjang, Jika ada yang perlu dibenahi silahkan tulis di kolom komentar 😀

Sekian dan terima kasih.

Update

Well, setelah sharing di grup facebook ternyata banyak yang setuju dan juga tidak setuju dengan struktur seperti ini dengan alasan, ribet ketika join banyak tabel, dimarahin tim data science, bahkan katanya jika dibuat seperti ini akan mudah ditebak oleh hacker. Terlepas dari itu semua saya masih lebih memilih struktur seperti ini haha.

2 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *