Query Dasar SQL Serta Prakteknya Menggunakan PostgreSQL
Query Dasar SQL Serta Prakteknya Menggunakan PostgreSQL - SQL adalah singkatan dari Structure Query Language, merupakan jenis bahasa yang digunakan untuk mengelola database. Setidaknya ada 2 tool familiar yang menggunakan bahasa SQL, yakni PostgreSQL dan MySQL. Ketika kita melihat berbagai perintah SQL, dapat dipahami bahwa perintah SQL digunakan untuk berbagai tipe perintah. Berdasarkan tipenya, perintah SQL dikategorikan menjadi 3 macam, yaitu Data Definition Language (DDL), Data Manipulation Language (DML) dan Data Control Language (DCL).
Data Definition Language (DDL)
Ruang lingkup Data Definition Language (DDL) diantaranya membuat, merubah dan menghapus struktur database. Statement DDL mendefinisikan struktur database SQL dan menentukan tipe data apa saja yang dapat disimpan ke database serta bagaimana menyimpan data. Secara khusus statement DDL berfungsi untuk :
- Membuat dan menghapus database (CREATE DATABASE, DROP DATABASE)
- Membuat, memperbaiki/merubah, dan menhapus tabel (CREATE TABLE, ALTER TABLE, RENAME TABLE, DROP TABLE)
- Membuat dan menghapus index (CREATE INDEX, DROP INDEX)
Data Manipulation Language (DML)
Perbedaan mendasar dari Data Definition Language (DDL) dan Data Manipulation Language (DML) adalah pada DML lebih menitikberatkan pada data yang disimpan pada database daripada terhadap struktur database itu sendiri. Contohnya pada DML kita dapat meminta informasi dari sebuah database, memasukkan data, mengedit/merubah data dan menghapus data. Namun, kita tidak akan menggunakan DML untuk membuat dan merubah tabel yang menyimpan data. Secara khusus statement DML berfungsi untuk :
- Meminta data yang khusus baik dari sebuah tabel atau beberapa tabel(SELECT)
- Menambahkan data ke dalam tabel(INSERT, REPLACE, LOAD DATA INFILE)
- Merubah/mengedit data dalam sebuah tabel(UPDATE)
- Menghapus data dari sebuah tabel(DELETE FROM, TRUNCATE TABLE)
SELECT biasanya merupakan perintah yang paling sering digunakan. Perintah SELECT dapat digunakan untuk menarik/menampilkan data dari satu tabel atau lebih. SELECT bisa jadi sangat sederhana dan bisa juga menjadi sangat rumit/kompleks tergantung pada informasi yang ingin ditarik dari sebuah database.
Data Control Language (DCL)
Data Control Language (DCL) berfungsi untuk mengontrol hak akses ke sebuah database. Secara khusus statement DCL berfungsi untuk :
- Memberikan hak akses ke user (GRANT)
- Mengambil kembali hak akses dari user (REVOKE)
Pemberian hak akses ke seorang user, sehingga seorang user dapat memiliki hak akses untuk tabel tertentu saja dan dapat juga diberikan hak akses untuk seluruh tabel dalam database. Sedangkan statement GRANT berfungsi untuk menentukan tabel atau database mana saja yang dapat melakukan perintah SELECT dan INSERT oleh user.
Praktek Penerapan Perintah Dasar SQL
Supaya dapat lebih memahami berbagai perintah dasar SQL, akan dipraktekkan penggunaan query SQL berdasarkan tipe perintahnya. Adapun studi kasus yang diangkat kali ini adalah mengenai database mahasiswa.
Membuat Database Mahasiswa
Langkah pertama yang harus dilakukan adalah membuat database mahasiswa, caranya dengan memasukkan query
create database mahasiswa;
Membuat Tabel
Setelah database mahasiswa telah dibuat, langkah berikutnya membuat tabel. Beberapa tabel yang akan dibuat diantaranya tabel jurusan, tabel fakultas, tabel mahasiswa.
Tabel Jurusan
Tabel jurusan terdiri dari kode jurusan (jur_id) dengan tipe data integer dan bersifat primary key. Lalu ada nama jurusan (jur_nama) dengan tipe data varchar. Query yang digunakan adalah
create tabel jurusan (jur_id int 4 not null, jur_nama varchar (30), primary key (jur_id));
Tabel Fakultas
Tabel fakultas terdiri dari kode fakultas (fak_id) dengan tipe data integer dan bersifat primary key, juga kolom nama fakultas (fak_nama) dengan tipe data varchar. Query yang digunakan adalah
create table fakultas (fak_id int4 not null, fak_nama varchar (30), primary key (fak_id));
Tabel Mahasiswa
Setelah tabel fakultas langkah selanjutnya membuat tabel mahasiswa yang didalamnya terdapat 6 kolom, diantaranya :
- Nomor Induk Mahasiswa (mah_nim), tipe data integer dan bersifat primary key
- Nama mahasiswa (mah_nama), tipe data varchar
- Alamat mahasiswa (mah_alamat), tipe data varchar
- Nomor telpon (mah_telp), tipe data varchar
- Kode fakultas (fak_id), tipe data integer dan bersifat foreign key (merujuk pada tabel fakultas)
- Kode jurusan (jur_id), tipe data integer dan bersifat foreign key (merujuk pada tabel jurusan)
Query yang digunakan untuk membuat tabel mahasiswa adalah
create table mahasiswa (mah_nim int4 not null primary key, mah_nama varchar (30), mah_alamat varchar (30), mah_telp varchar (15), fak_id int not null references fakultas, jur_id int not null references jurusan);
- fak_id int not null “references fakultas” menunjukkan bahwa kode fakultas (fak_id merujuk pada data pada tabel fakultas)
- jur_id int not null “references jurusan” menunjukkan bahwa kode jurusan (jur_id merujuk pada data pada tabel jurusan)
Menginput Data
Setelah ketiga tabel berhasil di buat, selanjutnya kita akan mengisi data ke dalam tiga tabel tersebut dengan menggunakan query Insert Into NamaTable (namafield1, namafield2,…);
Pengolahan Data
Berikutnya kita akan melakukan proses pengolahan data yang mencangkup query select (menampilkan), update (memperbaharui), order (mengurutkan), dan delete (menghapus), mulai dari query yang sederhana hingga query yang kompleks. Query pengolahan database akan diimplementasikan pada database mahasiswa yang telah dibangun.
Menampilkan NIM dan Mahasiswa
Contoh pertama adalah menampilkan data NIM dan nama mahasiswa, dalam hal ini kita dapat menggunakan query select
select mah_nim, mah_nama from mahasiswa;
Menampilkan Mahasiswa Berdasarkan NIM
Kemudian menampilkan data mahasiswa berdasarkan NIM salah satu mahasiswa, sehingga yang muncul hanya salah satu data mahasiswa. Hal tersebut dapat menggunakan query
select * from mahasiswa where mah_nim=13;
Keterangan: hasil query akan menampilkan data mahasiswa yang mempunyai NIM 13
Menampilkan Data Mahasiswa, Fakultas dan Jurusan
Lalu kita akan coba menampilkan data mahasiswa, fakultas dan jurusan yang akan diambil berdasarkan NIM, nama mahasiswa, nama fakultas, dan nama jurusan dengan menggunakan query
select mahasiswa.mah_nim, mahasiswa.mah_nama, mahasiswa.mah_alamat, mahasiswa.mah_telp, fakultas.fak_id, jurusan.jur_id from mahasiswa, fakultas, jurusan;
Keterangan: Seperti yang terlihat pada gambar, masih banyak data yang ditampilkan secara berulang dikarenakan masih belum adanya proses penyaringan (filtering) dalam menyeleksi sebuah data yang ditampilkan
Menghapus Data Mahasiswa
Selanjutnya menghapus data mahasiswa yang memiliki NIM=13. Anda dapat menggunakan query
delete from mahasiswa where mah_nim=13;
Update Data Mahasiswa
Mengupdate atau mengubah data mahasiswa akan dicontohkan pada mahasiswa dengan NIM=12, alamat akan di ubah menjadi solo sedangkan nomor telepon menjadi 0857688788. Query yang digunakan adalah
update mahasiswa set mah_alamat =’solo’, mah_telp=’0857688788’ where mah_nim=12;
Jika berhasil nantinya akan menghasilkan gambar berikut
Mengurutkan Data Mahasiswa
Mengurutkan data dapat dilakukan dengan menggunakan query order by. Kali ini akan dicontohkan dengan mengurutkan data mahasiswa berdasarkan NIM mahasiswa terbesar hingga yang terkecil, caranya dengan menggunakan query
select * from mahasiswa order by mah_nim desc;
Menampilkan Seluruh Data Mahasiswa Beserta Fakultas
Menampilkan seluruh data mahasiswa di ikuti dengan nama fakultasnya masing-masing dapat dilakukan dengan menggunakan query
select mahasiswa.mah_nim, mahasiswa.mah_nama, mahasiswa.mah_alamat, mahasiswa.mah_telp, mahasiswa.fak_id, fakultas.fak_nama from mahasiswa, fakultas where mahasiswa.fak_id = fakultas.fak_id;
Terlihat pada gambar, data yang ditampilkan mempunyai perbedaan dengan sebelumnya. Gambar di atas hanya menampilkan 2 buah data karena pada query sudah menggunakan fungsi where, sehingga data dapat tersaring berdasarkan kondisi tertentu.
Menampilkan Seluruh Data Mahasiswa Fakultas Saintek
Selanjutnya adalah menampilkan seluruh mahasiswa yang berada di fakultas SAINTEK dengan query
select * from mahasiswa where fak_id=2;
Menampilkan Seluruh Data Mahasiswa Fakultas Non-SAINTEK
Sedangkan untuk menampilkan seluruh mahasiswa yang tidak berada di fakultas SAINTEK. query yang digunakan adalah
select * from mahasiswa where fak_id!=2;
Keterangan: Untuk menampilkan data mahasiswa yang tidak berada di fakultas SAINTEK, kita cukup menambah fungsi negasi atau “!” dari query sebelumnya
Menghapus Data Pada Fakultas Saintek
Terakhir akan menghapus data yang berada pada fakultas SAINTEK. Terlebih dahulu kita hapus data fakultas SAINTEK yang masih berada pada tabel yang lain, dalam hal ini adalah tabel mahasiswa dengan menggunakan query
delete from mahasiswa where fak_id=2;
Barulah setelah itu kita bisa menghapus data fakultas SAINTEK yang berada pada tabel fakultas dengan menggunakan query
delete from fakultas where fak_id=2;
Demikianlah tulisan kali ini tentang Query Dasar SQL Serta Prakteknya Menggunakan PostgreSQL, semoga bermanfaat. Jangan lupa ikuti perkembangan ilmu-ilmu informatika dan multimedia melalui blog Kelas Informatika serta ikuti fans page kami. Salam 😊
Posting Komentar untuk "Query Dasar SQL Serta Prakteknya Menggunakan PostgreSQL"