Gabut? Kepo-in Hal-hal dasar tentang SQL, Yuk!
Beberapa bulan
bekerja dengan data, gue baru menyadari ternyata dunianya data tidak sebatas
Excel ataupun Spreadsheet Google saja. Data bisa lebih dari itu. Data bisa bersemayam
di tempat yang lebih gede dan berkumpul hingga ukuran yang tidak terbayangkan
bagi kita-kita orang awam. Data yang ukurannya sudah tidak terbayang lagi
karena saking besarnya, kemudian disebut sebagai big data. Data yang jumlahnya
tak terkira, tak bisa lagi diolah menggunakan excel. Data-data itu kemudian
dikumpulkan ke dalam tempat penyimpanan yang menggunakan sistem database. Hal ini sangat dimanfaatkan
oleh dunia digital. Data-data digital tersebut yang gue dimaksud adalah data
seluruh transaksi yang dilakukan oleh pelanggan hingga data dirinya.
Gila banget gak sih? Untuk mengolah data
ribuan di excel aja kita mumet dan ngeluh sana sini. Gimana dengan data yang
digabung di database yang sungguh
besar? Bagaimana cara mengolahnya?
Beruntungnya, di dunia ini banyak terlahir orang-orang pintar yang gemar meringankan beban umat manusia. Para ilmuwan tersebut kemudian menyepakati satu konstruksi bahasa standar yang secara de facto digunakan dalam manajemen basis data. Bahasa itu disebut Structured Query Language, dan kita anak gaul data lebih senang menyingkatnya dengan SQL (baca: es qi el, es qiu el).
Teman-teman yang
ingin berkarir yang berhubungan dengan data sini deh gue kasitau. Menurut gue,
SQL ini penting buat teman-teman pelajarin. Kenapa? Karena SQL itu telah
terbukti mampu meningkatkan produktivitas kinerja pengolahan data. Kepake
banget di big data!
“Umm..? Gimana
sih? Gue belum kebayang fungsinya SQL ini apa…” kata Elo, yang emang buta
banget masalah perdataan(?). Oke sini gue kasih analogi yang lebih sederhana.
Di hari-hari biasa, elo biasanya berkutat di excel dengan jumlah data ratusan. It works fine and you can keep up with your
daily routine. Trus kemudian, data lo bertambah berkali-kali lipat hingga
ratusan ribu jumlahnya. Tiap kali Elo mau mengolah datanya, komputernya loading dulu, processing. Ini tuh makan waktu Elo banyak. Kerjaan lo jadi molor.
Apalagi kalau komputernya tiba-tiba crashed?! What kind of nightmare is that? You haven’t
even saved any work that you’ve done, yet!
Ini gak bisa
dibiarin. Temen-temen harus mengambil tindakan pencegahan yang diperlukan untuk
melindungi diri dari kehilangan data secara tidak sengaja. Temen-temen harus
tau metode yang lebih cepat dan akurasi yang lebih besar daripada yang
disediakan oleh Excel. Empat hal yang harus diperhatikan saat menyimpan data
adalah :
- Menyimpan data harus cepat dan mudah karena kita bakalan cenderung sering melakukannya.
- Media penyimpanan harus dapat diandalkan. Gak banget loh kalau kita kembali lagi tapi malah datanya hilang!
- Pengambilan data harus cepat dan mudah, terlepas dari berapa banyak item yang kita simpan.
- Kita perlu cara mudah untuk memisahkan informasi persis seperti apa yang kita inginkan dari berjuta-juta data yang tidak kita inginkan saat ini.
Di sinilah kita
memerlukan basis data (database) yang
canggih yang memenuhi keempat kriteria di atas. Jika teman-teman menyimpan data
yang banyak, teman-teman perlu menyimpan datanya di database.
Konon, database pertama dahulu kala pada tahun
1950-an disusun menurut model hirarki. Kendati pun, banyak masalah redundansi,
dan ketidakfleskibelan struktrualnya membuat modifikasi database menjadi sulit. FYI,
redundansi adalah kejadian berulangnya data atau kumpulan data yang sama dalam
sebuah database yang mengakibatkan
pemborosan media penyimpanan. Boros
memori, gitu loh! Kemudian dikembangkanlah database ini menjadi database
yang mengikuti model jaringan, biar kelemahan-kelemahan model hirarki bisa
dikurangi. Database jaringan memiliki
redundansi minimal tetapi memberikan keuntungan untuk struktural yang kompleks.
Beberapa tahun kemudian, ilmuwan bernama Dr. E. F. Codd mengembangkan model
relasional, yang menampilkan redundansi minimal dan struktur yang mudah di
pahami. Bahasa SQL inilah yang diciptakan dan dikembangkan untuk beroperasi
pada database relasional. Database
relasional akhirnya yang digunakan sampai sekarang dengan bantuan bahasa SQL
untuk mengolah data di dalam database
tersebut.
Dr. Edward F. Codd |
SQL adalah
bahasa yang fleksibel yang dapat elo gunakan dalam berbagai cara. Ini tuh
merupakan alat komunikasi yang paling banyak digunakan untuk berkomunikasi dengan
database relasional. Tapi bahasa SQL
itu beda dengan bahasa pemrograman R, Python, Pascal, C++, ataupun Java.
Deretan yang gue sebut tadi (R, Python, Pascal, C++, ataupun Java) dipakai
untuk memecahkan masalah dalam bahasa prosedural. Maksudnya, Elo nulis suatu
prosedur : urutan perintah yang melakukan operasi tertentu setelah operasi yang
lain selesai. Prosedurnya dapat berupa urutan linier, ataupun loop, tetapi intinya, programmer-lah yang menentukan urutan eksekusi.
SQL tuh beda
dari penjelasan barusan, gaes! SQL,
di sisi lain, adalah bahasa non-prosedural. Untuk memecahkan masalah
menggunakan SQL, cukup beritahu SQL apa yang kita pengenin! Kayak minta sama Om
Jin di Jin dan Jun atau minta sama genie-nya
Aladdin. Alih-alih berbusa-busa (atau tangan pegel ngetik banyak-banyak) memberitahu si sistem bagaimana cara mendapatkan apa yang elo inginkan. Sistem manajemen
basis data atau DBMS (Database Management System) yang bakalan
memutuskan cara terbaik untuk mendapatkan apa yang elo minta. Se-simple itu!
Gue kasih contoh, deh. Misalnya, kita
punya daftar seluruh pasien di suatu rumah sakit yang terkumpul sejak sepuluh
tahun lalu. Dari tabel data pasien itu, kita pengen lihat data pasien-pasien
yang terkena penyakit jantung. Kita pengen filter
data pasien yang kita lihat itu yang umurnya diatas 50 tahun aja. Kita bisa
melakukan pengambilan data yang diinginkan dengan menggunakan query sebagai berikut :
SELECT * FROM PASIEN_RUMAH_SAKIT WHERE UMUR > 50
Udah. Pernyataan ini mengambil semua baris dari tabel PASIEN_RUMAH_SAKIT di mana nilai di kolom usia lebih besar dari 50 tahun. Dalam SQL, Elo gak perlu menentukan cara informasi diambil. Mesin database bakalan memeriksa database dan memutuskan sendiri bagaimana memenuhi permintaan lo. Elonya tinggal menentukan data apa yang perlu diambil. Ah, FYI, Istilah query adalah pertanyaan yang elo berikan ke database. Jika data dalam database memenuhi persyaratan permintaan lo, SQL bakalan mengambil data itu. Simpel, kan?
Segini dulu cerita gue tentang SQL. Rencananya masih bakal gue bahas lagi satu atau dua post kedepan. Yang gue mau bahas kedepan nantinya adalah 6 Hal Penting yang Harus Dikuasai dengan SQL, dan Tips-Tips Seputar Belajar SQL, Cara Cepat Memasterinya! See YA!