Sabtu, 10 November 2012

Tugas Konsep Basis Data 6

1.Praktekan perintah-perintah pada DCL

perntah perintah pada DCL
Sebelum kita mengenal apa saja perintah perintah pada DCL, sebaiknya kita mengenal dulu tentang pengertian dan penjelasan DCL. 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 dokter TO Admin;
2. GRANT SELECT ON dokter TO Admin;
3. GRANT SELECT ON dokter  TO Admin;
4. GRANT ALL PRIVILEGES ON dokter TO Admin;
5. GRANT ALL ON dokter  TO Admin
6. SHOW GRANTS FOR root@localhost;
7. SHOW GRANTS FOR Admin;
8. GRANT SELECT,INSERT ON Point_Of_Sales.jualDetail TO Admin;
9. GRANT SELECT(Kode,Nama) ON Point_Of_Sales.jenis TO Admin;
10. GRANT UPDATE (kodeItem,NmItem,kategori,Harga) ON Point_Of_Sales.item TO Admin;

GRANT SELECT

GRANT ALL PRIVILEGES

GRANT ALL

SHOW GRANTS



GRANT  SELECT, INSERT

GRANT UPDATE



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
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.

REVOKE SELECT

REVOKE UPDATE

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

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.
Contoh Normalisasi Pada Kasus Lainnya,
Relasi tidak normal
tbl_daftar_mobil
negara merk_mobil tipe_mobil harga
Italia Lamborghini Aventador $ 800.000
Gallardo $ 600.000
Urus $ 550.000
Amerika Chevrolet Corvette $ 300.000
Camaro $ 200.000
Suburban $ 80.000

Relasi Normal
tbl_daftar_mobil
negara merk_mobil tipe_mobil harga
Italia Lamborghini Aventador $ 800.000
Italia Lamborghini Gallardo $ 600.000
Italia Lamborghini Urus $ 550.000
Amerika Chevrolet Corvette $ 300.000
Amerika Chevrolet Camaro $ 200.000
Amerika Chevrolet Suburban $ 80.000






 3.Dari tabel data yang dihasilkan pada perancangan basis data, lakukanlah normalisasi pada tabel-tabel tersebut sampai bentuk normal ketiga !

Contoh teknik normalisasi sampai ketiga
Teknik Normalisasi Pertama :
Membuat dan menentukan primary key pada tablenya, supaya setiap data atau field field lainya tergantung hanya pada satu field yaitu yang dijadikan primary key. pada kasus ini field negara yang akan dijadikan primary key bukan id_tipe atau id_mobil.

field yang dicetak miring yaitu primary key.
tbl_pembelian
negara merk_mobil id_merk tipe_mobil id_tipe harga
Italia Lamborghini 2500 Aventador 100 $ 800.000
Italia Lamborghini 2500 Gallardo 200 $ 600.000
Italia Lamborghini 2500 Urus 300 $ 550.000
Amerika Chevrolet 3500 Corvette 400 $ 300.000
Amerika Chevrolet 3500 Camaro 500 $ 200.000
Amerika Chevrolet 3500 Suburban 600 $ 80.000

Teknik Normalisasi Kedua :
lalu pada teknik yang kedua, field field yang tergantung pada satu field harus dipisahkan, seperti pada contoh field merk_mobil tergantung pada field id_merk dan tipe_mobil tergantung dengan field id_tipe, maka dari itu field tersebut di pisahkan dengan tbl_daftar_mobil, sehingga harus dibuat tabel yang terpisah.

tbl_daftar_mobil
negara id_merk id_tipe harga
Italia 2500 100 $ 800.000
Italia 2500 200 $ 600.000
Italia 2500 300 $ 550.000
Amerika 3500 400 $ 300.000
Amerika 3500 500 $ 200.000
Amerika 3500 600 $ 80.000

tbl_merk
id_merk merk
2500 Lamborghini
2500 Lamborghini
2500 Lamborghini
3500 Chevrolet
3500 Chevrolet
3500 Chevrolet
2500 Lamborghini

tbl_tipe
Id_tipe tipe
100 Aventador
200 Gallardo
300 Urus
400 Corvette
500 Camaro
600 Suburban
300Urus

Teknik Normalisasi Ketiga :
selanjutnya teknik normalisasi ketiga, setelah field field dipisah sehingga dibuat table yang baru, maka waktunya pembenahan data. Diketahui sebelumnya pada tabel buku record kelima terdapat keganjilan data yang tidak sesuai dengan field id_merk nya dan pada tabel tipe pun terdapat redudansi data atau pengulangan data, maka dari itu tabel merk dan tabel tipe harus diperbaiki dan diubah sehingga tidak terjadinya kesalahan dalam penyimpanan data, seperti pada contoh di bawah ini :

tbl_merk
Id_merk merk
2500 Lamborghini
2500 Lamborghini
2500 Lamborghini
3500 Chevrolet
3500 Chevrolet
3500 Chevrolet

tbl_tipe
Id_tipe tipe
100 Aventador
200 Gallardo
300 Urus
400 Corvette
500 Camaro
600 Suburban

http://rockrr.blogspot.com/2012/04/perintah-perintah-pada-dcl.html 

Tidak ada komentar:

Posting Komentar