database introduction - normalisasi data
TRANSCRIPT
NormalisasiDudy Fathan Ali, 2013.
Pengertian dan Tujuan•Normalisasi :
▫Metode pemecahan suatu tabel yang kompleks/rumit menjadi tabel yang sederhana dengan sejumlah aturan.
▫Juga dikenal sebagai Dekomposisi Tabel.•Tujuan Normalisasi :
▫Mengurangi data yang redundan (pengulangan baris yang sama pada tabel).
▫Meningkatkan performa dari database dalam segi kapasitas penyimpanan dan proses I/O.
Esensi Normalisasi•Form Normal
▫Langkah-langkah dekomposisi yang harus dilalui untuk menjadikan kondisi suatu tabel menjadi normal.
•Jenis Form Normal :▫1 NF▫2 NF▫3 NF▫BCNF
Esensi Normalisasi
Functional Dependency•Suatu konsep dari normalisasi yang
menjelaskan tentang ketergantungan fungsional dari suatu atribut ke atribut lainnya.
Functional Dependency•Perhatikan tabel nasabah berikut :
NIP Nama Kota KodePos123123 Aldo Jakarta 43234234234 Azis Depok 15654456456 Fera Jakarta 43234567567 Dona Bogor 23423
Adakah atribut lain yang bergantung kepada atribut
NIP?Adakah atribut lain yang
bergantung kepada atribut Nama?
Adakah atribut lain yang bergantung kepada atribut
Kodepos?
Kesimpulan :Atribut Nama, Kota, dan KodePos bergantung kepada atribut NIP, danatribut Kota bergantung kepada atribut KodePos.
Functional Dependency :Nasabah.NIP (determinan) -> Nasabah.Nama, Nasabah.Kota, Nasabah.KodeposNasabah.KodePos (determinan) -> Nasabah.Kota.
1 NF•Syarat :
▫Masing-masing baris data hanya boleh memiliki satu record/sel data.
1 NF•Perhatikan tabel berikut :
NIP Nama Kota Plat Nomor
Jenis Kendaraan
123123 Dono JakartaB 1789 EKG
Sepeda Motor
B 8988 KJK Mobil
234234 Kasino Depok B 1232 UZ Sepeda Motor
456456 Indro Bali
DK 9832 UK Mobil
DK 7387 JK Sepeda Motor
DK 7823 KO
Sepeda Motor
Apakah tabel ini sudah memenuhi syarat 1 NF?
1 NF•Perhatikan tabel berikut :
NIP Nama Kota Plat Nomor
Jenis Kendaraan
123123 Dono Jakarta B 1789 EKG
Sepeda Motor
123123 Dono Jakarta B 8988 KJK Mobil
234234 Kasino Depok B 1232 UZ Sepeda Motor
456456 Indro Bali DK 9832 UK Mobil
456456 Indro Bali DK 7387 JK Sepeda Motor
456456 Indro Bali DK 7823 KO
Sepeda Motor
Apakah tabel ini sudah memenuhi syarat 1 NF?
2 NF•Syarat :
▫Tabel dalam keadaan 1 NF.▫Setiap atribut Non-Key memiliki
ketergantungan terhadap seluruh Key dan bukan pada sebagian dari Key saja.
•Istilah▫Full Dependency
Kondisi jika semua atribut bergantung kepada seluruh Key-nya.
▫Partial Dependency Kondisi jika ada sebagian atribut yang
bergantung hanya terhadap sebagian-Key nya.
2 NF•Perhatikan tabel berikut :
NIM Nama Kota Kode Matkul
Nama Matkul
Nilai
123123 Andi Depok DBI Database 78123123 Andi Depok ADS Algorith
m67
234234 Budi Jakarta WPS Web Prog
78
234234 Budi Jakarta ADP Adv Web 45345345 Caca Bandun
gDBI Database 47
345345 Caca Bandung
WPS Web Prog
89
Step 1 : Tentukan Key-nya.Step 2 : Tentukan atribut yang bergantung hanya
pada sebagian Key.
Step 3 : Pindahkan atribut yang memiliki hubungan
Partial Dependency ke tabel baru.
NIM Nama
Kota
123123
Andi Depok
123123
Andi Depok
234234
Budi Jakarta
234234
Budi Jakarta
345345
Caca Bandung
345345
Caca Bandung
NIM Kode Matkul
Nilai
123123 DBI 78123123 ADS 67234234 WPS 78234234 ADP 45345345 DBI 47345345 WPS 89
Kode Matkul
Nama Matkul
DBI DatabaseADS Algorith
mWPS Web
ProgADP Adv WebDBI DatabaseWPS Web
Prog
NIM Nama
Kota
123123
Andi Depok
234234
Budi Jakarta
345345
Caca Bandung
Kode Matkul
Nama Matkul
DBI DatabaseADS Algorith
mWPS Web
ProgADP Adv Web
Tabel Mahasiswa
Tabel Mata Kuliah
Tabel Nilai
2 NF
Step 3 : Hilangkan data yang redundan.
3 NF•Syarat :
▫Tabel dalam keadaan 2 NF.▫Setiap atribut Non-Key harus bergantung
kepada Key-nya.•Istilah
▫Transitive Dependency Kondisi jika ada atribut yang bergantung
kepada atribut Non-Key, bukan kepada Key-nya.
3 NF•Perhatikan tabel berikut :
NIM Nama Kota Kode Dosen
Nama Dosen
123123 Andi Depok DFA Dudy890890 Bagus Tangeran
gFCN Fachran
234234 Budi Jakarta MS Musa567567 Nino Bekasi AGP Agus345345 Caca Bandung DFA Dudy765765 Anwar Depok FCN Fachran
Keterangan : Dalam bentuk 2 NF, pasti sudah memiliki Key.
Step 1: Periksalah, apakah ada atribut yang bergantung
bukan kepada Key-nya (Transitive) ?
Step 2: Pindahkan atribut yang memiliki hubungan transitif ke tabel baru.
3 NF
NIM Nama Kota Kode Dosen
123123 Andi Depok DFA890890 Bagus Tangeran
gFCN
234234 Budi Jakarta MS567567 Nino Bekasi AGP345345 Caca Bandung DFA765765 Anwar Depok FCN
Kode Dosen
Nama Dosen
DFA DudyFCN FachranMS MusaAGP AgusDFA DudyFCN Fachran
Kode Dosen
Nama Dosen
DFA DudyFCN FachranMS MusaAGP Agus
Step 3: Apakah ada yang redundan ditabel ini?
Step 3: Apakah ada yang redundan ditabel ini?
Step 4: Hapuslah data yang redundan.
Tabel Bimbingan Tabel Dosen
BCNF•BCNF dilakukan hanya jika tabel dalam
3NF belum dalam kondisi normal.•Ciri-ciri :
▫Tabel memiliki lebih dari satu Candidate Key.
▫Candidate Key memiliki sifat Composite (key yang terdiri lebih dari satu atribut).
▫Candidate Key Overlap.
BCNF•Perhatikan tabel berikut :
clientID iDate iTime staffID roomNoc001 3-9-2013 10:00 s001 OCR1c002 3-9-2013 11:00 s001 OCR1c003 3-9-2013 10:00 s005 OCR2c001 4-9-2013 03:00 s006 OCR2
Tabel Interview
Step 1: Tentukan candidate key.
Candidate Key : clientID, iDate dan staffID, iDate.
Step 2: Apakah candidate key-nya overlap?
Step 4: Tentukan FD-nya dan pisahkanlah menjadi tabel
baru?
Functional Dependency :clientID, iDate -> iTime, staffID, roomNostaffID, iDate -> roomNo
Step 3: Apakah candidate key-nya composite?
BCNF•Hasil BCNF:clientID iDate iTimec001 3-9-2013 10:00c002 3-9-2013 11:00c003 3-9-2013 10:00c001 4-9-2013 03:00
staffID iDate roomNos001 3-9-2013 OCR1s001 3-9-2013 OCR1s005 3-9-2013 OCR2s006 4-9-2013 OCR2
Terima KasihDudy Fathan Ali, 2013.