TIPS: Rangkuman ini hanya sebagai pemahaman secara umum. Pastikan Anda juga membaca BMP (Buku Materi Pokok) versi cetak atau digital di Ruang Baca Virtual (RBV) untuk pemahaman lebih mendalam.
DILARANG: Memperjualbelikan seluruh konten atau latihan soal yang terdapat di portal ini. Pelanggaran akan dikenakan sanksi sesuai ketentuan yang berlaku.
Structured Query Language (SQL)
Kegiatan Belajar 1: Structured Query Language (SQL)
A. Pengertian dan Sejarah SQL
1. Pengertian SQL
SQL (Structured Query Language): bahasa khusus yang digunakan untuk mengakses dan mengelola DBMS, telah distandarkan oleh ANSI sejak tahun 1986 sehingga sintaksnya sama di berbagai bahasa pemrograman.
DBMS: perangkat lunak yang dirancang untuk pengelolaan data dengan kemampuan penyimpanan, pembaruan, dan pengambilan data.
Fungsi utama SQL: digunakan pada relational database seperti Oracle, SQL Server, DB2, MySQL, MS Access untuk mendefinisikan struktur data, memodifikasi struktur data, serta menspesifikasikan constraint integritas dan keamanan data.
2. Sejarah SQL
E.F. Codd (1970): mempublikasikan makalah tentang model relasional "A Relational Model of Data for Large Shared Data Banks".
D. Chamberlin & R.F. Boyce (1974): mengembangkan bahasa query SEQUEL (Structured English Query Language) untuk memanipulasi dan mengekstrak data dari basis data relasional.
SEQUEL/2 (1976): versi revisi yang kemudian disingkat menjadi SQL dengan pelafalan "si-guel".
B. Pembagian Bahasa SQL
1. Sub Divisi SQL
DDL (Data Definition Language): bahasa untuk pendefinisian skema yang berisi perintah menciptakan objek-objek basis data (table, indeks, view).
DML (Data Manipulation Language): sekumpulan perintah yang menentukan dan melakukan manipulasi nilai-nilai di dalam tabel.
DCL (Data Control Language): fitur yang menentukan aksi yang dapat dilakukan pemakai terhadap objek basis data.
2. Komponen Tambahan SQL
View Definition: SQL DDL untuk mendefinisikan View.
Transaction Control: menspesifikasikan awal dan akhir transaksi serta mengendalikan transaksi.
Embedded SQL & Dynamic SQL: cara menempelkan kalimat SQL di bahasa pemrograman umum (C, C++, Java, Pascal, dll).
Integrity: perintah untuk menspesifikasikan aturan integritas data yang harus dipenuhi DBMS.
Autorisasi: bagian DDL yang menspesifikasikan hak-hak akses terhadap relasi dan view.
3. Pernyataan Dasar SQL
ALTER: mengubah struktur tabel.
CREATE: membuat tabel atau indeks.
INSERT: menambah sebuah baris dalam tabel.
SELECT: memilih baris dan kolom pada tabel.
UPDATE: mengubah nilai pada sebuah baris.
4. Tipe Data dan Konstanta
Tipe data: skema pengkodeaan yang dikenali DBMS — CHAR (karakter), INTEGER (bilangan bulat), NUMERIC (bilangan real), DATE (tanggal), LOGICAL (Y/N).
Konstanta: nilai tetap. Variabel: nilai yang bisa berubah.
Fungsi bawaan: MIN (nilai terkecil), AVG (nilai rerata), SUM, COUNT, MAX.
C. Perintah DDL
1. CREATE DATABASE
Sintaks:CREATE DATABASE [namabasisdata]; — nama tidak boleh mengandung spasi dan tidak boleh sama antar basis data.
Mengubah field:ALTER TABLE [namatabel] ALTER COLUMN [nama_field] tipe_data(lebar);
Menghapus field:ALTER TABLE [namatabel] DROP COLUMN [nama_field];
6. DROP
DROP DATABASE: menghapus seluruh database beserta datanya.
DROP TABLE: menghapus tabel beserta struktur dan datanya.
DROP INDEX: menghapus index dari tabel.
Kegiatan Belajar 2: Data Manipulation Language (DML)
A. Perintah DML
1. Pengertian DML
DML (Data Manipulation Language): bahasa yang memungkinkan pengguna mengakses atau memanipulasi data — meliputi pengambilan informasi, penempatan informasi baru, penghapusan informasi, dan modifikasi informasi dalam basis data.
2. INSERT — Menambah Data
Sintaks:INSERT INTO [Nama_Tabel] ([Daftar_Kolom]) VALUES ([Daftar_Nilai]);
Ketentuan: data harus sesuai tipe kolom, jumlah data sama dengan jumlah kolom, kolom yang tidak disebutkan otomatis NULL atau menggunakan nilai DEFAULT.
INSERT dari query: dapat langsung menambahkan beberapa record berdasarkan hasil SELECT dari tabel lain.
3. UPDATE — Mengubah Data
Sintaks:UPDATE [namatabel] SET [namakolom]=nilai_baru WHERE [kondisi];
SET: menentukan kolom yang akan diubah dan nilai penggantinya.
WHERE: menentukan baris yang akan diubah. Tanpa WHERE, semua baris berubah.
4. SELECT — Mengambil Data
Sintaks:SELECT * FROM [Nama_Tabel]; — tanda * memilih semua kolom.
Filter kolom: ganti * dengan nama field tertentu, contoh: SELECT Kode_pembeli, Nama_pembeli FROM tblpembeli;
Filter baris: gunakan WHERE, contoh: WHERE Kota = "Medan";
5. DELETE — Menghapus Data
Sintaks:DELETE FROM [namatabel] WHERE [kondisi];
Tanpa WHERE: menghapus seluruh data pada tabel (struktur tabel tetap ada).
B. Perintah Pengurutan dan Pengelompokan
1. ORDER BY — Mengurutkan Data
Sintaks:SELECT ... FROM ... ORDER BY [kolom] [ASC|DESC];
ASC: menaik (default). DESC: menurun.
2. GROUP BY — Mengelompokkan Data
Sintaks:SELECT [kolom] FROM [tabel] GROUP BY [kolom];
Fungsi: mengelompokkan baris data berdasarkan nilai kolom tertentu.
3. HAVING — Filter Grup
Sintaks:SELECT ... FROM ... GROUP BY [kolom] HAVING COUNT([kolom]) > [nilai];
Fungsi: menentukan kondisi pada hasil GROUP BY; hanya kelompok yang memenuhi kondisi HAVING yang ditampilkan. Berbeda WHERE yang memfilter baris individual, HAVING memfilter hasil agregasi grup.