Mungkin teman-teman ingin pemula dalam bidang IT atau basis data, terutama dalam MySQL, namun ketika mempelajari ke sumber lain bahasa yang digunakan terlalu berat. Kali ini kita akan coba mengurai dan mengenalkan MySQL dengan cara yang lebih sederhana.
Basis Data
Jika ingin diibaratkan secara sederhana, database atau basis data itu bisa kita bayangkan seperti lemari. Lemari memiliki ruang-ruang untuk menyimpan barang/data. Setiap lemari memiliki ciri khas, ada yang ngeblong untuk pakaian, ada juga yang ada lokernya dan dipisah-pisah tiap bagian.
MySQL
Nah, jika basis data adalah lemari, MySQL adalah salah satu merk lemari yang ada dipasaran. Yang membuatnya menarik, MySQL ini bisa kita gunakan dengan gratis tanpa perlu membayar lisensi kepada pengembangnya.
Hal “gratis” atau freeware dan compatible di banyak platform ini tentu menjadi alasan kuat kenapa MySQL bisa sebesar ini.
MySQL sebagai Relational Database
MySQL dikatakan sebagai RDBMS (Relational Database Manajemen System). Supaya tak bingung, gambarannya seperti ini.
Relational berarti dalam MySQL data-data itu saling bereleasi atau ada keterkaitan. Jika teman-teman pernah mencoba untuk menggunakan MySQL sebagai basis data aplikasi yang teman-teman buat, atau teman-teman pernah membaca di buku atau sumber yang lain, mungkin teman-teman melihat disana ada tabel-tabel yang dibuat.
Nah, setiap tabel ada yang namanya Primary Key dan Foreign Key. Key-key tersebut digunakan untuk merelasikan atau mengaitkan satu tabel dengan tabel yang lain. Nah, jadi itu kenapa MySQL dikatakan sebagai relasional database.
Jika teman-teman ingin mempelajari lebih tentang perbedaan primary key mungkin bisa membaca tulisan saya yang ini: Perbedaan superkey, candidate key dan primary key beserta contoh
MySQL bersifat Client-Server
Bayangan orang awam, server itu ya pusatnya data. Ya memang kurang lebih begitu. Jika teman-teman adalah mahasiswa baru di sebuah program studi komputer, mungkin masih meraba-raba tentang apa itu server hakekatnya.
Sebagai gambaran sederhana, misalnya kita sedang mengunduh sebuah lagu dari internet menggunakan smartphone, nah smartphone kita berperan sebagai client dan tempat kita mendownload berperan sebagai server. Terus kita? Kita kan user-nya.
Itinya, sederhananya, server adalah yang memberikan layanan, dan client adalah yang menerima atau menggunakan layanan tersebut.
MySQL bersifat client-server, dalam artian MySQL bisa diinstall dan digunakan sebagai penyedia data yang kemudian dalam perangkat yang lain dapat juga diinstall mysql yang hanya menggunakan data/mengakses data dari perangkat server yang telah disediakan.
Misal, saya menginstall MySQL di komputer A dan membuat database makanan. Didalam database tersebut saya membuat tabel yang berisi data-data makanan.
Kemudian di komputer B, saya menginstall MySQL juga lalu pada jaringan yang sama (atau bisa pada jaringan publik) saya mengakses data makanan yang disediakan oleh komputer A.
Komputer A berperan sebagai server, komputer B berperan sebagai client. Bisa dipahami kan? Ada gambaran?
Dokumentasi
Sebenarnya banyak sekali cara kita belajar MySQL melalui dokumentasi yang telah disediakan. Hanya saja kadang-kadang untuk memahami dokumentasi juga tidak semua orang bisa (atau lebih tepatnya mau).
Namun, menurut saya untuk belajar apapun itu sangat bagus kalau kita mau membaca dokumentasinya. Alih-alih untuk membuang waktu berhari-hari bereksperimen, lebih baik kita meluangkan beberapa jam untuk membaca dokumentasinya.
MySQL menyediakan dokumentasi teknis yang sangat lengkap di situs resminya. Bahkan, di MySQL yang sudah terinstall kita pun masih bisa mengakses dokumentasi hanya dengan mengetikan perintah: help.
Jadi, kalau teman-teman mengalami kendala dalam praktik, bisa membuka dokumentasi lalu dipelajari, atau bisa juga Googling dan mencari di blog saya misalnya. hehe.
Perintah-perintah Internal pada MySQL
Kalau kita tadi membahas mengenai lemari, merk lemari tidak hanya satu tapi banyak. Basis data juga gitu, ada banyak sekali aplikasi yang bisa digunakan. Selain MySQL, bisalnya ada PostgreSQL, Oracle, dan lain sebagainya.
Nah, dalam MySQL ada perintah-perintah internal yang belum tentu bisa berjalan pada basis data yang lain. Mungkin di tempat lain ada, tetapi caranya beda juga bisa jadi.
Perintah-perintah internal tersebut antara lain:
- SELECT VERSION() : menampilkan versi MySQL server
- SELECT USER() : menampilkan user name yang digunakan
- SHOW DATABASES : menampilkan database yang tersimpan
- USE nama_database : membuka database bernama nama_database
- SHOW TABLES : menampilkan tabel dalam database yang aktif
- SELECT DATABASE() : menampilkan nama database yang aktif
Perintah DDL dan DML
Didalam MySQL ada banyak perintah yang bisa kita gunakan untuk melakukan pengoperasian basis data. Dari sekian banyak perintah tersebut, umumnya dapat kita golongkan kedalam dua hal, yaitu DDL dan DML.
Lalu, apa perbedaan DDL dan DML?
DDL atau Data Definition Language adalah bagian perintah SQL yang digunakan untuk mendefinisikan data dan obyek pada basis data. Perintah-perintah yang tergolong pada kategori ini adalah:
CREATE TABLE – Untuk membuat tabel
CREATE INDEX – Untuk membuat index
ALTER TABLE – untuk mengubah tabel
DROP TABLE – untuk menghapus tabel
DROP INDEX – untuk menghapus index
GRANT – untuk memberikan hak akses pada user
Bisa terbayang kan? Namanya kan definition language, fungsinya untuk mendefinisikan. Lain halnya dengan DML atau Data Manipulation Language.
DML adalah perintah dari SQL yang digunakan untuk memulihkan dan memanipulasi data. Perintah ini digunakan untuk memberikan query dan perubahan yang dilakukan di dalam tabel. Perintah DML disebut juga dengan query language. Perintah-perintah yang tergolong dalam kategori ini adalah :
SELECT – Untuk memilih dan menampilkan data dari tabel
INSERT – Untuk memasukan baris data pada tabel
DELETE – Untuk menghapus baris dari tabel
UPDATE – untuk mengubah isi data pada tabel
COMMIT – untuk mengirim perubahan
ROLLBACK – untuk membatalkan perintah commit.
Tidak usah terlalu dipikirkan dulu. Pusing. Untuk awalan, biasa gunakan yang sudah teman-teman pahami dulu. Nanti akan mengalir untuk belajar ke tahap-tahap yang selanjutnya.
Mungkin sampai disni cukup untuk prolog teman-teman belajar basis data MySQL, selanjutnya kita bisa bicarakan nanti lagi dengan lebih mendalam di tulisan yang lain.