MySQL adalah sebuah sistem manajemen database relasional (RDBMS) berbasis SQL (Structured Query Language) yang bersifat open-source dengan model client-server. Untuk memahami dari definsi MySQL tersebut, mari kita perluas pembahasannya dengan mengenal apa itu RDBMS dan SQL.
Apa itu RDBMS ?
RDBMS merupakan software untuk membuat dan mengelola database berdasarkan model relasional. Di bawah ini merupakan sejumlah software yang terkait dalam RDBMS:
Database
Database adalah sekumpulan data yang terstruktur yang berfungsi sebagai tempat untuk menyimpan dan mengelola data.
Relasional
Kata “relasional” berarti data yang disimpan di dataset dikelola sebagai tabel. Setiap tabel saling terkait. Jika software tidak mendukung model data relasional, maka yang dipanggil hanyalah DBMS.
Open Source
Suatu software dapat dikatakan open source, jika Anda bebas menginstall, menggunakan, bahkan memodifikasi source code-nya agar software bisa diatur dan diubah sesuai keinginan dan kebutuhan anda. Namun, aktivitas yang Anda lakukan juga ditentukan oleh GPL (GNU Public License). Lisensi berbayar tersedia bagi anda yang menginginkan fleksibilitas terhadap kepemilikan dan bantuan tingkat lanjut (premium).
Model Client-Server
Komputer yang memasang dan menjalankan software RDBMS disebut sebagai client. Agar bisa mengakses data, komputer harus terhubung dengan server RDBMS terlebih dulu. Keadaan seperti inilah yang disebut client-server.
MySQL adalah salah satu pilihan software RDBMS. Terkadang RDBMS dan MySQL dianggap sama karena popularitas MySQL. Aplikasi web terkenal yang menggunakan MySQL untuk menyimpan data adalah: Facebook, Twitter, YouTube, Google, dan Yahoo.
Apa itu SQL ?
SQL dan MySQL adalah dua software yang berbeda. MySQL merupakan salah satu nama brand terpopuler dari software RDBMS yang menerapkan model client-server. SQL merupakan suatu bahasa yang dipakai di dalam pengambilan data pada relational database atau database yang terstruktur.
Jadi, baik client maupun server, keduanya menggunakan bahasa spesifik domain – Structured Query Language (SQL). Software RDBMS selalu menggunakan SQL sebagai bahasa utama untuk berinteraksi dengan database. MySQL sendiri ditulis dalam C dan C++. Walaupun begitu, terkadang juga ditulis dalam bahasa pemrograman yang lain.
BACA JUGA : Framework : Framework : Definisi, Fungsi, dan jenis-jenisnya
SQL bertugas untuk memberitahukan server tentang apa yang harus dilakukannya terhadap data. Sebagai contoh seperti password WordPress. Anda memasukkan password atau kode tersebut ke sistem untuk mendapatkan akses login ke dashboard. Dalam hal ini, SQL statement menginstruksikan server untuk menjalankan operasi tertentu:
- Data query: meminta informasi yang spesifik dari database yang sudah ada.
- Manipulasi data: menambahkan, menghapus, mengubah, menyortir, melakukan operasi lainnya untuk memodifikasi data, value, atau visual.
- Identitas data: menentukan tipe data, misalnya mengubah data numerik menjadi data integer. Selain itu, juga menentukan schema atau hubungan dari masing-masing tabel yang ada di database.
- Data access control: menyediakan metode keamanan untuk melindungi data, termasuk dalam menentukan siapa yang boleh melihat atau menggunakan informasi yang tersimpan di database.
Apa Itu MySQL ?
MySQL adalah sebuah manajemen basis data yang menggunakan perintah dasar SQL. Jadi MySQL adalah database management system yang menggunakan bahasa SQL sebagai bahasa penghubung antara perangkat lunak aplikasi dengan database server.
MySQL merupakan DBMS yang bersifat open source dengan dua bentuk lisensi, yaitu Free Software dan Shareware. Jadi MySQL adalah database server yang gratis dengan lisensi GNU General Public License (GPL) sehingga dapat Anda pakai untuk keperluan pribadi atau komersil tanpa harus membayar lisensi yang ada.
Cara Kerja MySQL
Struktur dasar dari client-server merupakan Satu atau banyak perangkat terhubung ke server melalui network atau jaringan khusus.
Setiap client dapat membuat permintaan (request) dari antarmuka pengguna grafis atau graphical user interface (GUI) di layar, sedangkan server akan membuat output yang diinginkan. Idealnya, proses utama yang terjadi di ruang lingkup MySQL sama, yaitu:
- MySQL membuat database untuk menyimpan dan memanipulasi data, serta menentukan keterkaitan antara masing-masing tabel.
- Client membuat permintaan (request) dengan mengetikkan pernyataan SQL yang spesifik di MySQL.
- Aplikasi server akan merespons dengan memberikan informasi yang diminta. Informasi ini nantinya muncul di sisi klien.
- Dari sisi client, biasanya akan diberitahukan GUI mana yang harus digunakan. Semakin ringan dan user friendly suatu GUI, maka semakin cepat dan mudah aktivitas manajemen data yang dimilikinya. Beberapa MySQL GUI terpopuler meliputi MySQL WorkBench, SequelPro, DBVisualizer, dan Navicat DB Admin Tool.
Beberapa MySQL GUI terpopuler ada yang gratis dan ada juga yang berbayar, ada yang dijalankan secara eksklusif di macOS dan ada juga yang kompatibel dengan sistem operasi lainnya. Client memilih GUI berdasarkan kebutuhannya. Untuk manajemen database, termasuk WordPress, GUI yang paling sesuai adalah phpMyAdmin.
Kelebihan dan Kekurangan MySQL
Walaupun cukup populer, MySQL juga memiliki beberapa kelebihan dan kekurangan dibandingkan dengan database server lainnya. Adapun kelebihan dan kekurangannya antara lain :
Kelebihan MySQL
MySQL mempunyai beberapa kelebihan yang bisa Anda manfaatkan untuk mengembangkan software yang handal seperti:
1. Mendukung Integrasi Dengan Bahasa Pemrograman Lain.
Website atau perangkat lunak terkadang dikembangkan dengan menggunakan berbagai macam bahasa pemrograman. Maka dari itu, MySQL bisa membantu Anda untuk mengembangkan perangkat lunak yang lebih efektif dan tentu saja lebih mudah dengan integrasi antara bahasa pemrograman.
2. Tidak Membutuhkan RAM Besar.
MySQL dapat dipasang pada server dengan spesifikasi kecil. Jadi tidak perlu khawatir jika Anda hanya mempunyai server dengan kapasitas 1 GB karena Anda masih bisa menggunakannya sebagai database Anda.
3. Mendukung Multi User.
Dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa membuatnya crash atau berhenti bekerja. Ini dapat Anda manfaatkan ketika mengerjakan proyek yang sifatnya tim sehingga seluruh tim dapat bekerja dalam waktu bersamaan tanpa harus menunggu user lain selesai.
4. Bersifat Open Source
MySQL adalah sistem manajemen database gratis yang berlisensi GPL di bawah pengelolaan Oracle sehingga kualitasnya termasuk baik. Selain itu, Anda dapat memodifikasi source code sesuai dengan keinginan tanpa perlu mengkhawatirkan adanya batasan, termasuk opsi untuk mengupgrade paket saat ini ke versi premium berbayar.
5. Struktur Tabel yang Fleksibel.
Mempunyai struktur tabel yang mudah dipakai dan fleksibel. Contohnya saat memproses ALTER TABLE dan lain sebagainya. Manajemen database ini juga tergolong lebih mudah digunakan. jika dibandingkan dengan database lain
6. Variasi Tipe Data.
Mendukung tipe data yang bervariasi seperti float, integer, date, char, text, timestamp, double, dan lain-lain. Jadi manajemen database sistem ini sangat membantu Anda untuk mengembangkan perangkat lunak yang berguna untuk pengelolaan database di server.
7. Keamanan yang Terjamin.
Keamanan data menjadi salah satu prioritas utama software RDBMS. Dengan Access Privilege System dan User Account Management yang dimilikinya, MySQL menetapkan level keamanan tingkat tinggi. Verifikasi berbasis host dan enkripsi password juga tersedia.
Kekurangan MySQL
Walaupun memiliki banyak kelebihan, MySQL juga mempunyai beberapa kelemahan seperti :
1. Kurang Cocok untuk Aplikasi Game dan Mobile
Anda yang ingin mengembangkan aplikasi game atau perangkat mobile ada baiknya jika mempertimbangkan lagi jika ingin menggunakan MySQL. Kebanyakan pengembang game maupun aplikasi mobile tidak menggunakannya karena memang database manajemen sistem ini masih kurang bagus dipakai untuk sistem aplikasi tersebut.
2. Sulit Mengelola Database yang Besar
Jika Anda ingin mengembangkan aplikasi atau sistem di perusahaan dengan database yang cukup besar, ada baiknya jika menggunakan database manajemen yang lain. MySQL hanya dikembangkan supaya ramah dengan perangkat yang mempunyai spesifikasi rendah dan tidak memiliki fitur yang lengkap seperti aplikasi lainnya
3. Technical Support yang Kurang Bagus
Sifatnya yang open source terkadang membuat aplikasi tidak menyediakan technical support yang memadai. Hal ini membuat pengguna kesulitan. Apalagi jika pengguna mengalami masalah yang berhubungan dengan pengoperasian perangkat lunak tersebut dan membutuhkan bantuan technical support.