Seberapa Pentingkah Prefix pada Database MySQL?

Senin, 14 Okt 2019

Pada saat anda melakukan installasi wordpress untuk hosting sendiri ataupun localhost, tentu anda ingat saat mendapati opsi menggunakan prefix atau  tidak. Sebenarnya, tidak hanya wordpress saja. Banyak aplikasi lain yang menggunakan database seperti joomla juga memiliki opsi untuk pembuatan prefix. 

Apakah prefix itu?

Prefix adalah sebuah huruf atau sekelompok huruf untuk membentuk awalan nama tabel. Sehingga setiap tabel anda nanti akan ditambahi kata sesuai dengan prefix yang anda buat. Contoh prefix :
tbl_ sehingga suatu tabel dengan nama posts ditambah prefix menjadi tbl_posts
Prefix pada Database MySQL
Sumber gambar Pixabay

Mengapa Perlu Prefix?

Beberapa sumber membeberkan alasan penggunaan prefix. Setidaknya ada tiga alasan penggunaan prefix, antara lain sebagai berikut:

Memungkinkan Untuk Installasi Banyak Aplikasi dengan Satu Database

Seringkali kita dengar bahwa kita bisa membuat blog wordpress lebih dari satu dalam satu hosting. Misalkan anda ingin membuat Blog A dan B. Anda dapat menggunakan sebuah database yang sama, tetapi pada saat installasi tabel anda harus membuat prefix yang berbeda. 

Hal ini untuk menghindari tercampurnya data dari blog A ke blog B ataupun sebalinknya. Contohnya ilustrasi berikut:
- Misalnya pada blog A anda berikan prefix pertama_ maka tabelnya akan menjadi pertama_posts 
- blog B anda berikan prefix kedua_ maka tabelnya akan menjadi kedua_posts

Tentu saja tidak hanya untuk wordpress, apabila anda adalah seorang programmer. Anda bebas menggunakan prefix untuk membuat awalan tabel untuk aplikasi berbeda dalam satu database yang sama.

Meningkatkan Keamanan Data

Pemberian prefix pada nama tabel diyakini akan membuat penyerang sistem lebih susah. Sebab nama tabel dari suatu sistem tidak sama dengan nama tabel pada sistem yang lain. 

Penyerang yang terbiasa menggunakan tehnik sql injection wajib menebak dulu apa nama tabel yang tersedia. Kembali pada contoh wordpress misalnya. Bila anda membuat situs dengan cms wordpress tentu akan sama saja tabelnya dengan orang lain yang menggunakan wordpress juga. Bila penyerang berhasil menyerang dan menguasai situs orang tersebut maka kemungkinan besar penyerang akan mudah menguasai situs anda pula. Sebab sistem yang digunakan beserta nama tabel databasenya sama.

Tapi lain ceritanya apabila anda menggunakan prefix yang berbeda dengan situs yang dibuat orang lain tersebut. Maka penyerang harus menebak apa nama tabel anda setelah anda tambahi prefix.

Sayangnya anggapan keyakinan diatas hanya sedikit yang mendukung. Banyak kasus dimana penyerang tetap saja bisa menguasai website walaupun sudah menggunakan prefix yang berbeda. Sebab ketika penyerang sudah berhasil masuk kedalam sistem database, maka nama tabel bisa terlihat walaupun diberi prefix atau tidak.

Membedakan Tabel View dan Function

Ada yang berpendapat bahwa pemberian prefix akan mempermudah programmer membedakan mana tabel, view ataupun function. Mungkin pendapat ini ada benarnya tapi tidak harus demikian. Kita tidak diharuskan membuat prefix hanya untuk membedakannya dengan view ataupun function. 

Bila kita yang membuat sendiri view dan function maka kita bisa mengetahuinya dengan mudah menggunakan database viewer misalnya seperti dengan heidiSQL, MysqlWorkbench, bahkan phpmyadmin pun juga bisa.

Dari ketiga alasan diatas yang dikumpulkan dari berbagai sumber, maka alasan yang paling kuat adalah pada alasan nomor satu. Sehingga anda tidak perlu membuat banyak database untuk menampung sistem dengan tabel ER yang sama. Anda bisa membuat beberapa sistem dalam sebuah database, sehingga mempermudah anda dalam mengintegrasikan datanya apabila diperlukan. Tetapi untuk membedakan penggunaan masing-masing tabel wajib ditambahkan prefix.
logoblog

Tidak ada komentar:

Posting Komentar