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) Random Table Real world information Normalized Relational Data Model
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 BranchStaff branchno B003 B003 sname Anna David BranchOwner branchno oname B003 Carrol Farrel 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
Normalisasikan!
NIM Nama Mhs KD MK Nama MK 12345 Ali TI-001 Algoritma Pemrograman No Dosen Nama Dosen 771 Dian A 12345 Ali TI-101 Basis data 773 Elias A 12346 Darwin TI-001 Algoritma Pemrograman 12349 Siti TI-001 Algoritma Pemrograman 771 Dian B 771 Dian A Nilai
Thank you!