0% menganggap dokumen ini bermanfaat (0 suara)
7 tayangan17 halaman

Pengantar Data Control Language (DCL)

Data Control Language (DCL) adalah perintah SQL yang mengatur hak akses pengguna terhadap database, termasuk perintah GRANT untuk memberikan dan REVOKE untuk mencabut hak akses. DCL memungkinkan pembatasan akses pengguna untuk berbagai operasi database, serta pengelolaan hak akses melalui role. Selain itu, DCL juga mencakup perintah untuk membuat dan menghapus pengguna serta mengelola privileges pada level global, database, tabel, dan kolom.

Diunggah oleh

geraldidimas
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
7 tayangan17 halaman

Pengantar Data Control Language (DCL)

Data Control Language (DCL) adalah perintah SQL yang mengatur hak akses pengguna terhadap database, termasuk perintah GRANT untuk memberikan dan REVOKE untuk mencabut hak akses. DCL memungkinkan pembatasan akses pengguna untuk berbagai operasi database, serta pengelolaan hak akses melalui role. Selain itu, DCL juga mencakup perintah untuk membuat dan menghapus pengguna serta mengelola privileges pada level global, database, tabel, dan kolom.

Diunggah oleh

geraldidimas
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd

Data Control

Language
(DCL)
Pengertian
 Data Control Language (DCL) adalah salah satu dari kelompok
perintah SQL yang digunakan untuk melakukan kontrol
terhadap privilege atau hak akses khusus untuk berinteraksi
dengan database. Hak akses khusus ini diperlukan sebagai
prasyarat bagi setiap user database untuk melakukan berbagai
aksi di database, seperti: membuat object, menghapus object,
mengubah object, menampilkan hasil query, dan seterusnya.

 GRANT - allow users access privileges to the database


 REVOKE - withdraw users access privileges given by using the
GRANT command
Manfaat
1. Membatasi User akses data table baik untuk melihat struktur table
melihat data maupun melakukan operasi manipulasi data seperti Insert,
Update, Delete data
2. Membatasi user akses view database baik melihat, maupun merubauh
struktur view
3. Membatasi user akses strored procedure baik execute dan merubah
struktur SQL didalam stored procedure tersebut.
4. Membatasi Host akses yang digunakan user baik local host([Link]),
user akses dalam jaringan LAN dan Remot IP Public.
5. Memberikan timer user akses database pada saat jam kerja saja
misalnya diluar jam kerja user tidak dapat melakukan akses database.
6. Memberikan otoritas user untuk create tabel, view function, stored
procedure , trigger
PRIVILEGE
 SystemPrivileges: – Berkaitan dengan akses ke
database
 Ex: koneksi, membuat tabel, membuat index, dll

 ObjectPrivileges: – Berkaitan dengan manipulasi isi


dari objek database
 ex:
Insert data pada table, mengubah data pada
tabel, dll
System Privileges
Object Privileges
CREATE USER
 CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password';
 new_user adalah nama yang diberikan untuk akun user baru dan IDENTIFIED BY
‘password’ merupakan passcode atau kata sandi untuk user tersebut. Kedua value ini
dapat diganti. Cukup tambahkan value yang sudah Anda buat ke dalam tanda kutip.

 GRANT ALL PRIVILEGES ON * . * TO 'new_user'@'localhost';


 memberikan semua akses database kepada user baru

 FLUSH PRIVILEGES;
 Flush hak akses yang diberikan
 Flush Privileges adalah sinonim untuk reload. Perintah reload menyuruh server untuk
membaca ulang tabel hak akses.
User Privileges Level
 Hak Akses Global
 GRANT SELECT ON *.* TO ‘userA’@’localhost’;
 Hak Akses Level Database
 GRANT SELECT ON penjualan.* TO 'userA'@'localhost';
 Hak Akses Level Tabel
 GRANT SELECT ON [Link] TO
'userA'@'localhost';
 Hak Akses Level Kolom
 GRANT SELECT (id_barang,nama_barang) ON
[Link] TO 'userA'@'localhost';
Role
 Role merupakan kumpulan
dari privileges yang
dikelompokkan menjadi
satu.
 Role dapat terdiri dari
privileges maupun role yang
lain
 Diciptakan untuk
mempermudah
pengelolaanhak akses yang
akan diberikan kepada user.
Create Role
 Membuat role
 CREATE ROLE 'app_developer', 'app_read', 'app_write';

 GRANT PRIVILEGE ke ROLE


 GRANT ALL ON hr.* TO 'app_developer';
 GRANT SELECT ON hr.* TO 'app_read';
 GRANT INSERT, UPDATE, DELETE ON hr.* TO 'app_write';

 Grant role to user


 GRANT 'app_developer' TO 'dev1'@'localhost';
 GRANT 'app_read' TO 'rino'@'localhost'
 GRANT 'app_read' TO 'siska'@'localhost';
 GRANT 'app_read', 'app_write' TO 'hasrul'@'localhost';
WITH GRANT OPTION dan
PUBLIC
 Dengan penambahan WITH GRANT OPTION pada saat
memberikan suatu object privilege, maka akan membuat user
yang diberi object privilege dapat memberikan hak yang
diberikan atasnya itu kepada user yang lain.

 GRANT SELECT, INSERT ON [Link] TO


‘UserA'@'localhost' WITH GRANT OPTION;
REVOKE
 REVOKE dapat di buat untuk menghapus seluruh atau salah satu hak akses saja. :

 REVOKE jenis_hak_akses (kolom1,kolom2) ON nama_database.nama_tabel FROM


nama_user@lokasi_user;

 jenis_hak_akses adalah privileges yang akan dihapus dari user tersebut.


 kolom1,kolom2 adalah nama judul kolom yang hak aksesnya akan dicabut. Jika tidak
diisi, maka dianggap query REVOKE akan menghapus pada seluruh kolom.
 nama_database adalah nama database yang ingin dihapuskan hak aksesnya.
nama_database bisa ditulis dengan tanda bintang (*) untuk merujuk kepada seluruh
database.
 nama_tabel adalah nama tabel yang ingin dihapuskan hak aksesnya. nama_tabel bisa
ditulis dengan tanda bintang (*) untuk merujuk kepada seluruh tabel.
 nama_user adalah nama dari user yang akan dihapus hak aksesnya.
 lokasi_user adalah alamat IP dari user yang akan dihapus hak aksesnya.
DROP and RENAME

 DROP USER user [, user] ...

 RENAME USER old_user TO new_user


Show all user
Show user privileges
Latihan
1. Buat database baru, silakan download di [Link]
2. Buat user SCOTT, DEHAAN, dan KOCHHAR
3. Buatlah role CTABLER yang memberikan akses untuk dapat membuat tabel di
database HR pada user SCOTT?
4. Buatlah sebuah tabel sederhana di user SCOTT, DEHAAN dan KOCHHAR.
Apakah semua user dapat membuat tabel? Jelaskan alasannya.
5. Berikan privilege ke user SCOTT untuk dapat melakukan perintah select,
insert, update pada table JOBS dan dapat memberikan privilege tersebut ke
user lain
6. SCOTT akan memberikan privilege ke table JOBS berikut ini (LOGIN USER
SCOTT):
a. Kepada DEHAAN, SCOTT hanya memberikan akses untuk perintah SELECT
b. Kepada KOCHHAR, SCOTT hanya memberikan akses untuk perintah INSERT

Anda mungkin juga menyukai