database introduction - normalisasi data

19
Normalisasi Dudy Fathan Ali, 2013.

Upload: dudy-ali

Post on 03-Mar-2017

53 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Database Introduction - Normalisasi Data

NormalisasiDudy Fathan Ali, 2013.

Page 2: Database Introduction - Normalisasi Data

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.

Page 3: Database Introduction - Normalisasi Data

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

Page 4: Database Introduction - Normalisasi Data

Esensi Normalisasi

Page 5: Database Introduction - Normalisasi Data

Functional Dependency•Suatu konsep dari normalisasi yang

menjelaskan tentang ketergantungan fungsional dari suatu atribut ke atribut lainnya.

Page 6: Database Introduction - Normalisasi Data

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.

Page 7: Database Introduction - Normalisasi Data

1 NF•Syarat :

▫Masing-masing baris data hanya boleh memiliki satu record/sel data.

Page 8: Database Introduction - Normalisasi 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?

Page 9: Database Introduction - Normalisasi Data

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?

Page 10: Database Introduction - Normalisasi Data

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.

Page 11: Database Introduction - Normalisasi Data

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.

Page 12: Database Introduction - Normalisasi Data

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.

Page 13: Database Introduction - Normalisasi Data

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.

Page 14: Database Introduction - Normalisasi Data

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.

Page 15: Database Introduction - Normalisasi Data

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

Page 16: Database Introduction - Normalisasi Data

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.

Page 17: Database Introduction - Normalisasi Data

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?

Page 18: Database Introduction - Normalisasi Data

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

Page 19: Database Introduction - Normalisasi Data

Terima KasihDudy Fathan Ali, 2013.