Perancangan Database Bagian II
description
Transcript of Perancangan Database Bagian II
Perancangan DatabasePerancangan DatabaseBagian IIBagian II
NormalisasiNormalisasi NormalisasiNormalisasi adalah suatu proses formal adalah suatu proses formal
untuk menentukaan atribut-atribut yang untuk menentukaan atribut-atribut yang seharusnya dikelompokkan secara seharusnya dikelompokkan secara bersama-sama dalam suatu relasibersama-sama dalam suatu relasi
Bentuk normalBentuk normal adalah suatu aturan adalah suatu aturan yang dikenakan pada relasi-relasi dalam yang dikenakan pada relasi-relasi dalam basis data dan harus dipenuhi oleh basis data dan harus dipenuhi oleh relasi-relasi tersebut pada langkah-relasi-relasi tersebut pada langkah-langkah normalisasilangkah normalisasi
Langkah-langkah Langkah-langkah NormalisasiNormalisasi
Tabel dengan Atribut bernilai
ganda
BentukNormalPertama
BentukNormalKedua
Buang atributbernilai ganda
Buang Dependensi
parsial
BentukNormalKetiga
BentukNormal
Lain-lain
Buang Dependensi
transitif
Bentuk normal Boyce-Codd
hingga Bentuk Normal Kelima
Bentuk Normal PertamaBentuk Normal Pertama DefinisiDefinisi::
Suatu relasi berada dalam Suatu relasi berada dalam bentuk normal pertama jika bentuk normal pertama jika relasi tidak mengandung relasi tidak mengandung atribut yang bernilai gandaatribut yang bernilai ganda
Contoh:Contoh:NipNip NamaNama JabatanJabatan Bahasa_AsBahasa_As
ingingTingkatTingkat
187187 ANDI AKBARANDI AKBAR STAFFSTAFF INGGRISINGGRISJERMANJERMAN
AKTIFAKTIFPASIFPASIF
188188 DIANA LUBISDIANA LUBIS STAFFSTAFF INGGRISINGGRIS AKTIFAKTIF189189 PUSPA PUSPA
NUGRAHANINUGRAHANIMANAJEMANAJERR
INGGRISINGGRISJEPANGJEPANG
AKTIFAKTIFAKTIFAKTIF
Atribut bernilai ganda
Bentuk Normal PertamaBentuk Normal Pertama(Lanjutan…)(Lanjutan…)
PemecahanPemecahan:: Buang atribut bergandaBuang atribut berganda CaranyaCaranya: Atur setiap kolom berisi : Atur setiap kolom berisi
satu nilai; Bila isi suatu kolom satu nilai; Bila isi suatu kolom untuk suatu baris berisi n nilai, untuk suatu baris berisi n nilai, maka pecahlah baris menjadi n maka pecahlah baris menjadi n barisbaris
Contoh:Contoh:NiNipp
NamaNama JabatanJabatan Bahasa_AsinBahasa_Asingg
TingkaTingkatt
181877
ANDI AKBARANDI AKBAR STAFFSTAFF INGGRISINGGRIS AKTIFAKTIF
181877
ANDI AKBARANDI AKBAR STAFFSTAFF JERMANJERMAN PASIFPASIF
181888
DIANA LUBISDIANA LUBIS STAFFSTAFF INGGRISINGGRIS AKTIFAKTIF
181899
PUSPA PUSPA NUGRAHANINUGRAHANI
MANAJERMANAJER INGGRISINGGRIS AKTIFAKTIF
181899
PUSPA PUSPA NUGRAHANINUGRAHANI
MANAJERMANAJER JEPANGJEPANG AKTIFAKTIF
Sekarang setiap atribut bernilai tunggal
Bentuk Normal PertamaBentuk Normal Pertama(Lanjutan…)(Lanjutan…)
Contoh lain (Relasi yang Contoh lain (Relasi yang salah)salah)
Kelemahan???Kelemahan???
No_PesanNo_Pesan Tgl_PesanTgl_Pesan Item1Item1 Item2Item2 Item3Item3 Item4Item4 TotalTotal
0600806008 12/01/200612/01/2006 P1P1 P2P2 P3P3 P4P4 4500045000
0600906009 12/01/200612/01/2006 P3P3 P5P5 P6P6 3250032500
0601006010 13/01/200613/01/2006 P1P1 P2P2 1200012000
Bentuk Normal PertamaBentuk Normal Pertama(Lanjutan…)(Lanjutan…)
Model seperti itu dapat diubah menjadi relasi Model seperti itu dapat diubah menjadi relasi seperti berikut (memenuhi bentuk normal seperti berikut (memenuhi bentuk normal pertama):pertama):
No_PesanNo_Pesan Tgl_PesanTgl_Pesan ItemItem TotalTotal0600806008 12/01/20012/01/200
66P1P1 4500045000
0600806008 12/01/20012/01/20066
P2P2 4500045000
0600806008 12/01/20012/01/20066
P3P3 4500045000
0600806008 12/01/20012/01/20066
P4P4 4500045000
0600906009 12/01/20012/01/20066
P3P3 3250032500
0600906009 12/01/20012/01/20066
P5P5 3250032500
0600906009 12/01/20012/01/20066
P6P6 3250032500
0601006010 13/01/20013/01/20066
P1P1 1200012000
0601006010 13/01/20013/01/20066
P2P2 1200012000
Bentuk Normal PertamaBentuk Normal Pertama(Lanjutan…)(Lanjutan…)
Kadangkala bentuk normal masih memiliki masalahKadangkala bentuk normal masih memiliki masalah Masalah yang paling umum adalah Masalah yang paling umum adalah kemubazirankemubaziran
No_PesanNo_Pesan Tgl_PesanTgl_Pesan ItemItem TotalTotal0600806008 12/01/20012/01/200
66P1P1 4500045000
0600806008 12/01/20012/01/20066
P2P2 4500045000
0600806008 12/01/20012/01/20066
P3P3 4500045000
0600806008 12/01/20012/01/20066
P4P4 4500045000
0600906009 12/01/20012/01/20066
P3P3 3250032500
0600906009 12/01/20012/01/20066
P5P5 3250032500
0600906009 12/01/20012/01/20066
P6P6 3250032500
0601006010 13/01/20013/01/20066
P1P1 1200012000
0601006010 13/01/20013/01/20066
P2P2 1200012000
Kemubazirannya dimana????
Bentuk Normal KeduaBentuk Normal Kedua Suatu relasi memenuhi bentuk Suatu relasi memenuhi bentuk
normal kedua jika:normal kedua jika: Relasi telah berada dalam Relasi telah berada dalam bentuk bentuk
normal pertamanormal pertama Setiap Setiap atribut non-kunci-primeratribut non-kunci-primer
memiliki memiliki dependensi sepenuhnya dependensi sepenuhnya terhadap terhadap kunci primerkunci primer
Pengertian Dependensi Pengertian Dependensi SepenuhnyaSepenuhnya
Definisi:Definisi: Suatu atribut Y mempunyai dependensi Suatu atribut Y mempunyai dependensi
sepenuhnya terhadap atribut X jikasepenuhnya terhadap atribut X jika Y mempunyai dependensi terhadap XY mempunyai dependensi terhadap X Y Y tidaktidak mempunyai dependensi terhadap mempunyai dependensi terhadap
bagian dari Xbagian dari X
Contoh Tidak Memenuhi Contoh Tidak Memenuhi Bentuk Normal KeduaBentuk Normal Kedua
NipNip NamaNama JabatanJabatan Bahasa_AsingBahasa_Asing TingkatTingkat
187187 ANDI AKBARANDI AKBAR STAFFSTAFF INGGRISINGGRIS AKTIFAKTIF
187187 ANDI AKBARANDI AKBAR STAFFSTAFF JERMANJERMAN PASIFPASIF
188188 DIANA LUBISDIANA LUBIS STAFFSTAFF INGGRISINGGRIS AKTIFAKTIF
189189 PUSPA NUGRAHANIPUSPA NUGRAHANI MANAJERMANAJER INGGRISINGGRIS AKTIFAKTIF
189189 PUSPA NUGRAHANIPUSPA NUGRAHANI MANAJERMANAJER JEPANGJEPANG AKTIFAKTIF
Nip
Bahasa_Asing
Nama
Jabatan Tingkat
Diagram dependensi fungsional
Penyelesaian Bentuk Penyelesaian Bentuk Normal KeduaNormal Kedua
Terdapat Relasi R:Terdapat Relasi R:R (A, B, C, D)R (A, B, C, D)
Kunci Primer (A, B)Kunci Primer (A, B)A → DA → D
R didekomposisi menjadi R1 dan R2R didekomposisi menjadi R1 dan R2R1 (A, D)R1 (A, D)
Kunci Primer (A)Kunci Primer (A)R2 (A, B, C)R2 (A, B, C)
Kunci Primer (A, B)Kunci Primer (A, B) Kunci Tamu (A) Referensi R1Kunci Tamu (A) Referensi R1
Penyelesaian Bentuk Penyelesaian Bentuk Normal KeduaNormal Kedua
NipNip NamaNama JabatanJabatan Bahasa_AsingBahasa_Asing TingkatTingkat187187 ANDI AKBARANDI AKBAR STAFFSTAFF INGGRISINGGRIS AKTIFAKTIF187187 ANDI AKBARANDI AKBAR STAFFSTAFF JERMANJERMAN PASIFPASIF188188 DIANA LUBISDIANA LUBIS STAFFSTAFF INGGRISINGGRIS AKTIFAKTIF189189 PUSPA NUGRAHANIPUSPA NUGRAHANI MANAJERMANAJER INGGRISINGGRIS AKTIFAKTIF189189 PUSPA NUGRAHANIPUSPA NUGRAHANI MANAJERMANAJER JEPANGJEPANG AKTIFAKTIF
NipNip NamaNama JabatanJabatan
187187 ANDI AKBARANDI AKBAR STAFFSTAFF
187187 ANDI AKBARANDI AKBAR STAFFSTAFF
188188 DIANA LUBISDIANA LUBIS STAFFSTAFF
189189 PUSPA NUGRAHANIPUSPA NUGRAHANI MANAJERMANAJER
189189 PUSPA NUGRAHANIPUSPA NUGRAHANI MANAJERMANAJER
NipNip Bahasa_AsingBahasa_Asing TingkatTingkat
187187 INGGRISINGGRIS AKTIFAKTIF187187 JERMANJERMAN PASIFPASIF188188 INGGRISINGGRIS AKTIFAKTIF189189 INGGRISINGGRIS AKTIFAKTIF189189 JEPANGJEPANG AKTIFAKTIF
Contoh LainContoh Lain
No_PesaNo_Pesann
Tgl_PesaTgl_Pesann
ItemItem TotalTotal
0600806008 12/01/2012/01/200606
P1P1 4500045000
0600806008 12/01/2012/01/200606
P2P2 4500045000
0600806008 12/01/2012/01/200606
P3P3 4500045000
0600806008 12/01/2012/01/200606
P4P4 4500045000
0600906009 12/01/2012/01/200606
P3P3 3250032500
0600906009 12/01/2012/01/200606
P5P5 3250032500
0600906009 12/01/2012/01/200606
P6P6 3250032500
0601006010 13/01/2013/01/200606
P1P1 1200012000
0601006010 13/01/2013/01/200606
P2P2 1200012000
No_PesanNo_Pesan Tgl_PesanTgl_Pesan TotalTotal0600806008 12/01/20012/01/200
664500045000
0600906009 12/01/20012/01/20066
3250032500
0601006010 13/01/20013/01/20066
1200012000
No_PesanNo_Pesan ItemItem0600806008 P1P10600806008 P2P20600806008 P3P30600806008 P4P40600906009 P3P30600906009 P5P50600906009 P6P60601006010 P1P10601006010 P2P2
Bentuk Normal KetigaBentuk Normal Ketiga Suatu relasi berada dalam bentuk Suatu relasi berada dalam bentuk
normal ketiga jika:normal ketiga jika: Memenuhi Memenuhi bentuk normal keduabentuk normal kedua Dan tidak ada Dan tidak ada dependensi transitifdependensi transitif
Pengertian Dependensi Pengertian Dependensi TransitifTransitif
Suatu atribut Z mempunyai Suatu atribut Z mempunyai dependensi transitif terhadap X jika:dependensi transitif terhadap X jika: Y memiliki dependensi terhadap X danY memiliki dependensi terhadap X dan Z memiliki dependensi terhadap YZ memiliki dependensi terhadap Y
X → ZX→Y→Z
Contoh Dependensi Contoh Dependensi TransitifTransitif
Kuliah Ruang Tempat Waktu
Jaringan Komputer Merapi Gedung Utara Senin, 08.00-09.50
Pengantar Basis Data Merbabu Gedung Utara Selasa, 08.00-09.50
Matematika I Rama Gedung Selatan Rabu, 10.00-11.50
Sistem Pakar Sinta Gedung Selatan Kamis, 08.00-09.50
Kecerdasan Buatan Merapi Gedung Utara Selasa, 10.00-11.50
Kuliah → { Ruang, Waktu }
Ruang → TempatKuliah → Ruang → Tempat
Contoh Lain Dependensi Contoh Lain Dependensi TransitifTransitif
Id_Pelanggan Nama Salesman Area
A-001 Andi Farkan Jateng
A-002 Kurnia Jati Dian Jabar
B-001 Fika Dewi Joned Jatim
B-002 Gani Wirawan Farkan Jateng
C-001 Cici Kusuma Joned Jatim
Id_Pelanggan Nama Salesman Area
Contoh Lain Dependensi Contoh Lain Dependensi TransitifTransitif
No_Pesan No_Urut Kode_Item Nama_Item
No_PesanNo_Pesan No_UrutNo_Urut Kode_ItemKode_Item Nama_ItemNama_Item JumlahJumlah
0600806008 11 P1P1 PensilPensil 550600806008 22 P2P2 Buku TulisBuku Tulis 10100600806008 33 P3P3 PenggarisPenggaris 660600806008 44 P4P4 PenghapusPenghapus 440600906009 11 P3P3 PenggarisPenggaris 110600906009 22 P5P5 PulpenPulpen 10100600906009 33 P6P6 SpidolSpidol 550601006010 11 P1P1 PensilPensil 440601006010 22 P2P2 Buku TulisBuku Tulis 1010
Jumlah
Problem pada Dependensi Problem pada Dependensi TransitifTransitif
Id_Pelanggan Nama Salesman Area
A-001 Andi Farkan Jateng
A-002 Kurnia Jati Dian Jabar
B-001 Fika Dewi Joned Jatim
B-002 Gani Wirawan Farkan Jateng
C-001 Cici Kusuma Joned Jatim
Anomali penyisipan:
Seorang salesman baru yang bertugas di Jateng tidak dapat dimasukkan dalam tabel sampai salesman tersebut mendapatkan seorang pelanggan
Anomali penghapusan:
Jika pelanggan A-002 dihapus, informasi bahwa Dian menangani daerah Jabar ikut hilang
Anomali peremajaan:
Jika katakanlah Farkan mendapat penugasan baru untuk menangani daerah Kalimantan, maka sejumlah baris harus diremajakan agar data tetap konsisten
Penyelesaian Bentuk Penyelesaian Bentuk Normal KetigaNormal Ketiga
Terdapat Relasi R:Terdapat Relasi R:R (A, B, C)R (A, B, C)
Kunci Primer (A)Kunci Primer (A)B → CB → C
R didekomposisi menjadi R1 dan R2R didekomposisi menjadi R1 dan R2R1 (B, C)R1 (B, C)
Kunci Primer (B)Kunci Primer (B)R2 (A, B)R2 (A, B)
Kunci Primer (A)Kunci Primer (A) Kunci Tamu (B) Referensi R1Kunci Tamu (B) Referensi R1
Contoh Dekomposisi Contoh Dekomposisi RelasiRelasi
Id_Pelanggan Nama Salesman Area
A-001 Andi Farkan Jateng
A-002 Kurnia Jati Dian Jabar
B-001 Fika Dewi Joned Jatim
B-002 Gani Wirawan Farkan Jateng
C-001 Cici Kusuma Joned Jatim
Id_Pelanggan Nama Salesman
A-001 Andi Farkan
A-002 Kurnia Jati Dian
B-001 Fika Dewi Joned
B-002 Gani Wirawan Farkan
C-001 Cici Kusuma Joned
Salesman Area
Farkan Jateng
Dian Jabar
Joned Jatim
Farkan Jateng
Joned Jatim
Contoh SoalContoh Soal Terdapat relasi Terdapat relasi
PENGIRIMAN(No_Kirim, Asal, Tujuan, PENGIRIMAN(No_Kirim, Asal, Tujuan, Jarak)Jarak)
Gambarkan diagram dependensi Gambarkan diagram dependensi fungsionalnya!fungsionalnya!
Contoh SoalContoh Soal Perhatikan sampel data berikut:Perhatikan sampel data berikut:
No_PartNo_Part DeskripsiDeskripsi Nama_VendoNama_Vendorr
AlamatAlamat Harga_Per_UnitHarga_Per_Unit
00010001 Keping CPUKeping CPU ABCABCXYZXYZ
YogyaYogyaJakartaJakarta
600.000600.000610.000610.000
00020002 Keping Keping memorimemori
ABCABCDDDDDDWWWWWW
YogyaYogyaBandungBandungSoloSolo
150.000150.000135.000135.000152.000152.000
1. Bentuklah relasi dengan nama PART_SUPPLIER yang memenuhi 1NF (struktur maupun sampel datanya)
2. Gambarkan diagram dependensi fungsional untuk relasi PART_SUPPLIER!
3. Analisalah terhadap kemungkinan anomali pada relasi tersebut!
4. Bagaimana dekomposisi yang tepat untuk relasi tersebut?
5. Apakah hasil dekomposisi memenuhi 3NF? Kalau tidak, bagaimana pendekomposisiannya?