Jika Anda pernah membuka database WordPress, pasti melihat nama tabel seperti wp_posts, wp_users, dan wp_options. Awalan wp_ di depan setiap nama tabel itulah yang disebut prefix tabel. Pertanyaannya: apakah kita perlu meniru praktik ini di proyek sendiri? Jawabannya, seperti banyak hal dalam pemrograman, adalah “tergantung”. Mari kita bedah untung dan ruginya.

Apa Itu Prefix Tabel?
Prefix tabel adalah potongan teks pendek yang ditambahkan di depan setiap nama tabel dalam sebuah database, biasanya diakhiri garis bawah. Misalnya, alih-alih menamai tabel produk, pesanan, dan pelanggan, kita menamainya toko_produk, toko_pesanan, dan toko_pelanggan.
CREATE TABLE toko_produk (
id INT PRIMARY KEY AUTO_INCREMENT,
nama VARCHAR(60),
harga INT
);
CREATE TABLE toko_pesanan (
id INT PRIMARY KEY AUTO_INCREMENT,
produk_id INT,
qty INT
);
Keuntungan Memakai Prefix
- Berbagi satu database untuk banyak aplikasi. Pada hosting shared yang membatasi jumlah database, prefix memungkinkan beberapa aplikasi hidup berdampingan di satu database tanpa nama tabel bentrok. Aplikasi A memakai
a_users, aplikasi B memakaib_users. - Menghindari bentrok dengan kata kunci. Beberapa nama seperti
order,group, atauuseradalah kata kunci SQL yang bisa memicu error. Prefix sepertiapp_ordermenghindarkan masalah ini. - Sedikit lapisan keamanan. Prefix yang tidak umum (bukan
wp_bawaan) menyulitkan serangan otomatis yang menebak nama tabel standar. Ini bukan pengaman utama, tetapi menambah sedikit hambatan. - Pengelompokan logis. Prefix seperti
log_,ref_, atautrx_membantu mengelompokkan tabel berdasarkan fungsinya sehingga daftar tabel lebih mudah dipindai.
Kerugian Memakai Prefix
- Query jadi lebih panjang. Menulis
SELECT * FROM toko_pesananberulang kali lebih melelahkan daripadaSELECT * FROM pesanan. - Redundan bila database sudah dipisah. Jika tiap aplikasi sudah punya database sendiri, prefix menjadi mubazir — database itu sendiri sudah menjadi “wadah” pemisah.
- Menyulitkan migrasi. Mengganti prefix di kemudian hari berarti mengubah nama semua tabel sekaligus seluruh query yang merujuknya.
Kapan Sebaiknya Memakai Prefix?
| Situasi | Rekomendasi |
|---|---|
| Banyak aplikasi berbagi satu database | Pakai prefix |
| Membuat plugin/tema (seperti WordPress) | Pakai prefix (ikuti konvensi) |
| Aplikasi tunggal dengan database sendiri | Umumnya tidak perlu |
| Nama tabel berpotensi bentrok kata kunci SQL | Pertimbangkan prefix |
Praktik Terbaik Penamaan Tabel
Terlepas dari soal prefix, ada beberapa prinsip penamaan yang baik:
- Gunakan huruf kecil dan garis bawah (
snake_case), konsisten di seluruh proyek. - Pilih satu gaya untuk bentuk jamak/tunggal — entah semua jamak (
products) atau semua tunggal (product) — lalu patuhi. - Beri nama yang deskriptif dan bebas singkatan membingungkan.
- Untuk tabel penghubung (pivot), gabungkan kedua nama, misalnya
produk_kategori.
Contoh Kasus Nyata: Migrasi ke Prefix
Misalkan Anda punya aplikasi kasir tanpa prefix, lalu klien meminta menambahkan modul inventaris di database yang sama. Untuk mencegah bentrok, Anda bisa menambahkan prefix pada tabel baru saja (inv_barang, inv_stok) tanpa mengubah tabel lama. Bila ingin merapikan semuanya, mengganti nama tabel dilakukan dengan RENAME TABLE:
RENAME TABLE produk TO pos_produk,
pesanan TO pos_pesanan,
pelanggan TO pos_pelanggan;
Ingat, setelah rename Anda wajib memperbarui seluruh query di kode aplikasi.
Penutup
Jadi, perlukah prefix tabel? Perlu bila Anda berbagi database antar-aplikasi atau membuat produk yang dipasang di database orang lain (plugin, tema, CMS). Tidak wajib bila aplikasi Anda berdiri sendiri dengan database khusus. Yang terpenting bukan ada-tidaknya prefix, melainkan konsistensi penamaan di seluruh proyek.
Referensi: untuk pendalaman lebih lanjut, kunjungi dokumentasi resmi MySQL.

