- Dapatkan link
- X
- Aplikasi Lainnya
- Dapatkan link
- X
- Aplikasi Lainnya
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.
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.
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.
- Dapatkan link
- X
- Aplikasi Lainnya
Komentar
[…] Itulah data manipulation language, semoga dapat membantu. Bila ada pertanyaan silahkan taruh di kolom komentar. Untuk pembuatan tabel ada dalam Data Definition Language dan ada tipe data yang bisa dipelajari terlebih dahulu. Berikutnya kita akan belajar mengkontrol hak akses user dalam SQL. […]
BalasHapus