Database System
4 – Normalization
Dahlia Widhyaestoeti, S.Kom
Powered by www.RedOffice.com
Pustaka Data Modeling Fundamentals. By Paulraj Ponniah Published by John Wiley & Sons, Inc., Hoboken, New Jersey Published simultaneously in Canada. Copyright # 2007 John Wiley & Sons, Inc Beginning Database Design Published by Wiley Publishing, Inc. 10475 Crosspoint Boulevard Indianapolis, IN 46256 Fundamentals of database systems / Ramez Elmasri, Shamkant B. Navathe.--4th ed. Copyright © 2004 by Pearson Education, Inc.
Relational Rules? Model Relasional dipresentasikan dalam bentuk tabel 2 dimensi, dengan ketentuan :
Untuk merelasikan dua buah relasi digunakan Foreign Key Tiap baris dari sebuah relasi adalah unik Tiap nilai dari atribut adalah atomik atau single value Urutan kolom tidak ditentukan Urutan baris tidak ditentukan Sebuah relasi memiliki aturan Entity Integrity dan Referential Integrity Suah relasi juga memiliki aturan Functional Dependency
Transformasi Relasi dari Kebutuhan (Requirement) Rand om T able
mation r o f n i orld Real w lized Norma n al Relatio odel M a t a D
Real world information
Definisi Normalisasi Teori E.F. Codd: Normalisasi dipakai untuk membuat struktur tabel (relasi) dalam basis data mengurangi kemubaziran data Kadang dipakai sebagai perangkat verifikasi terhadap tabel-tabel yang dihasilkan metodologi lain Memberikan panduan yang sangat membantu bagi pengembang untuk mencegah penciptaan struktur tabel yang kurang atau mengurangi ketidakefisienan
Teori Kroenke:
Sebagai proses untuk mengubah suatu relasi yang memiliki masalah tertentu ke dalam dua buah relasi atau lebih yang tidak memiliki masalah tersebut (anomali)
Tujuan Normalisasi Garis Besar: Untuk menghilangkan kerangkapan data Untuk menghilangkan kompleksitas Untuk mempermudah pemodifikasian data
Teknik Normalisasi PROSES:
Data diuraikan dlm bentuk tabel, selanjutnya dianalisis berdasarkan
persyaratan tertentu ke beberapa tingkat
Dilakukan pengujian pada beberapa kondisi apakah ada kesulitan
(Anomali) pada saat menambah/menyisipkan (insert), menghapus (delete), mengubah (update) dan mengakses (retrieve) pada suatu basis data
Bila terdapat kesulitan pada pengujian tersebut atau tabel yang diuji
belum memenuhi persyaratan tertentu, maka tabel tersebut dapat dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal
Anomali Definisi:
Proses pada basis data yang memberikan efek samping yang tidak diharap- kan (misalnya ketidakkonsistenan data karena adanya redudansi)
Kategori:
Ada 3 macam anomali pada suatu database: Anomali penyisipan data (insert) Anomali pengubahan data (update) Anomali penghapusan data (delete)
Insert Anomali Kondisi:
Terjadi jika pada saat penambahan hendak dilakukan ternyata ada elemen data yang masih kosong dan elemen data tersebut justru menjadi kunci Contoh:
Jika ada Employee bernama “Potter” masuk dalam perusahaan, tetapi dia masih training dan belum ditempatkan dalam project manapun
Update Anomaly Kondisi: Terjadi jika pada saat pengubahan pada sejumlah data yang mubazir, tetapi tidak seluruhnya ikut berubah Contoh :
Jika nama “Simpson” diganti dengan nama “Samson”
Deletion Anomaly Kondisi: Terjadi sekiranya suatu baris (tupel) yang tidak terpakai dihapus & sebagai akibatnya terdapat data lain yang hilang Contoh :
Jika nama “Beaton” sudah tidak bekerja lagi di perusahaan
Depedensi (Ketergantungan) Definisi: Depedensi merupakan konsep yang menda-sari normalisasi. Depedensi menjelaskan nilai suatu atribut yang menentukan nilai atribut lainnya
Jenis: Depedensi Fungsional
Definisi : Suatu atribut Y mempunyai depedensi fungsional terhadap atribut X jika dan hanya jika setiap nilai nilai X berhubungan dengan sebuah nilai Y.
X→ Y Depedensi Transitif
Definisi : Atribut Z mempunyai depedensi transitif terhadap X bila: • Y memiliki depedensi fungsional terhadap X • Z memiliki depedensi fungsional terhadap Y atau dapat dituliskan X → Y → Z
Depedensi (Ketergantungan) Contoh:
Depedensi Fungsional
X →Y
Depedensi Transitif
X→ Y→ Z
Bentuk Normalisasi ➔ Bentuk tidak normal (Unnormalized Form) ➔ Bentuk Normal Kesatu (1NF) ➔ Bentuk Normal Kedua (2NF) ➔ Bentuk Normal Ketiga (3NF) ➔ Boyce-Codd Normal Form (BCNF) ➔ Bentuk Normal Ke Empat (4NF) ➔ Bentuk Normal Ke Lima (5NF)
Unnormalized Form Definisi: ● Data yang direkam tidak memperhatikan format tertentu ● Dapat saja data tidak lengkap atau terduplikasi ● Data dikumpulkan apa adanya sesuai dengan kedatangannya
Unnormalized Form
First Normal Form (1NF) Definisi:
Suatu relasi dikatakan sudah memenuhi bentuk normal kesatu, apabila setiap data bersifat “atomik”, yaitu setiap irisan dari baris dan kolom hanya mempunyai satu nilai data
Ciri-ciri: ● ● ● ● ● ●
Setiap data disajikan dalam bentuk flat file (tabular/tabel) Data dibentuk dalam satu record demi satu record dan nilai dari field berupa “atomic value” Tidak ada set atribut yang berulang ulang atau atribut bernilai ganda (multi value) Tiap field hanya satu pengertian, bukan merupakan kumpulan data yang mempunyai arti mendua Hanya satu arti saja dan juga bukanlah pecahan kata kata sehingga artinya lain Seluruh atribut kunci terdefinisikanSemua atribut bergantung pada kunci primer (PK)
First Normal Form (1NF) Insert Anomali, Delete Anomali, Update Anomali ?
Second Normal Form (2NF) Definisi:
Suatu relasi dikatakan sudah memenuhi bentuk normal kedua, apabila relasi tsb memenuhi bentuk normal kesatu, dan atribut yg bukan key sudah tergantung penuh pada key-nya
Ciri-ciri:
Bentuk data telah memenuhi bentuk Normal Kesatu Atribut bukan kunci haruslah bergantung secara fungsi pada kunci utama, sehingga untuk membentuk Normal Kedua haruslah sudah ditentukan kunci-kunci field ● Semua atribut bukan kunci memiliki depedensi sepenuhnya terhadap kunci primer (PK) ● Kunci field harus unik dan dapat mewakili atribut lain yang menjadi anggotanya ● ●
(Namun masih memungkinkan tabel dalam 2NF menunjukkan adanya depedensi transitif; artinya ada satu atau beberapa atribut yang masih bergantung pada atribut bukan kunci)
EmpId → Name,Salary,Bonus,DeptNo, DeptName,Manager
ProjNo → ProjDesc
Second Normal Form (2NF)
Second Normal Form (2NF) Update Anomali ? Jika nama “Simpson” di ganti dengan “Samson”?
Insert Anomali ? Jika nama “Potter” di isi, tetapi belum bekerja pada proyek apapun?
Delete Anomali ?
Jika mendelete “Departement 2” ?
Third Normal Form (3NF) Definisi:
Suatu relasi dikatakan sudah memenuhi bentuk normal ketiga, apabila relasi tsb memenuhi bentuk normal kedua, dan atribut yg bukan key tidak tergantung transitif pada key-nya
Ciri-ciri:
● Berada pada bentuk normal kedua ● Semua atribut bukan kunci tidak memiliki transitif terhadap kunci primer ● Artinya setiap atribut bukan kunci harus bergantung hanya pada kunci
primer secara menyeluruh
Third Normal Form (3NF)
Boyce–Codd Normal Form Definisi:
Relasi harus berada dalam bentuk normal kesatu dan setiap atribut harus bergantung fungsi pada atribute superkey
Ciri-ciri:
● BCNF adalah kasus khusus 3NF. ● Setiap penentu (determinan) pada tabel adalah sebuah kunci kandidat
(candidate key) ● Jika tabel hanya mengandung satu kunci kandidat maka bentuk 3NF sama dengan BCNF ● Suatu relasi yang memenuhi BCNF selalu memenuhi 3NF, tetapi tidak untuk sebaliknya ● Suatu relasi yang memenuhi 3NF belum tentu memenuhi BCNF
Boyce–Codd Normal Form Part 1
Boyce–Codd Normal Form Part 2
Fourth Normal Form (4NF) Definisi:
Suatu relasi dikatakan sudah memenuhi bentuk normal keempat, jika dan hanya jika relasi tersebut juga termasuk BCNF dan semua ketergantungan multivalue adalah juga ketergantungan fungsional
Ciri-ciri:
● Telah berada pada BCNF ● Tidak mengandung dua atribut atau lebih yang bernilai banyak ● Dependensi nilai banyak merupakan terjemahan dari multivalued
dependency (MVD) ● Dependensi ini dipakai untuk menyatakan hubungan satu ke banyak
Fourth Normal Form (4NF) Contoh : BranchNo →> sName BranchNo →> oName BranchStaffOwner branchNo
sName
oName
B003
Anna
Carrol Farrel
B003
David
Carrol Farrel
B003
Anna
Tina Murphy
B003
David
Tina Murphy
BranchOwner
BranchStaff branchNo
sName
branchNo
oName
B003
Anna
B003
Carrol Farrel
B003
David
B003
Tina Murphy
Fifth Normal Form (5NF) Definisi:
Suatu relasi berada dalam bentuk normal kelima, jika dan hanya jika setiap dependensi gabungan dalam R tersirat oleh kunci kandidat relasi R.
Ciri-ciri:
● Disebut juga PJNF (Projection Join Normal Form) dari 4 NF ● Dilakukan dengan menghilangkan ketergantungan join yang bukan
merupakan kunci kandidat ● Menggunakan acuan dependensi gabungan ● Data yang ada padanya tak dapat lagi didekomposisi menjadi relasi-relasi yang lebih kecil
Fifth Normal Form (5NF) Relation with join dependency
Jika tiga tabel digabungkan, akan kembali ke tabel awal
! n a k i s a s i l a m Nor
NIM
Nama Mhs
KD MK
Nama MK
No Nama Dosen Dosen
Nilai
12345
Ali
TI-001
Algoritma Pemrograman
771
Dian
A
12345
Ali
TI-101
Basis data
773
Elias
A
12346
Darwin
TI-001
Algoritma Pemrograman
771
Dian
B
12349
Siti
TI-001
Algoritma Pemrograman
771
Dian
A
Thank you !