Poin Penting
1. SQL adalah Bahasa Basis Data Relasional
Secara sederhana, SQL adalah singkatan dari Structured Query Language dan merupakan bahasa yang digunakan untuk mengelola data yang disimpan dalam basis data relasional.
Fungsi Inti SQL. SQL (Structured Query Language) adalah bahasa standar untuk berinteraksi dengan basis data relasional. Bahasa ini memungkinkan pengguna untuk mendefinisikan, memanipulasi, dan mengontrol data. Memahami SQL adalah hal yang fundamental bagi siapa saja yang bekerja dengan sistem penyimpanan dan pengambilan data.
Sistem Manajemen Basis Data (DBMS). SQL diterapkan di berbagai DBMS, termasuk MySQL, Oracle, Microsoft SQL Server, dan IBM DB2. Meskipun setiap DBMS mungkin memiliki versi SQL-nya sendiri, semuanya mendukung perintah SQL utama seperti SELECT, UPDATE, DELETE, dan INSERT dengan cara yang serupa. Mempelajari satu versi SQL memudahkan adaptasi ke versi lainnya.
Aplikasi Praktis. Buku ini menggunakan MySQL, sebuah DBMS yang populer dan gratis, untuk mengajarkan SQL. Pendekatan praktis ini melibatkan pembuatan basis data dan melakukan latihan untuk memperkuat pemahaman. Pengalaman praktis ini sangat penting untuk menguasai SQL dan menerapkannya secara efektif dalam skenario dunia nyata.
2. Desain Basis Data: Fondasi Manajemen Data
Basis data adalah kumpulan data yang terorganisir dalam format tertentu sehingga data dapat diakses, dikelola, dan diperbarui dengan mudah.
Pentingnya Struktur. Desain basis data yang efektif sangat penting untuk manajemen data yang efisien. Basis data yang dirancang dengan baik memastikan integritas data, mengurangi redundansi, dan menyederhanakan pengambilan data. Ini melibatkan pembuatan tabel, mendefinisikan kolom, dan menentukan batasan.
Elemen Kunci Desain Tabel. Saat membuat tabel, penting untuk menentukan tipe data untuk setiap kolom (misalnya, INT, VARCHAR, DATE) dan batasan apa pun (misalnya, NOT NULL, UNIQUE, PRIMARY KEY). Batasan ini menegakkan aturan pada data, memastikan akurasi dan konsistensinya. Batasan tabel, seperti kunci primer dan kunci asing, mendefinisikan hubungan antar tabel.
Langkah Praktis. Buku ini membimbing pembaca melalui pembuatan basis data bernama companyHR
dengan tabel seperti employees
dan mentorships
. Ini mencakup pembuatan tabel, menentukan kolom dengan tipe data dan batasan yang sesuai, serta mengubah atau menghapus tabel sesuai kebutuhan. Pendekatan praktis ini memperkuat prinsip-prinsip desain basis data.
3. Manipulasi Data: Menyisipkan, Memperbarui, dan Menghapus
Untuk menyisipkan data ke dalam MySQL, kita menggunakan sintaks berikut: INSERT INTO table_name (column1, column2, column3, …) VALUES (value1, value2, value3, …);
Operasi Inti. Manipulasi data melibatkan penyisipan data baru, pembaruan data yang ada, dan penghapusan data yang tidak diinginkan. Operasi ini sangat penting untuk menjaga basis data tetap akurat dan terkini. SQL menyediakan perintah khusus untuk masing-masing tugas ini.
Perintah SQL. Perintah INSERT
menambahkan baris baru ke dalam tabel, perintah UPDATE
memodifikasi baris yang ada, dan perintah DELETE
menghapus baris. Setiap perintah memerlukan sintaks dan kondisi tertentu untuk memastikan data yang benar terpengaruh. Batasan yang ditentukan saat pembuatan tabel dapat memengaruhi operasi ini.
Contoh Praktis. Buku ini memberikan contoh penyisipan data ke dalam tabel employees
dan mentorships
, memperbarui nomor kontak, dan menghapus catatan karyawan. Ini juga menunjukkan bagaimana batasan, seperti kunci asing, dapat mencegah tindakan manipulasi data tertentu untuk menjaga integritas data.
4. Pengambilan Data: Menguasai Pernyataan SELECT
SELECT column_names_or_other_information [AS alias] [ORDER BY column(s)] [DESC] FROM table_name [WHERE condition];
Kekuatan SELECT. Pernyataan SELECT
adalah alat utama untuk mengambil data dari basis data. Ini memungkinkan pengguna untuk menentukan kolom mana yang akan diambil, memfilter baris berdasarkan kondisi, mengurutkan hasil, dan membuat alias untuk kolom. Menguasai pernyataan SELECT
sangat penting untuk mengekstrak wawasan berharga dari data.
Penyaringan dan Pengurutan. Klausul WHERE
memfilter baris berdasarkan kondisi yang ditentukan, menggunakan operator seperti =
, !=
, >
, <
, BETWEEN
, LIKE
, IN
, dan NOT IN
. Klausul ORDER BY
mengurutkan hasil berdasarkan satu atau lebih kolom, dalam urutan naik atau turun. Subquery dapat digunakan dalam klausul WHERE
untuk memfilter hasil berdasarkan kueri pada tabel lain.
Aplikasi Praktis. Buku ini menunjukkan berbagai penggunaan pernyataan SELECT
, termasuk memilih semua kolom, memfilter kolom, menggunakan alias, membatasi hasil dengan LIMIT
, menghapus duplikat dengan DISTINCT
, dan mengurutkan baris dengan ORDER BY
. Ini juga mencakup penggunaan subquery untuk memfilter hasil berdasarkan data dari tabel lain.
5. Fungsi: Meningkatkan Pemilihan dan Manipulasi Data
Fungsi adalah blok kode yang melakukan tugas tertentu untuk kita.
Memperluas Kemampuan SQL. Fungsi adalah blok kode yang telah ditulis sebelumnya yang melakukan tugas tertentu, meningkatkan kemampuan SQL. MySQL menyediakan berbagai fungsi bawaan untuk manipulasi string, operasi tanggal dan waktu, serta perhitungan agregat.
Jenis Fungsi. Fungsi string seperti CONCAT()
dan SUBSTRING()
memanipulasi data teks. Fungsi tanggal dan waktu seperti NOW()
, CURDATE()
, dan CURTIME()
bekerja dengan nilai tanggal dan waktu. Fungsi agregat seperti COUNT()
, AVG()
, MAX()
, MIN()
, dan SUM()
melakukan perhitungan pada sekumpulan nilai.
Penggunaan Praktis. Buku ini menunjukkan cara menggunakan fungsi-fungsi ini dalam pernyataan SELECT
untuk memformat data, melakukan perhitungan, dan mengekstrak informasi tertentu. Ini juga mencakup penggunaan klausul GROUP BY
untuk mengelompokkan data untuk perhitungan agregat dan klausul HAVING
untuk memfilter data yang dikelompokkan.
6. Join dan Union: Menggabungkan Data dari Beberapa Tabel
Seperti namanya, join digunakan untuk menggabungkan data dari tabel yang berbeda berdasarkan kolom terkait antara tabel-tabel tersebut.
Menggabungkan Sumber Data. Join dan union adalah alat yang kuat untuk menggabungkan data dari beberapa tabel. Join menggabungkan baris dari dua atau lebih tabel berdasarkan kolom yang terkait, sementara union menggabungkan hasil dari dua atau lebih pernyataan SELECT
.
Jenis-Jenis Join. Ada tiga jenis join utama: inner join, left join, dan right join. Inner join memilih baris di mana nilai yang sama ada di kedua tabel. Left join memilih semua baris dari tabel kiri dan baris yang cocok dari tabel kanan. Right join memilih semua baris dari tabel kanan dan baris yang cocok dari tabel kiri.
Contoh Praktis. Buku ini memberikan contoh penggabungan tabel employees
dan mentorships
untuk mengambil informasi karyawan dan mentorship. Ini juga menunjukkan penggunaan kata kunci UNION
untuk menggabungkan hasil dari dua pernyataan SELECT
, menghapus duplikat secara default atau menyertakannya dengan UNION ALL
.
7. Views: Menyederhanakan Kueri Kompleks
Secara sederhana, view SQL adalah tabel virtual.
Abstraksi dan Keamanan. View adalah tabel virtual yang didasarkan pada pernyataan SELECT
. Ini menyederhanakan kueri kompleks dengan mengenkapsulasi mereka ke dalam satu objek. View tidak menyimpan data tetapi menyediakan cara untuk mengakses data dari satu atau lebih tabel seolah-olah itu adalah satu tabel. View juga dapat membatasi akses ke data tertentu, meningkatkan keamanan.
Membuat dan Menggunakan View. Pernyataan CREATE VIEW
membuat view berdasarkan pernyataan SELECT
. Setelah dibuat, view dapat di-query seperti tabel biasa. Pernyataan ALTER VIEW
memodifikasi view yang ada, dan pernyataan DROP VIEW
menghapus view.
Aplikasi Praktis. Buku ini menunjukkan cara membuat view bernama myView
yang menggabungkan tabel employees
dan mentorships
. View ini menyederhanakan pengambilan informasi karyawan dan mentorship dengan menggabungkan data dari kedua tabel ke dalam satu tabel virtual.
8. Trigger: Mengotomatiskan Tindakan Basis Data
Trigger adalah serangkaian tindakan yang diaktifkan ketika suatu peristiwa tertentu terjadi pada tabel tertentu.
Otomatisasi Berbasis Peristiwa. Trigger adalah sekumpulan tindakan yang secara otomatis dieksekusi ketika peristiwa tertentu terjadi pada tabel. Peristiwa ini bisa berupa INSERT
, UPDATE
, atau DELETE
. Trigger dapat dipanggil sebelum atau setelah peristiwa, memungkinkan untuk validasi data otomatis, audit, dan tugas lainnya.
Sintaks Trigger. Pernyataan CREATE TRIGGER
membuat trigger, dengan menentukan nama trigger, peristiwa yang mengaktifkannya, dan tabel yang diterapkan. Kata kunci BEFORE
atau AFTER
menunjukkan kapan trigger diaktifkan. Klausul FOR EACH ROW
menunjukkan bahwa trigger diaktifkan untuk setiap baris yang terpengaruh oleh peristiwa.
Contoh Praktis. Buku ini menunjukkan cara membuat trigger bernama update_ex_employees
yang menyisipkan catatan ke dalam tabel ex_employees
sebelum catatan dihapus dari tabel employees
. Trigger ini mengotomatiskan pencadangan data karyawan sebelum penghapusan.
9. Rutin Tersimpan: Kode SQL yang Dapat Digunakan Kembali
Rutin tersimpan adalah sekumpulan pernyataan SQL yang dikelompokkan, dinamai, dan disimpan bersama di server.
Modularitas dan Efisiensi. Rutin tersimpan adalah sekumpulan pernyataan SQL yang dikelompokkan, dinamai, dan disimpan di server. Ada dua jenis rutin tersimpan: prosedur tersimpan dan fungsi tersimpan. Rutin tersimpan mendorong penggunaan kembali kode, meningkatkan kinerja, dan meningkatkan keamanan.
Prosedur Tersimpan vs. Fungsi Tersimpan. Prosedur tersimpan dieksekusi menggunakan kata kunci CALL
dan dapat memiliki parameter IN
, OUT
, dan INOUT
. Fungsi tersimpan dieksekusi dalam pernyataan SELECT
, harus mengembalikan nilai, dan hanya dapat memiliki parameter IN
.
Aplikasi Praktis. Buku ini memberikan contoh pembuatan prosedur tersimpan untuk menyisipkan anggota baru, menghapus anggota, memperbarui informasi anggota, melakukan pemesanan, dan memperbarui pembayaran. Ini juga menunjukkan cara membuat fungsi tersimpan untuk menghitung bonus.
10. Alur Kontrol: Menambahkan Logika ke SQL
Untuk mencapai hal di atas, kita perlu menggunakan alat alur kontrol.
Eksekusi Bersyarat. Pernyataan alur kontrol menambahkan logika ke kode SQL, memungkinkan eksekusi bersyarat dari pernyataan. Ini termasuk pernyataan IF
, CASE
, WHILE
, REPEAT
, dan LOOP
.
Jenis Pernyataan Alur Kontrol. Pernyataan IF
mengeksekusi tugas yang berbeda berdasarkan kondisi. Pernyataan CASE
mencocokkan variabel dengan sekumpulan nilai atau melakukan pencocokan kompleks menggunakan rentang. Pernyataan WHILE
mengulangi tugas selama kondisi benar. Pernyataan REPEAT
mengulangi tugas hingga kondisi terpenuhi. Pernyataan LOOP
mengulangi tugas tanpa batas, memerlukan LEAVE
atau ITERATE
untuk keluar.
Contoh Praktis. Buku ini menunjukkan penggunaan pernyataan IF
untuk memeriksa kondisi dan mengeksekusi tugas yang berbeda, pernyataan CASE
untuk mencocokkan nilai dan melakukan tindakan, serta pernyataan WHILE
, REPEAT
, dan LOOP
untuk melakukan tugas berulang.
11. Cursor: Memproses Data Baris per Baris
Cursor adalah mekanisme yang memungkinkan kita untuk melangkah melalui baris yang dikembalikan oleh pernyataan SQL.
Pemrosesan Baris per Baris. Cursor memungkinkan Anda untuk mengiterasi melalui baris yang dikembalikan oleh pernyataan SELECT
, memproses setiap baris secara individual. Ini berguna untuk tugas yang memerlukan manipulasi atau analisis baris per baris.
Sintaks Cursor. Pernyataan DECLARE CURSOR
mendeklarasikan cursor untuk pernyataan SELECT
. Pernyataan DECLARE CONTINUE HANDLER
mendefinisikan apa yang harus dilakukan ketika cursor mencapai akhir set hasil. Pernyataan OPEN
membuka cursor, pernyataan FETCH
mengambil baris saat ini, dan pernyataan CLOSE
menutup cursor.
Aplikasi Praktis. Buku ini menunjukkan penggunaan cursor untuk mengambil nama dan jenis kelamin semua karyawan dan menggabungkannya menjadi satu baris teks. Contoh ini menggambarkan cara mendeklarasikan cursor, membukanya, mengulangi baris, mengambil data, dan menutup cursor.
12. Proyek: Membangun Sistem Pemesanan Kompleks Olahraga
Proyek ini mengharuskan kita untuk membangun basis data sederhana untuk membantu kita mengelola proses pemesanan kompleks olahraga.
Aplikasi Dunia Nyata. Proyek ini melibatkan pembuatan basis data untuk sistem pemesanan kompleks olahraga. Proyek ini mengintegrasikan semua konsep yang dibahas dalam buku, memberikan aplikasi praktis dari keterampilan SQL.
Desain dan Implementasi Basis Data. Proyek ini memerlukan pembuatan tabel untuk anggota, pengakhiran yang tertunda, ruangan, dan pemesanan. Ini juga melibatkan pembuatan view, prosedur tersimpan, trigger, dan fungsi tersimpan. Prosedur tersimpan menangani tugas seperti menyisipkan anggota baru, melakukan pemesanan, memperbarui pembayaran, dan membatalkan pemesanan.
Pengujian dan Validasi. Proyek ini diakhiri dengan pengujian basis data untuk memastikan bahwa ia berfungsi dengan benar. Ini melibatkan penyisipan data, mengeksekusi prosedur tersimpan, dan memverifikasi hasil. Proyek ini memberikan pengalaman belajar yang komprehensif, memperkuat keterampilan SQL dan mempersiapkan pembaca untuk tugas pengembangan basis data di dunia nyata.
Terakhir diperbarui:
Ulasan
Belajar SQL (menggunakan MySQL) dalam Satu Hari dan Menguasainya dengan Baik mendapatkan ulasan positif, dengan peringkat keseluruhan 4,07 dari 5 di Goodreads. Pembaca menghargai pendekatannya yang cepat dan ringkas dalam mengajarkan dasar-dasar SQL. Buku ini dipuji karena gaya penulisannya yang jelas dan latihan-latihan yang dijelaskan dengan baik, sehingga sangat cocok untuk pemula. Beberapa penulis ulasan mencatat bahwa buku ini juga merupakan penyegar yang baik untuk konsep-konsep seperti prosedur dan pemicu. Meskipun satu pembaca menyebutkan bahwa buku ini mungkin tidak ideal untuk pengguna SQL yang berpengalaman, efektivitas buku ini dalam menggambarkan poin-poin kunci melalui latihan-latihan sangat disoroti.