Belajar MySQL dengan Perintah Data Control Language
SQL memiliki banyak perintah yang dilakukan untuk melakukan pengaturan data dalam database. Salah satu perintah yang biasanya dipakai oleh database administrator dalam manajemen database pada SQL adalah Data Control Language. Berdasarkan definisinya, Data Control Language adalah satu diantara kelompok perintah yang digunakan untuk melakukan kontrol terhadap privilage atau hak akses khusus untuk berinteraksi dengan database.
Perintah Data Control Language dalam SQL diperlukan sebagai prerequisites atau prasyarat bagi tiap pengguna database untuk melakukan berbagai aktivitas seperti membuat object, menghapus object, mengubah object, menampilkan hasil query dan lain-lain. Ada dua perintah yang dipakai untuk melakukan hak akses khusus dalam database dengan menggunakan Data Control Language. Adapun perintahnya yaitu GRANT dan REVOKE.
Setiap pengguna diberikan kesempatan untuk mengakses database sehingga perintah Data Control Language dipakai untuk melakukan aksi-aksi dalam database. Contoh pengguna A hanya diberikan akses untuk membuat dan menampilkan hasil querynya saja. Sedangkan lain halnya dengan pengguna B yang memiliki akses untuk menghapus object saja. Maka baik pengguna A dan pengguna B hanya dapat melakukan perintah sesuai dengan aktivitas masing-masing. Pengguna hanya dapat melakukan perintah tersebut.
Misalnya pengguna A tidak bisa menghapus data apalagi mengubah data. Hal ini menjadi penting untuk diketahui oleh pemula data yang ingin belajar SQL karena di dunia kerja dengan banyak pengguna database, manajemen pembagian hak akses seperti ini sangat kursial dan berpengaruh terhadap keamanan data. Lalu, kira-kira bagaimana penerapan perintah Data Control Language dalam SQL? Yuk kita belajar bareng-bareng!
1. Perintah GRANT
Perintah GRANT dalam SQL adalah perintah yang dipakai untuk memberikan hak akses khusus pada objek database kepada pengguna. Untuk lebih jelasnya, berikut adalah sintaks dari perintah GRANT dalam SQL:
Setelah melihat sintaks diatas, berikut adalah keterangan dari masing-masing sintaks tersebut:
Privilege_name adalah hak akses atau privilage yang diberikan kepada pengguna untuk mengakses data dalam sebuah database. Beberapa hak aksesnya diwakili oleh perintah ALL, EXECUTE dan SELECT.
Object_name adalah nama objek database seperti TABLE, VIEW, STORED PROC dan SEQUENCE. Objek database bisa bermacam-macam tergantung jenis tabel yang ingin dibidik menggunakan perintah GRANT.
User_name adalah nama pengguna yang diberikan hak akses
Public digunakan untuk membuka hak akses kepada semua pengguna
Role_name adalah seperangkat hak akses yang dikelompokkan bersama
WITH GRANT OPTION merupakan sintaks yang memungkinkan pengguna untuk memberikan hak akses kepada pengguna lain.
Baca juga : Saatnya Belajar SQL, Kenali Rekomendasi Query SQL Bagi Pemula
2. Contoh Penerapan Perintah GRANT
Misalnya saya punya sintaks seperti ini dalam SQL
Sintaks diatas memberikan izin akses berupa perintah SELECT pada tabel Employee kepada user1. Disini kamu perlu hati-hati menggunakan opsi WITH GRANT. Kenapa? Kalau misalnya GRANT SELECT pada tabel Employee kepada user1 menggunakan opsi perintah WITH GRANT maka nantinya user1 mendapatkan GRANT SELECT pada tabel Employee ke user yang lainnya. Misalnya user2, user3 dan seterusnya. Kalaupun memang kamu akan melakukan REVOKE dalam database tersebut, hak SELECT pada tabel Employee yang aksesnya dimiliki oleh user1 juga akan dimiliki oleh user2 dengan hak dan tabel akses yang sama.
3. Tipe Privilege dalam Perintah GRANT
Masih ingat tidak sahabat DQLab? Diatas tadi ada privilage_name yang ada didalam perintah GRANT. Nah, dalam Data Control Language pada perintah GRANT khususnya punya banyak tipe priviligenya loh. Mau tahu apa saja? Berikut adalah beberapa contoh tipe privilege yang ada didalam perintah GRANT SQL.
ALL PRIVILEGE
Memberikan seluruh akses secara penuh (full access).
CREATE
Memberikan hak akses untuk membuat database atau objek database
DROP
Memberikan hak akses untuk menghapus database atau objek database
SELECT
Memberikan hak akses untuk melakukan query ke database
INSERT
Memberikan hak akses untuk menambahkan record/data baru ke tabel
UPDATE
Memberikan hak akses untuk mengubah record/data di tabel
DELETE
Memberikan hak akses untuk menghapus record/data di tabel.
Baca juga : Catat! Ini 3 Keuntungan Belajar SQL dalam Mengolah Data
4. Perintah REVOKE
Selain perintah GRANT, dalam Data Control Language juga ada perintah REVOKE SQL. Perintah REVOKE dipakai untuk menghapus hak akses pengguna ke dalam objek database. Berikut adalah sintaks dari perintah REVOKE:
Setelah melihat sintaks diatas, berikut adalah keterangan dari masing-masing sintaks tersebut:
Privilege_name adalah hak akses atau privilage yang diberikan kepada pengguna data dalam sebuah database. Beberapa hak aksesnya diwakili oleh perintah ALL, EXECUTE dan SELECT.
Object_name adalah nama objek database seperti TABLE, VIEW, STORED PROC dan SEQUENCE. Objek database bisa bermacam-macam tergantung jenis tabel yang ingin dibidik menggunakan perintah REVOKE. Jadi diisi dengan objek-objek database
User_name adalah nama pengguna database yang diberikan hak akses
Public digunakan untuk membuka hak akses kepada semua pengguna
Role_name adalah seperangkat hak akses yang dikelompokkan bersama
5. Contoh Penerapan Perintah REVOKE
Misalnya saya punya sintaks seperti ini dalam SQL
Perintah diatas akan menghapus akses SELECT pada tabel employee dari user1. Ketika kamu mengetikan perintah REVOKE pada tabel dari pengguna, pengguna tidak akan mendapatkan akses SELECT data dari tabel itu lagi. Tetapi, jika pengguna telah menerima keuntungan berupa SELECT pada tabel tersebut lebih dari satu pengguna. Maka dia bisa memilih dari tabel tersebut hingga semua orang memberikan izin untuk mencabut akses dari kepemilikan data tersebut.
Nikmati trilogi modul Fundamental SQL menarik lainnya bersama DQLab. Tidak perlu khawatir, kamu tetap bisa belajar ngoding meskipun belum familiar dengan bahasa pemrograman sekalipun. Belajar SQL adalah langkah yang tepat untuk membangun pembiasaan kamu untuk ngoding dan semakin memperkaya skill data science kamu. Yuk, Sign up sekarang untuk #MulaiBelajarData di DQLab!
Mulai bangun portfolio datamu yang outstanding dengan Data Analyst Career Track bersama DQLab dan nikmati modul-modul dari dasar hingga tingkat mahir. Caranya dengan Sign Up sekarang untuk #MulaiBelajarData di DQLab:
Buat Akun Gratis dengan Signup di DQLab.id/signup
Selesaikan modulenya, dapatkan sertifikat & reward menarik dari DQLab
Subscribe DQLab.id untuk Akses Semua Module Premium
Penulis: Reyvan Maulid