SQL : Data Control Language

Data Control Language adalah sebuah statemen atau perintah yang memampukan kita mengatur hak akses user dalam database.

Kenapa perlu diatur? karena tidak semua user boleh membuka, menambahkan, mengubah atau menghapus data. Maksud saya adalah seperti ini, jika saya seorang sales dan bisa mengakses database maka saya akan tetap duduk di kantor tidak melakukan pekerjaan apapun. Saya kemudian membuka database dan mengubah data gaji saya. Kejahatan-kejahatan sperti ini terjadi sehingga kita tidak boleh memberikan semua hak akses kepada user. Di sinilah Data control language digunakan. Data Control Language hanya memiliki 2 statement utama yakni grant dan revoke.

Data Control Language Grant

Grant memberikan hak akses ke sebuah user. Hak akses apa? semua, database, server, table, menambahkan data, mengurangi data dan menghapus data. Sehingga berhati-hatilah dalam menggunakan perintah grant ini.

person handing keys

Struktur grant adalah sebagai berikut

GRANT type_of_permission ON database_name.table_name TO ‘username’@’localhost’;

(untuk contoh dapat dilihat di bawah.)

@’localhost’ dapat diganti dengan IP address lain. Apabila server yang digunakan bukan lokal. Biasanya hal ini dilakukan oleh perusahaan besar, karena mereka memerlukan sebuah server yang lebih kuat, cepat dan server mereka biasanya dijadikan satu.

untuk mencobanya cobalah buat user bernama eric di dalam localhost.

Membuat user baru dalam SQL

Membuat user baru sangat mudah, strukturnya hanyalah

CREATE USER ‘username’@’server’ identified by ‘Password’;

Bila diimplementasikan maka bentuknya akan menjadi sebagai berikut.

CREATE USER ‘Eric’@’Localhost’ identified by ‘pass’;

Default awal untuk user ini adalah kosong, sehingga dia tidak bisa mengakses apapun. Untuk menggunakan grant  maka dapat kita gunakan perintah Data Control Language yakni grant

GRANT select ON sales.pegawai to ‘Eric’@’localhost’;

Maka user dengan id ‘Eric’ ini dapat melakukan select pada database sales dan hanya di table pegawai saja. Untuk memberikan hak akses memasukan data maka tambahkan perintah

GRANT insert ON sales.pegawai to ‘Eric’@’localhost’;

Sekarang id Eric dapat memasukan data ke dalam database sales di tabel pegawai. Untuk memberikan dia semua hak akses kita tinggal memberikan grant all.

GRANT all ON sales.pegawai to ‘Eric’@’localhost’;

Sekarang id eric bisa insert, update, delete, select. alter, drop dan perintah lainnya. Kalau ingin memberikan semua hak akses kepada semua tabel maka gantilah nama table denga tanda bintang(*)

GRANT all ON sales.* to ‘Eric’@’localhost’;

Semua memiliki resikonya, jadi berhati-hatilah dalam memberikan hak akses. Grant all biasanya hanya diberika kepada database administrator dengan tujuan mereka bisa melakukan backup, melihat data apabila ada kondisi-kondisi tertentu.

police money finance funny

Data Control Language Revoke

Data Control Language Revoke digunakan untuk menghilangkan hak akses seseorang. Berkebalikan dengan grant. Tetapi memiliki struktur yang sama dengan grant.

REVOKE type_of_permission ON database_name.table_name TO ‘username’@’localhost’;

contoh :

REVOKE all ON sales.* to ‘Eric’@’localhost’;

Sisa perintah revoke akan sama dengan grant. Hanya yang perlu diingat adalah grant memberikan hak akses sedangkan revoke untuk menghilangkan hak akses.

Hingga saat ini kita sudah belajar mengenai create,alter di Data Definition Language. Kemudian juga sudah belajar select, insert, update, delete di Data Manipulation Language. Berikutnya kita akan belajar Data Transaction Language.

 

Satu respons untuk “SQL : Data Control Language

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google

You are commenting using your Google account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.