dhindaoktav's blog ☺: kosan~
itu kost'am yang akan kamu tempati nanti saat kuliah ?
Pradahlan Sindu Mardiko
DAN HARI INI....... Tuhan mengizinkanmu melakukan KESALAHAN agar esok engkau lebih mengerti dan menghargai nilai dari sebuah KEBENARAN"
Senin, 02 Juli 2012
Minggu, 25 Maret 2012
Tugas 5 "DCL dan Normalisasi"
DCL
dan Normalisasi
Kali ini saya ingin mencoba membahas dari bab ini
yaitu DCL dan Normalisasi, bagaimana kita mengerti dan memahami apa itu DCL (Data
Control Language) juga bagaimana perintah-perintah cara pengaplikasianya, lalu
ada lagi bagaimana kita bisa memahami contoh kasus lain tentang normalisasi. Berikut
penjelasan dari bab ini.
Perintah-perintah
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. Ada 2 perintah yang mendukung terjadinya DCL (Data Control
Language) yaitu Grant dan Revoke.
Penjelasan 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
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.
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.
Contoh normalisasi pada kasus lain
Sebelum kita mengetahui normalisasi pada kasus baiknya ada baiknya kita
harus mengetahui apa makna dari teknik normalisasi dan bagaimana cara
penjelasanya dari Teknik Normalisasi untuk diaplikasikan itu sendiri.
Teknik Normalisasi
Normalisasi merupakan sebuah teknik dalam logical
desain sebuah basis data, teknik pengelompokkan atribut dari suatu relasi
sehingga membentuk struktur relasi yang baik (tanpa redudansi).
Contoh normalisasi dari
kasus lain :
Sebuah field dengan
banyak data atau kita bisa menyebutnya data tersebut tidak tunggal
no_id
|
tanggal
|
Nama_mahasiswa
|
nama_buku
|
1
|
23/03/2012
|
Andi
|
Teori
fisika,Rancang Gedung
|
2
|
23/03/2012
|
Yono
|
Aplikasi
Linux,ICT
|
3
|
23/03/2012
|
Steven
|
Pembuatan
desain web,Video
|
4
|
23/02/2012
|
Gandhi
|
Teori
fluida dan aerodinamika
|
Contoh teknik normalisasi sampai ketiga
Teknik Normalisasi
Pertama :
Membuat sebuah primery
key dari sebuah table, agar setiap data yang ingin kita buat atau field lainya
hanya menggantungkan dari satu field dan itu dijadikan sebuah primery key. Dalam
kasus ini sebuah nomor id akan dijadikan sebuah primery key namun primery key
ini hanya melibatkan satu saja bukan id_buku ataupun id_penerbit.
Ket: field yang
bercetak tebal yaitu primery key
tbl_pembelian
no_id
|
nama_pembeli
|
id_buku
|
judul_buku
|
id_penerbit
|
penerbit
|
id_harga
|
harga_buku
|
101
|
Mujiono
|
3410
|
Aerodinamika
|
100
|
Bumi
aksara
|
36
|
Rp.
55.000,-
|
102
|
Adinda
|
2450
|
Rancang
Gedung
|
250
|
Global
Media
|
75
|
Rp.
72.000,-
|
103
|
Kemal
|
3410
|
Aerodinamika
|
100
|
Bumi
aksara
|
36
|
Rp.
55.000,-
|
104
|
Fahrobi
|
3224
|
Editing
Audio
|
450
|
Kampus
Buku
|
67
|
Rp.
80.000,-
|
105
|
Hasan
|
2789
|
Mengenal
ICT
|
340
|
Wahana
IT
|
84
|
Rp.
65.000,-
|
Teknik Normalisasi Kedua :
Lalu pada teknik yang
kedua, sebuah field yang tergantung pada salah satu field harus dipisahkan,
seperti contoh field sebuah judul_buku sangat tergantung pada field id_buku dan
sama juga dengan penerbit yang menggantungkan terhadap id_penerbit, maka dari
itulah field tersebut harus dipisahkan dengan tabel pembelian dan dari situlah
kita bisa membuat sebuah tabel yang terpisah dari kolom tersebut.
tbl_pembelian
no_id
|
nama_pembeli
|
id_buku
|
id_penerbit
|
101
|
Mujiono
|
3410
|
100
|
102
|
Adinda
|
2450
|
250
|
103
|
Kemal
|
3410
|
100
|
104
|
Fahrobi
|
3224
|
450
|
105
|
Hasan
|
2789
|
340
|
tbl_buku
id_buku
|
judul_buku
|
3410
|
Aerodinamika
|
2450
|
Rancang
Gedung
|
3410
|
Aerodinamika
|
3224
|
Editing
Audio
|
2789
|
Mengenal
ICT
|
tbl_penerbit
Id_Penerbit
|
penerbit
|
100
|
Bumi aksara
|
250
|
Global Media
|
100
|
Bumi aksara
|
450
|
Kampus Buku
|
340
|
Wahana IT
|
tbl_harga
id_harga
|
harga_buku
|
36
|
Rp.
55.000,-
|
75
|
Rp.
72.000,-
|
36
|
Rp.
55.000,-
|
67
|
Rp.
80.000,-
|
84
|
Rp.
65.000,-
|
Teknik Normalisasi Ketiga :
Selanjutnya kali ini
proses teknik normalisasi ketiga, setelah pada field dipisahkan lalu dibuat
table yang baru, maka saat yang tepat adalah pembenahan/memperbaiki data. Ada beberapa
keganjilan sebuah data pada tabel sebuah buku record ketiga yang memiliki
keganjilan dan tidak sesuai dengan field_id dan sebuah table penerbit pun
memiliki redudansi yaitu sebuah pengulangan data, maka dari itulah table buku
lalu table penerbit juga table harga harus segera diperbaiki agar tidak terjadi
sebuah kesalahan data yang beresiko tidak dapat dismpanya data, berikut table
yang diperbaiki :
tbl_buku
id_buku
|
judul_buku
|
3410
|
Aerodinamika
|
2450
|
Rancang
Gedung
|
3224
|
Editing Audio
|
2789
|
Mengenal ICT
|
tbl_penerbit
id_Penerbit
|
penerbit
|
100
|
Bumi aksara
|
250
|
Global Media
|
450
|
Kampus Buku
|
340
|
Wahana IT
|
tbl_harga
id_harga
|
harga_buku
|
36
|
Rp.
55.000,-
|
75
|
Rp.
72.000,-
|
67
|
Rp.
80.000,-
|
84
|
Rp.
65.000,-
|
Demikian bagaiman cara
teknik normalisasi sampai ketiga pada databese, Sebenarnya masih ada lagi bentuk normalisasi yang
lain, yi Normalisasi Boyce-Codd dan normalisasi keempat, hanya saja ada beberapa yang sangat jarang dipakai pada kebanyakan kasus normalisasi hanya sampai ketiga.
Langganan:
Postingan (Atom)