Nama : Muhammad Abdullah Alwi
NIM : 4812020018
KELAS : TMJ 1 AeU
DOSEN : Achmad Bachris
1. Macam Perintah pada DCL
- Grant
-
Revoke
2. Teknik normalisasi banyak digunakan
terutama pemula karena mudah dipahami dan diaplikasikan.
Dasar-dasar normalisasi
- Normal form (bentuk normal) adalah
suatu klas dari skema database relasi yang didefinisikan untuk
memenuhi tujuan dari tingginya integritas dan maintainability
- Kreasi dari suatu bentuk normal
disebut normalisasi
- Normalisasi dicapai dengan
penganalisaan ketergantungan diantara setiap individu attribut yang
diassosiasikan dengan relasinya
First normal form
- Suatu relasi ada dalam kondisi First
Normal Form (1NF) jika dan hanya jika semua domain yang
tercakup terdiri hanya atomic value, misalnya tidak ada pengulangan
group (domain-domain) dalam suatu tuple
- Keuntungan dari 1NF dibanding Unnormalized
relation (UNRs) adalah pada bentuk penyederhanaan representasi dan
kemudahan dalam pengembangan menggunakan suatu query language
- Kekuranannnya adalah kebutuhan
terhadap duplikasi data
- Sebagian besar sistem relasi (tidak
semua) membutuhkan suatu relasi dalam bentuk 1NF
Second Normal Form
- Suatu superkey adalah suatu himpunan
dari satu atau lebih attribute, yang mana, dimana diambil secara
khusus yang memmungkinkan kita untuk mengidentifikasikan secara unik
satu entitas atau relasi
- Suatu Candidate key adalah suatu
subset dari attribut-attribut pada superkey yang juga merupakan superkey
dan tidak reducible ke superkey yang lain
- Suatu primary key dipilih dari
himpunan candidate key untuk digunakan pada suatu index untuk relasi
yang bersangkutan
- Kepemilikan dari satu atau beberapa
attribute yang dapat didefinisikan secara unik dari nilai satu atau
beberapa attribute disebut functional dependency
- Diberikan suatu relasi (R), suatu
himpunan (B) adalah functionally dependent pada himpunan attribut yang lain(A)
jika, pada satu waktu tertentu, setiap nilai A diassosiasikan dengan satu
nilai B, bentuk ini adalah suatu FD yang dinotasikan dengan
A → B
• contohR : {paper-id, inst-name,
isnt-addr, editor-id, publ-id, auth-id, auth-name,auth-addr}Fds : paper-id,
auth-id → auth-namepaper-id,auth-id → auth-addrpaper-id,
auth-id → inst-namepaper-id,
auth-id → inst-addrauth-id → auth-nameauth-id → auth-addrinst-name → inst-addrpaper-id → editor-idpaper-id → publ-idbentuk
sederhanapaper-id, auth-id → auth-name, auth-addr, inst-name,
inst-addrauth-id → auth-name,
auth-addrinst-name → inst-addr
paper-id → pub-id, editor-id
- Suatu relasi adalah dalam posisi
second normal form (2NF) jika dan hanya jika relasi tersebut juga dalam
1NF dan setiap nonkey attribute tergantung penuh pada primary key-nya
- 2NF membutuhkan bahwa FD apapun
didalam relasi harus berisi semua komponen dari primary key
sebagai determinant, baik secara langsung atau transitif
- contoh, primary key adalah paper_id,
auth_id. Bagaimanapun, terdapat Fds yang lain
(auth_Id → auth-name, auth-addr, and
paper-id → pub-id, editor-id) yang berisi satu komponen dari
primary key, tetapi tidak keduaduanya.
- Mengapa harus 2NF, pertimbangkan
keuntungan dari 1NF pada R. paper, pub-id dan editor-id dibuat duplikat.
Untuk setiap author dari paper. Jika editor dari publikasi untuk suatu
paper berubah, beberapa tuple harus pula di-update. Akhirnya, jika
satu paper di ambil, semua tupple yang diassosiasikan harus dihapus.
Bentuk ini akan memberikan efek samping pada penghapusan informasi
yang mengassosiasikan suatu auth-id dengan auth-name dan
auth-addr.
- Suatu cara yang dapat dilakukan untuk
hal tersebut adalah dengan mentransformasikan relasi kedalam dua
atau beberapa relasi 2NF
contohR1 : paper-id,
auth-id → inst-name, inst-addrR2 : auth-id → auth-name,
auth-addrR3 : paper-id → pub-id, editor-id
Third Normal Form
- Pada R1, inst_addr pasti diduplikat
untuk setiap kombinasi paper_author yang mejelaskan satu inst_name.
Juga, jika kita menghapus satu paper dari database, kita harus
memberikan efek samping penghapusan assosiasi antara inst_name dan
inst_addr.
- Suatu relasi dalam Third Normal Form
(3NF) jika dan hanya jika relasi tersebut dalam 2NF dan setiap non key
attribute adalah nontransitive dependent pada primary key
Contoh :R11 : paper-id,
auth-id → inst-nameR12 : inst_name →inst_addrR2 :
auth-id → auth-name, auth-addrR3 : paper-id → pub-id,
editor-id
Boyce-Codd Normal Form
- Suatu Trivial FD adalah suatu bentuk
YZ → Z
- Suatu relasi R dalam kondisi
Boyce-Codd Normal Form (BCNF) jika untuk semua nontrivial FD
X → A, X adalah superkey
- BCNF adalah suatu bentuk yang lebih
kuat dari normalisasi ke tiga. 3NF equivalent dengan perkataan bahwauntuk
setiap nontrivial FD X → A, dimana X dan A merupakan simple atau
composite attribut, satu dari duakondisi harus dipenuhi.X adalah superkey,
atauA adalah prime attribute
- BCNF mengelimisasi kondisi kedua dari
3NF
Penerapan Bentuk Normalisasi
Proses perancangan database menggunakan
metode normalisasi dapat dimulai dari dokumen dasar yang pakai dalam
sistem.
- Menuliskan
semua data yang akan direkam, bagian yang double tidak perlu dituliskan.
Terlihat record record yang tidak lengkap, sulit untuk membayangkan
bagaimana bentuk record yang harus dibentuk untuk merekam data tersebut.
- Bentuklah
menjadi bentuk normal kesatu dengan memisah misahkan data pada field field
yang tepat dan benilai atomic, juga seluruh record harus lengkap adanya.
Bentuk file adalah flat file.
Dengan bentuk normal kesatu ini telah dapat dibuat satu file dengan
11 field yaitu nomor factur, kode supplier, nama supplier, kode barang,
nama barang, tanggal, jatuh tempo, quantitas, harga, jumlah, total satu
factur.
- selanjutnya
Sebagai contoh kita
perhatian data pada suatu rumah sakit bedah yang telah tersusun dalam bentuk
laporan.
Tabel -2
Tabel 2 adalah suatu relasi yang tak
normal.Perpotongan antara baris dan kolom ada yang memiliki lebih dari satu
nilai.Identifikasi unik (primary key) dari table 2 adalah NO PASIEN.Berdasankan
nilai key ini kita tidak bisa memperoleh nilai atribut yang unik, karena
terjadi group pengulangan pada kolom-kolom
- NO DOKTER
- NAMA DOKTER
- TGL OPERASI
- JENIS OPERASI
Disain dengan group pengulangan seperti
ini akan banyak menimbulkan masalah dalam melakukan pemrosesan, yaitu
diperlukan program aplikasi yang sedikit kompleks, karena untuk kolom di mana
terjadi group pengulangan diperlukan penanganan khusus.
1NF
Untuk mengatasi hal ini,
kita transformasikan tabel pada table 2 menajdi tabel
dengan relasi bentuk normal pertama table 3.Identifikasi unik
pada tabel iniadalah NO PASIEN, NO DOKTER, TGL OPERASI. Dengan kata
lain, jika kita mengetahui NO PASIEN, NO DOKTER dan TGL OPERASI maka
kita bisamemperoleh nilai unik dan atribut-atnibut yang
lainnya. Dalam hal ini dikatakan, semua atribut
yang bukan sebagai key secara bersama-sama
bergantung penuh kepada identifikasi unik.
Identifikasi unik ini disebut sebagai primary key
dari tabel 1NF.
Penyimpangan yang terjadi pada relasi
bentuk normal ke pertama ini adalah sbb :Penyimpangan penyisipanJika
ada pasien baru yang akan dioperasi, tapi kita belum tahu
siapa dokternya dan kapan operasi dilakukan, maka kita tidakbisa
menyisipkan data tentang pasien tersebut berdasarkan primary key yang
ada. Untuk menyisipkan NAMA PASIEN dan ALAMAT PASIEN, kita hanya
membutuhkan NO PASIEN sebagal key. Jadi kita tidak bisa
menyisipkan data sebelum diketahui dokter siapa dan kapan operasi akan
dilakukan. Jika kitaplsahkan atribut NAMA PASIEN, ALAMAT
PASIEN bersama-sama dengan NOPASIEN, maka penyisipan data pasien baru
bisa dilakukan.
Hal yang sama juga terjadi jika kita ingin menyisipkan dokter yang baru mulal
bekerja pada rumah sakit tersebut. Selama dokter baru tersebut belum pemah
melakukan operasi, maka kita tidak bisa menyisipkan data tentang doktertersebut
ke dalam entiti. Hal ini bisa diatasi dengan
memisahkan atribut NAMADOKTER bersama-sama
dengan atribut NO DOKTER menjadi satu entiti baru.Penyimpangan
perubahanPasien yang merupakan langganan rumah sakit tersebut yang beberapa
kali dioperasi, seperti mlsalnya pasien dengan nama JOHN, setiap kali dilakukan
operasi, data-data tentang JOHN, yaitu NAMA dan ALAMAT akan tercatat dalam satu
rekord. Dalam contoh ini JOHN dioperasi sebanyak empat kali, maka JOHN memiliki
empat rekord. Jika suatu saat, misahiya JOHN dioperasi untuk yang ke lima
kalinya, sedangkan pada seat ituJOHN sudah pindah alamat. Jadi
alamat-alamat yang tercatat sebelumnya tidak berlaku lagi
dan perlu diperbaharui.karena alamat JOHN tercatatdibeberapa
tempat, maka pembaharuan juga harus dilakukan dibeberapa tempat.
ini adalah contoh penyimpangan
perubaban yang muncul pada table dengan relasi bentuk
pertama.Penyimpangan perubahan ini bisa diatasi, jika atribut-atribut NAMA
PASIEN dan ALAMAT PASIEN tercatat hanya sekali untuk setiap
pasien.
Hal ini bias dilakukan dengan menempatkan atribut NAMA PASIEN dan
AIAMAT PASIEN bersama-sarna dengan NO PASIEN dalam satu
entiti
terpisah.Penyimpangan-penghapusan yang teijadi pada relasi bentuk
pertama ini adalah sebagai berikut: Penyimpangan penghapusanMisalnya adapasien yang
dirawat meninggal dunia, misalnya pasien dengan nama BUD!. Ketika
data-data tentang BUDI dihapus, secara tidak sengaja kita juga
kehilangan data-data tentang dokter yang melakukan operasi terhadap BUDI, yaltu
DR. A. Kebetulan. DR. A melakukan operasi baru sekali, sehingga data-data
tentang DR. A tidak ada ditempat lain. Tentunya hal.ini tidak diinginkan karena
data-data tentang DR. A masih dlbutuhkan di rumahsakit
tersebut.Penyimpangan penghapusan seperti pada contoh ini, bisa diatasi dengan
memisahkan data-data tentang dokter menjadi satu entili terpisah, dengan demikian setiap
ada pasien yang meninggal dunia dan rekordnya Ingin dihapus,
kita tidak akan kehilangan data-data tentang dokter
yang merawatnya.
Di samping penyimpangan di atas, pada relasi
dengan bentuk normal pertama juga terjadi
penyimpangan-penyimpangan tempat penyunpanan
(storageAnomaly), yaftu pada kolom kolom NO PASIEN, NAMA PASIEN,
ALAMAT PASIENterdapat nilai yang ditulis berulang-ulang,
ini disebabkan karena pasiendengan NAMA
dan ALAMAT tersebut menjalani beberapa kali operasi. Hal
yang sama juga terjadi pada kolom NO DOKTER dan NAMA DOKTER yaitu untuk
dokter-dokter yang telah melakukan beberapa kali operasi.
Penyimpangan inimuncul karena ada atribut-atribut yang bergantung secara
penuh kepada bagian dari key. Seperti mlsa]nya NAMA PASIEN
dan M4MAT PASIEN bergantung secara penuh pada NO PASIEN, dan NO
PASIEN adalah bagian dari key. Demikian juga untuk atribut NAMA DOKTER
yang bergantung secara penuhpad NO DOKTER yang merupakan bagian dari
key.
Untuk mengatasi penyimpangan.penyimpangan yang terjadi pada bentuk normal
pertama adalah pisahkan kolorn-kolom ditempat mana duplikasi data
terjadi atau bangun enilti baru yang terdiri dari atribut
atribut yang bergantung secara penuh
pada bagian dari key, dengan keteutuan sebag benikut:
I. Key dari tabel baru adalah key dari
group dupilkasi.2. Key dari tabel asal adalah
sebagai atribut pada tabel baru.3 Mungkin perlu menyertakan key
ataubagian dar key pada tabel asal
sebagai key pada tabel baru Group duplikasi pada
pembahasan kita adalah NO PASIEN, NAMA PASIEN ALAMAT PASIEN dan key
dari group ini adalah No PASIEN
Tabel-4
Sedangkan group duplikasi yang
lain, yaitu NO DOKTER dan NAMA DOK. TERdipisahkan menjadi tabel
DOKTER, dengan key NO DOKTER. Tabel.nya terlihatpada table-5
Tabel-5
Sedangkan entiti asal akan menjadi
seperti benikut, kita sebut saja sebagal
tabel MASTER. Group duplikasi pada tabel yang klta
bicanakan adalah NO PASIEN, NAMA PASIEN, ALAMAT PASIEN. Bentuk
tabel barn dengan nama PASIEN
Tabel-6
Hasil proses normalisasi dan relasi
normal bentuk pertama, yaltu pada table-4, table-5,Tabel-6 adálah
relasi beniUk iormal kedua (2NF).
Untuk melakukan pengecekan, apakah
relasi dalam suatu tabel bukan merupakan bentuk normal ke dua adalah
jika primary key merupakan gabungan dan beberapa atnibut dan ada atribut lain
yang bergantung secara penuh pada salah satu atau bagian dan primary key.
Setiap relasi bentuk normal ice dna makaju merupakan relasi bentuk
normal pertama. Sebaliknya, jika rebel bentuk normal pertama maka
belum teutu merupakan relasi bentuk
normal ice dua. Tabel yang ditunjukkan padaGambar XWJ adalah
relasi bentuk normal pertama, tapi bukan bentuk normal ke dna, sedangkan pada
GambarXWA, Gambar XW.5 dan Gambar XIV4 adeh
relasi bentuk normal pertama dan juga relasi bentuk normal
kedua.Penyunpangan-penyimpangan yang teqadi pada
relasi bentuk normal pertama dapat diatasl
denganmembanin entfti-entiti barn, yaltu entiti MASTER, entitiPASIEN
dan entiti DOKTER. Proses nornalisasi di aimmenghasm relasi bentuk
normal kedua,. Relasi antara
ketiga entiti dapat digambarkan sebagai benlkut PASIEN
< —— >> MASTER << ———- > DOKTER
yaita antara PASIEN dan MASTER satu-ke-banyak danantara DOKTER
dan MASTER satu-ke-banyak.Jika kita inginmenyisipkan data-data
tentang pasien baru, pada relasi bentuk normal kedua kita
melakukannya denganmenyisipkan data teisebut ke entiti PASIEN. Demikian
juga, jika data-data tentang dokter yang ingin dimasukkannya, kita bisa
menyisipkarmya pada entiti DOKTER.Untuk
melakukan perubahan.pembakan alamat pasien, kita tidakpenlu lagi
melakukan perubahan dibeberapa tempat, tapi cukup mengadakan
perubahan satu rekord pada entiti PASIEN. Apabila ada rekord yang
harus dihapus pada entitiMASTER, kita tidak
akan kehilangan data-data tentang dokter yang dihapus pada entiti
MASTER, karena semuadata-data tentang dokter berada dalam
entiti DOKTER.
Penyirnpangan..penyimpangan yang tenjadi pada relasibentuk
normal pertama telah dapat diatasi denganmentransformasikan
menjadi relasi bentuk normal kedua. Walaupun demikian,
bukan berarti pada relasl bentuk normal kedua
sudah tidak ada lagi penyimpangan-penyimpangan tersebut. Berikut
ini kita lihat penyimpangan..penyimpg yang teijadi pada
relasi bentuknormal kedua, perhatjkan Garnbar XW.6. Penyimpanganpenyisipan Kita
tidak bisa menyisipkan data-data tentang obat dan efek
sarnpi.ngannya, kecuali jika obat tersebutdiberikan kepada
pasien. Dengan kata lain, jika kita ingin menyisipican data-data
tentang obat, maka kita tenlebih dahulu hams membangun suatu relasi
dengan primary keypada entiti MASTER. Penyimpangan
penghapusanPenyimpangan penghapusan teijadi jika ada atribut
bukan key yang bergantung penuh pada atnibut yang juga bukan key. Path
gambar XIV.6, atnibut EFEK SAMPINGAN di samping bergantung path
primary key, juga bergantungpath atnbut OBAT YANG DJBERJK yang
bukan sebagai k. Jika misainya ada pasien yang
dlbCdkan PENICILLIN tapi efek sampin ya bukan DEMAM, maka EFEK
SAMPINGAN liii harus dthapus atan diperbahanihi. Jika PENICILLIN dengan
EFEK SAMPINGAN DEMAM mlsalnya tercatat hanya sekali, maka
penghapusan ml akan mengiilangkan informasi teñtang PENICILLIN dengan EFEK
SAMI’INGAN DEMAM. Hal ini mungkin tidak diinginkan.Penyimpangan perubahan JikaEFEK SAMPINGAN
yang dibicarakan dalam kasus penyimpangan penhapusan muncul dibeberapa
tempat, maka perubahan harus dilakukan dibeberapa tempat. Hal
ini tentunya akan membutuhkan lebih banyak waktu dibandingkan dengan
melakukan perubahan hanya pada satu tempat
saja.Penyimpangan-penyimpangan yang terjadi pada relasi bentuk normal
kedua sebagai akibat dari kebergantungan atribut bukan key
(EFEK SAMPINGAN)pada atribut lain yang juga bukan sebagai key
(OBAT YANG DIBERIKAN). Ketergantungan semacam ini disebutketergantungan transitif
(transitive Dependency).Untuk mengatasi ketergantungan transitif ini,
pisahkan atribut-atribut
bukan key yang bergantung pada atribut lain yang juga bukan
key. Dalam catoh ini, kita bangun entiti baru,yaitu
entiti OBAT dengan atribut-atribut OBAT YANG DIBERIKAN dan
EFEK SAMPINGAN. Entiti MASTER sekarang tampak pada table 7 dan
entiti OBAT pada table 8
Tabel-7
Proses normalisasi yang dilakukan pada
relasi bentuk normal kedua menghasilkan relasi dengan bentuk normal
ketiga.
Setiap relasi bentuk normal
ketiga maka juga merupakan relasi bentuk normal
kedua. Sebaliknya, jika relasi bentuk normal kedua
maka belum tentumerupakan relasi bentuk normal ketiga.
Tabel yang ditunjukkan pada table 7adalah relasi bentuk
normal ketiga dan juga relasi bentuk normal
kedua.Penyimpangan-penyimpangan yang terjadi pada relasi bentuk
normalkedua, dapat diatasi dengan membangun entiti
baru yang terdiri dari atribut-atribut yang bergantung transitif,
dan proses normalisasinya menghasil relasibentuk normal
ketiga. Transforrnasi dan relasi bentuk normal kedua
ke relasibentuk normal ketiga hampir sama dengan
transformasi dan bentuk normal pertama
kebentuk normal kedua. Perbedaan keduanya
adaIah, tranformasi dari 1NF ke 2NF, berdasarkan relasi antara atribut bukan key
dengan atribut yang sebagai key sedangbn transformasi dari 2NF ke 3NF, berdasarkan relasi
antara atribut bukan key dengan atribut lain yang juga
bukan key.