Sabtu, 30 Maret 2013

Pemrograman Basis Data - DCL

Setelah sebelumnya sudah dijelaskan mengenai DDL dan juga DML, kali ini akan dijelaskan mengenai DCL (Data Control Language). Selain itu pula, akan dijelaskan mengenai teknik normalisasi pada suatu basis data.

Apa itu DCL?
DCL (Data Control Language) adalah salah satu bentuk SQL yang digunakan untuk melakukan suatu control pada data yang ada atau disimpan dalam suatu database. Control yang dimaksud disini adalah memberikan privileges atau hak akses kepada user yang akan mengakses data pada suatu database.

DCL memiliki 2 syntaks yang paling umum, yaitu:
A. GRANT; dan
B. REVOKE


A. GRANT
Perintah GRANT digunakan oleh administrator untuk menambah izin baru kepada pengguna database. Ini memiliki sintaks yang sangat sederhana, yang didefinisikan sebagai berikut:



GRANT [privilege]
ON [object]
TO [user]
[WITH GRANT OPTION] 

Berikut rundown pada masing-masing parameter yang ada di perintah GRANT ini:

1. Privilege 

Privilege dapat berupa kata kunci ALL (untuk memberikan berbagai izin) atau izin database tertentu atau seperangkat perizinan. Contohnya meliputi CREATE DATABASE, SELECT, INSERT, UPDATE, DELETE, EXECUTE, dan CREATE VIEW.

2. Object
Obyek dapat berupa objek database. Pilihan privilege yang valid akan bervariasi berdasarkan jenis objek database Anda masukan dalam klausa on ini. Biasanya objek berupa database, fungsi, store procedural, tabel atau view.

3. Pengguna/User
Menjelaskan pengguna/user database yang akan diberikan privilege (hak istimewa) terhadap database.


Contohnya seperti berikut ini, kita akan memberi hak akses untuk user Semmy agar hanya bisa melakukan SELECT pada tabel SISWA di database sekolah:
 
GRANT SELECT
ON sekolah.SISWA
TO Semmy

B. REVOKE
Perintah REVOKE digunakan untuk menghapus akses database dari pengguna sebelumnya yang diberikan akses GRANT tersebut. Syntaksnya adalah:

REVOKE [GRANT OPTION FOR] [permission]
ON [object]
FROM [user]
[CASCADE]
 
 
 Berikut rundown yang ada pada parameter dari perintah REVOKE:
1. Permission
Menentukan hak akses database yang ingin di hapus dari pengguna yang telah diidentifikasi

2. Object
Obyek dapat berupa objek database. Pilihan privilege yang valid akan bervariasi berdasarkan jenis objek database Anda masukan dalam klausa on ini. Biasanya objek berupa database, fungsi, store procedural, tabel atau view.

3. User/Pengguna
Menjelaskan pengguna/user database yang akan diberikan privilege (hak istimewa) terhadap database.

4. CASCADE
Opsi CASCADE juga mencabut izin tertentu dari setiap pengguna bahwa pengguna tertentu diberikan izin.

Contohnya adalah jika kita melakukan revoke pada hak akses yang sebelumnya:

REVOKE SELECT
ON sekolah.SISWA
FROM Semmy 

Tidak ada komentar: