Pemrograman Berorientasi Objekdataq.lecture.ub.ac.id/.../09/Slide-09-Normalisasi-copy.pdfSecond...

20
Normalisasi Lecturer: Mahendra Data, S.Kom

Transcript of Pemrograman Berorientasi Objekdataq.lecture.ub.ac.id/.../09/Slide-09-Normalisasi-copy.pdfSecond...

Normalisasi

Lecturer:

Mahendra Data, S.Kom

Normalisasi

• Adalah sebuah proses pengorganisasian data untuk meminimalisir redudansi.

• Target dari normalisasi adalah menguraikan relasi yang memiliki anomali agar dapat menjadi relasi yang lebih tertuktur.

Normalisasi

• Normalisasi dilakukan dengan memecah tabel yang kompleks menjadi beberapa tabel sederana

Tabel Master (input once, constant at most of the time)

Tabel Transaksi (dynamic, related to Master Table)

Keuntungan

• Easier to manage, to maintain, to report

Bila ada perubahan kebutuhah di kemudian hari, database mudah untuk dikembangkan

• Improve data integrity

Tidak ada redudansi data

• Table reusable

Ketika terjadi perubahan atas tabel master, maka tabel transaksi otomatis juga berubah

Kerugian

• Akan lebih banyak operasi JOIN

• Menanbah kompleksitas Query yang nantinya akan digunakan

• Dalam beberapa kasus dapat menurunkan perfoma database

Normal Form (NF)

• Ada 5 bentuk Normal Form, namun dari kelima Normal Form tersebut yang paling sering ditemuai adalah Normal Form bentuk satu (1NF), dua (2NF) dan tiga (3NF)

1NF Bentuk-bentuk Normal Form

First Normal Form (1NF)

• 1NF adalah aturan paling mendasar dari database yang terorganisir

• Aturan-aturan tersebut adalah:

Hapus kolom ganda dalam tabel yang sama

Buat tabel terpisah dari tiap kelompok data yang berelasi dan berikan primary key tersendiri

Contoh

ID Dosen Asisten Asisten

1 Kiki Abidin Hanif

2 Dita Hanif Yanti

First Normalization

ID Dosen

1 Kiki

2 Dita

ID Asisten ID_Dosen

1 Abidin 1

2 Hanif 1

3 Hanif 2

4 Yanti 2

Tabel Asisten Dosen

Tabel Dosen Tabel Asisten

2NF Bentuk-bentuk Normal Form

Second Normal Form (2NF)

• 2NF adalah aturan yang berguna untuk menghilangkan duplikasi data

• Aturan-aturan tersebut adalah:

Pastikan aturan 1NF telah terpenuhi

Pindahkan subset data yang selalu muncul di beberapa tabel yang berbeda ke dalam tabel tersendiri

Hubungkan data dalam tabel baru ke dalam tabel awalnya menggunakan foreign key

Contoh

Second Normalization

ID Dosen

1 Kiki

2 Dita

ID Asisten ID_Dosen

1 Abidin 1

2 Hanif 1

3 Hanif 2

4 Yanti 2

Tabel Dosen Tabel Asisten

ID Dosen

1 Kiki

2 Dita

ID ID_Mhs ID_Dosen

1 1 1

2 2 1

3 2 2

4 3 2

Tabel Dosen Tabel Asisten

ID Mhs

1 Abidin

2 Hanif

3 Yanti

Tabel Mahasiswa

3NF Bentuk-bentuk Normal Form

Third Normal Form (3NF)

• Aturan-aturan 3NF:

Pastikan aturan 2NF telah terpenuhi

Hapus kolom ang tidak tergantung ke dalam primary key secara penuh

Contoh

Order Number

Customer Number

Unit Price Quantity Total

1 C1 100 2 200

2 C2 250 3 750

Tabel Pembelian

Third Normalization

Order Number

Customer Number

Unit Price Quantity

1 C1 100 2

2 C2 250 3

BOYCE-CODD NORMAL FORM (BCNF OR 3.5NF)

Bentuk-bentuk Normal Form

Boyce-Codd Normal Form (BCNF or 3.5NF)

• Aturan-aturan 3.5NF:

Pastikan aturan 3NF telah terpenuhi

Setiap determinan harus merupakan candidate key

Candicate Key

• A candidate key is a combination of attributes that can be uniquely used to identify a database record without any extraneous data. Each table may have one or more candidate keys. One of these candidate keys is selected as the table primary key.

LATIHAN…

SEKIAN…