Pengajar: Achmad Bachris
Oleh: Ikhwan Darmawan
Kelas: TKJ 1B
No.absen : 09
Soal dan Jawaban:
1. Praktekkan perintah-perintah pada DCL!
Jawab:
Perintah-perintah lain yang termasuk dalam data control language adalah :
a. Commit
Merupakan perintah yang digunakan untuk memindahkan transaksi dari memory pemrosesan ke database atau menyimpan secara permanen perubahan-perubahan kedalam database.
b. Rollback
Merupakan perintah yang digunakan untuk membatalkan transaksi yang belum di commit atau membatalkan perubahan-perubahan terakhir dari perintah commit/rollback terakhir.
2. Berikan contoh normalisasi pada kasus lain!
Jawab:
Jawab:
Normalisasi Kedua
Pada aturan ini kita akan memisahkan field field yang tergantung pada satu field, seperti field judulDvd dengan idDvd dan genre dengan idGenre. Field tersebut harus dipisahkan dari tbl_peminjam.
1. Praktekkan perintah-perintah pada DCL!
Jawab:
DCL adalah perintah-perintah yang
digunakan untuk membantu mengontrol keamanan setiap database atau
sebagian isi dari database dengan membuat hak–hak akses tertentu bagi
setiap user.
Perintah tersebut adalah :
a. Grant
b. Revoke
Penjelasan tentang Grant
- GRANT : Digunakan untuk memberikan
hak akses oleh administrator (pemilik utama) server kepada user
(pengguna biasa). Hak akses tersebut berupa hak membuat (CREATE),
mengambil (SELECT), menghapus (DELETE), mengubah (UPDATE), dan hak
khusus berkenaan dengan sistem databasenya.
- Grant berfungsi juga untuk membuat user baru dan memberikan hak istimewa.
- Grant digunakan untuk memberikan privilege kepada tabel yang didefinisikan kepada pemakai lain.
- Privilege untuk pemakai dalam
perintah grant didefinisikan dengan menggunakan nama-nama privilege.
Nama privilege memudahkan admin untuk dapat memberikan privilege tanpa
harus tahu apa nama field dan tabel yang harus diisi.
-
Perintah grant secara otomatis akan menambah data pemakai apabila
data nama pemakai yang disertakan pada perintah tersebut belum ada
dalam tabel user. Perintah grant memudahkan administrator untuk tidak
perlu melakukan perintah pendefinisian privilege dengan menggunakan
sql. Karena dengan menggunakan sql, kita harus hafal nama tabel yang
harus diisi, field apa saja yang harus diisi, jumlah field yang harus
diisi.
Sintak Umum : GRANT hak_akses ON nama_tabel TO pemakai;
GRANT ALL PRIVILEGES ON database_name.* TO ‘myuser’
IDENTIFIED BY ‘mypassword’;
Contoh Penggunaan :
1. GRANT SELECT ON Point_Of_Sales.jenis TO Febe;
2. GRANT SELECT ON Point_Of_Sales.jenisTO Winda;
3. GRANT SELECT ON Point_Of_Sales.item TO Elfrida;
4. GRANT ALL PRIVILEGES ON Point_Of_Sales.User TO Admin;
5. GRANT ALL ON Point_Of_Sales.jualDetail TO Admin
6. SHOW GRANTS FOR root@localhost;
7. SHOW GRANTS FOR Admin;
8. GRANT SELECT,INSERT ON Point_Of_Sales.jualDetail TO kasir;
9. GRANT SELECT(Kode,Nama) ON Point_Of_Sales.jenis TO Elfrida;
10. GRANT UPDATE (kodeItem,NmItem,kategori,Harga) ON Point_Of_Sales.item TO Elfrida;
Penjelasan tentang Revoke
REVOKE : Perintah ini memiliki
kegunaan terbalik dengan GRANT, yaitu untuk menghilangkan hak akses yang
telah diberikan kepada user oleh administrator atau mencabut hak-hak
dari seorang user terhadap database tertentu atau sebagian isi dari
database.
Sintak Umum Revoke :
REVOKE hak_akses ON nama_tabel FROM namaAccount@namaHost;
Menghapus batasan hak akses utk database & tabel :
REVOKE hak_akses ON nama_database.nama_tabel
FROM user;
Menghapus batasan hak akses untuk kolom tertentu :
REVOKE hak_akses(field1,field2, field3,…) ON
nama_database.nama_tabel FROM user
Sintak Umum Revoke :
REVOKE hak_akses ON nama_tabel FROM namaAccount@namaHost;
Menghapus batasan hak akses utk database & tabel :
REVOKE hak_akses ON nama_database.nama_tabel
FROM user;
Menghapus batasan hak akses untuk kolom tertentu :
REVOKE hak_akses(field1,field2, field3,…) ON
nama_database.nama_tabel FROM user
Penulisan perintah revoke :
- Hak akses(field) : kita harus
memberikan sedikitnya satu hak akses. Untuk setiap hak akses yang
diberikan, dapat juga diberikan daftar field yang diletakkan dalam
kurung, dan dipisahkan dengan tanda koma. Contoh : REVOKE select (nim,
nama), update, insert(nim), …
-
NamaTabel : merupakan nama tabel yang dikenal hak akses tersebut, harus
ada sedikitnya satu nama tabel. Dan dapat menggunakan simbol asterik
(*) untuk mewakili semua tabel pada database aktif. Penulisan namaTabel
dapat juga diikuti oleh nama database diikuti nama tabel yang
dipisahkan dengan tanda titik. Menggunakan simbol *.* berarti semua
database dan semua tabel yang dikenai hak akses tersebut.
Perintah-perintah lain yang termasuk dalam data control language adalah :
a. Commit
Merupakan perintah yang digunakan untuk memindahkan transaksi dari memory pemrosesan ke database atau menyimpan secara permanen perubahan-perubahan kedalam database.
b. Rollback
Merupakan perintah yang digunakan untuk membatalkan transaksi yang belum di commit atau membatalkan perubahan-perubahan terakhir dari perintah commit/rollback terakhir.
Perintah tersebut adalah :
a. Grant
b. Revoke
2. Berikan contoh normalisasi pada kasus lain!
Jawab:
Teknik
Normalisasi merupakan sebuah cara untuk membuat database
dengan terstruktur dan terorganisasi supaya data terisimpan dalam tabel
dengan baik dan efisien tanpa adanya pengulangan data(redudansi data).
Istilah normalisasi dapat disederhanakan menjadi memecah relasi menjadi
beberapa tabel untuk mendapat database yang optimal.
3.
Dari tabel data yang dihasilkan pada perancangan basis data, lakukanlah
normalisasi pada tabel-tabel tersebut sampai bentuk normal ketiga!Jawab:
Normalisasi Pertama
Di sini kita akan terlebih dahulu membuat dan menentukan primary key pada
tablenya, supaya setiap data atau field field lainya tergantung hanya
pada satu field. Dalam tabel ini, Primary Key nya adalah idPeminjam.
tbl_peminjam
Normalisasi Kedua
Pada aturan ini kita akan memisahkan field field yang tergantung pada satu field, seperti field judulDvd dengan idDvd dan genre dengan idGenre. Field tersebut harus dipisahkan dari tbl_peminjam.
tbl_peminjam
tbl_dvd
tbl_genre Normalisasi Ketiga
Pada tahap ini kita akan membenahi data, data-data yang telah dibuatkan tabel yang baru akan dicek, apabila terjadi redudansi, maka data tersebut akan dihilangkan. Misalkan saya mempunyai data seperti berikut:
tbl_dvd
tbl_dvd