1 / 50

Normalization

1. Aris Marjuni, S.Si, M.Kom arism@dosen.dinus.ac.id. Normalization. 2. normalisasi.

finian
Download Presentation

Normalization

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 1 Aris Marjuni, S.Si, M.Kom arism@dosen.dinus.ac.id Normalization

  2. 2 normalisasi Normalisasi: Teknik/pendekatan yang digunakan dalam membangun disain lojik database relasional melalui organisasi himpunan data dengan tingkat ketergantungan fungsional dan keterkaitan yang tinggi sedemikian sehingga menghasilkan struktur tabel yang normal. Tujuan : • Minimalisasi redundansi (pengulangan data) • Memudahkan identifikasi entitas • Mencegah terjadinya anomali Beberapa bentuk normal (normal forms, NF) : • 1NF, 2NF, 3NF, BCNF based on keys and functional dependencies • 4NF, 5NF based on keys and multi-valued dependencies)

  3. 3 First Normal Form (1NF) • Suatu relasi disebut memenuhi bentuk normal pertama (1NF) • jika dan hanya jika setiap atribut dari relasi tersebut hanya memiliki • nilai tunggal dan tidak ada pengulangan grup atribut dalam baris. • Bentuk 1NF tidak boleh mengandung grup atribut yang berulang. • Tujuan membentuk 1NF : ::. semantik tabel menjadi lebih eksplisit (say anything once). ::. semua operator aljabar relasional dapat diaplikasikan pada tabel.

  4. non-atomic 1NF 4 First Normal Form (1NF) Tabel : Sales Unnormalized Not 1NF

  5. Unnormalized Not 1NF 1NF 5 First Normal Form (1NF) repeated Tabel : Buku

  6. 6 Second Normal Form (2NF) • Suatu relasi disebut memenuhi bentuk normal kedua (2NF) • jika dan hanya jika : • 1. memenuhi 1NF • 2. setiap atribut yang bukan kunci utama tergantung secara • fungsional terhadap semua atribut kunci dan bukan hanya • sebagian atribut kunci (fully functionally dependent). • Untuk normalisasi ke bentuk 2NF, maka tabel 1NF didekomposisi menjadi beberapa tabel yang masing-masing memenuhi 2NF. • Bila terdapat ketergantungan parsial maka : eliminate. • Tujuan membentuk 2NF : :: semantik tabel 2NF menjadi lebih eksplisit (fully FD) :: mengurangi update anomali yang masih mungkin terjadi pada 1NF

  7. 7 Second Normal Form (2NF) Contoh : Diketahui tabel R=(A,B,C,D,E) ; A,B kunci utama (primary key) dengan FD : A,B  C,D,E maka tabel R memenuhi 2NF sebab : A,B  C,D,E berarti : A,B  C, A,B  D dan A,B  E Jadi semua atribut bukan kunci utama tergantung penuh pada (A,B).

  8. 8 Second Normal Form (2NF) Bagaimana bila R = (A,B,C,D,E) tetapi dengan FD : (A,B)  (C,D) dan B  E. Apakah memenuhhi 2NF ? Jelas bahwa R bukan 2NF karena ada atribut E yang bergantung hanya pada atribut B saja dan bukan terhadap (A,B). Dari FD : (A,B)  (C,D) juga mencerminkan bahwa hanya C dan D saja yang bergantung secara fungsional terhadap (A,B), tidak untuk E. Jadi bukan 2NF. Untuk mengubah menjadi 2NF, lakukan dekomposisi menjadi : R1 = (A,B,C,D) dan R2 = (B,E). Tampak R1 dan R2 memenuhi 2NF.

  9. 9 Second Normal Form (2NF) Diketahui Workshop = (NIM,Modul,Biaya,Grade) Peserta Workshop Key : NIM+Modul FD : Modul  Biaya NIM Modul Biaya Grade (Biaya ditentukan oleh Modul yang diambil mahasiswa) Tabel biaya peserta workshop • 1NF • Not 2NF Sebab dalam tabel ini, Biaya tidak bergantung penuh pada atribut kunci (NIM,Modul)

  10. NIM NIM Modul Modul Biaya Biaya Grade Grade Eliminate 10 Second Normal Form (2NF) (NIM,Modul) = key (Modul)  Biaya (partial) (NIM,Modul)  Grade (full) Make Decomposition : Works1 = (NIM,Modul,Grade) Works2 = (Modul,Biaya) Fully Dependency

  11. 11 Second Normal Form (2NF) Workshop Works1 Better Then 1NF Works2

  12. 12 Third Normal Form (3NF) • Suatu relasi disebut memenuhi bentuk normal ketiga (3NF) • jika dan hanya jika : • 1. memenuhi 2NF • 2. setiap atribut yang bukan kunci tidak tergantung secara • fungsional terhadap atribut bukan kunci yang lain dalam relasi tsb • (tidak terdapat ketergantungan transitif pada atribut bukan kunci). Another Definition : • Suatu relasi disebut memenuhi bentuk normal ketiga (3NF) • jika dan hanya jika setiap FD nontrivial : X  A, • dimana X dan A atribut (atau kompositnya), memenuhi salah satu • kondisi : • 1. X adalah superkey atau • 2. A merupakan anggota candidate key

  13. 13 Third Normal Form (3NF) • Jika suatu relasi sudah memenuhi 2NF tapi tidak memenuhi 3 NF, maka untuk normalisasi ke bentuk 3NF, tabel 2NF didekomposisi menjadi beberapa tabel hingga masing-masing memenuhi 3NF. • Tujuan membentuk 3NF : :: semantik tabel 3NF menjadi lebih eksplisit (fully FD hanya pada primary key). :: menghindari update anomali yang masih mungkin terjadi pada 2NF. Note : Jika suatu relasi memenuhi 2NF dan hanya memiliki tepat satu atribut yang bukan kunci utama maka relasi tsb memenuhi 3NF

  14. 14 Third Normal Form (3NF) • Contoh : • Diketahui tabel R=(A,B,C,D,E) ; A,B kunci utama (primary key) • dengan FD : A,B  C,D,E dan C  D,E maka R bukan 3NF sebab : • Atribut D dan E (bukan kunci utama) bergantung secara fungsional • pada C (yang juga bukan kunci utama). • Melalui FD : • Diketahui A,B  C,D,E. • Karena sifat refleksif maka A,BA,B. Sehingga A,BA,B,C,D,E • (A,B) : Superkey. • Diketahui CD,E. Karena sifat refleksif maka CC. Sehingga CC,D,E. Karena C A,B,C,D,E maka C bukan superkey. • Tidak memenuhi definisi 3NF. Jadi R bukan 3NF. Agar R memenuhi 3NF maka didekomposisi menjadi : • R1=(A,B,C) dan R2=(C,D,E) sehingga R1 dan R2 memenuhi 3NF.

  15. 15 Third Normal Form (3NF) FD : A,B  C,D,E berarti A,B  C ; C  D,E ; A,B  D,E A,B  D reduce A,B  E reduce Dekomposisinya : R1=(A,B,C) ; FD : (A,B)C R2=(C,D,E) ; FD : CD,E R R2 R1

  16. 16 Third Normal Form (3NF) Misal diketahui struktur informasi dari suatu dokumen supplier : Akan dibentuk suatu tabel dengan skema TPS=(S,Status,City,P,Qty) dengan (S,P) = primary key dan berlaku FD : SStatus SCity CityStatus Lakukan normalisasi dari 1NF hingga 3NF.

  17. 17 Third Normal Form (3NF) TPS • 1NF • Not 2NF • Problem : • Redundansi  inconsistency low speed process • Anomaly : S(Status,City) tapi kita tidak bisa insert data (S5,30,JAKARTA) tanpa diikuti data P (khususnya) dan Q. Menghapus 1 baris data akan jg merusak keutuhan informasi. • Solusi : Dekomposisi menjadi : TPS1 dan TPS2

  18. 18 Third Normal Form (3NF) TPS1 TPS2 • 1NF • 2NF • 3NF • 1NF • 2NF • Not 3NF (trans.) SCity CityStatus • redundansi partial • not potensial • better then previous redundant We may not eliminate all redundant but we make its minimize • Sekarang kita dapat menambah data (S5,30,JAKARTA) dgn aman • Tapi masih ada anomaly : Karena CityStatus maka kita tidak bisa entry data City baru sebelum Status punya nilai. Penghapusan 1 baris sebagian data City juga bisa merusak keutuhan informasi S. • Selain itu, masih ada redundansi pada Status dan City

  19. 19 Third Normal Form (3NF) TPS1-1 TPS1-2 TPS2 • 1NF • 2NF • 3NF • 1NF • 2NF • 3NF • 1NF • 2NF • 3NF

  20. 20 Try it … !! Third Normal Form (3NF) 1.Diberikan skema relasi R = (A,B,C,D,E,F,G,H,I,J,K) dengan ketergantungan fungsional : A  B,C,D ; C  D ; E  F ; A,E  G,H,I,J,K ; I  J,K Apakah R memenuhi 3NF ? Jika tidak, rancanglah skema relasi R sedemikian sehingga memenuhi bentuk 3NF. Bila Saudara melakukan dekomposisi tabel, lengkapi dengan uji dekomposisi dan uji lossless. 2.Diketahui R=(A,B,C,D,E,F,G,H) dimana (A,B) : primary key Ketergantungan fungsional yang berlaku (FD) : A  C,F ; B  G,H ; A,B  D,E dan D  E Jika diketahui bahwa R memenuhi 1NF, apakah R memenuhi 2NF ? 3NF ? Jika tidak, rancanglah skema relasi R sedemikian sehingga memenuhi bentuk 2NF dan 3NF. Bila Saudara melakukan dekomposisi tabel, lengkapi dengan uji dekomposisi dan uji lossless.

  21. 21 Boyce Codd Normal Form (BCNF) • Suatu relasi disebut memenuhi BCNF • jika dan hanya jika setiap determinan yang ada pada relasi tersebut • adalah candidate key. • Definisi yang lain : Suatu relasi disebut memenuhi BCNF jika untuk setiap FD nontrivial : X  A atribut X adalah superkey. • Untuk normalisasi ke bentuk BCNF, maka tabel 3NF didekomposisi menjadi beberapa tabel yang masing-masing memenuhi BCNF. • Tujuan membentuk BCNF : :: semantik multiple candidate key menjadi lebih eksplisit (FD hanya pada candidate key). :: menghindari update anomali yang masih mungkin terjadi pada 3NF. Dari definisi 3NF dan BCNF, maka apabila suatu relasi memenuhi BCNF pasti memenuhi 3NF, tetapi belum tentu sebaliknya.

  22. 22 Boyce Codd Normal Form (BCNF) • Contoh : • Diketahui tabel R=(A,B,C) • dengan FD : A  B dan B  C maka R bukan BCNF, sebab : • A superkey ? AB (diketahui) AB dan BC maka AC (transitif) AA (refleksif) Sehingga A(A,B,C) atau AR. Jadi A superkey. • B superkey ? BC (diketahui) BB (refleksif) Tapi BA. Sehingga BA,B,C atau B bukan superkey. • Agar R memenuhi BCNF maka didekomposisi menjadi : • R1=(A,B) ; FD : A  B dan • R2=(B,C) ; FD : B  C. • sehingga R1 dan R2 masing-masing memenuhi BCNF. Sebab A dan B • dua-duanya sekarang menjadi superkey.

  23. 23 Boyce Codd Normal Form (BCNF) • Contoh : • Diketahui tabel R=(A,B,C) • dengan FD : AB  C dan C  B. Apakah : • 3NF ? • BCNF ? • R memenuhi 3NF karena : ABC ; maka AB  ABC, atau A  R. Jadi AB superkey dari R CB ; maka AC  AB, atau AC  ABC dan AC  R. Jadi AC juga superkey (sekaligus juga candidate key) dari R Karena AB superkey dan C subset candidate key maka R memenuhi 3NF • R bukan BCNF karena : AB superkey tetapi C bukan superkey.

  24. 24 Boyce Codd Normal Form (BCNF) Books Students • Books=(bid, title, year) • FD : bid  title, year • BCNF, sebab bid superkey • Students=(sid, name, age) • FD : sid  name, age • BCNF, sebab sid superkey Pinjam • Pinjam=(idpinjam, sid, bid, date) • FD : idpinjam  bid, date • Bukan BCNF, sebab idpinjam bukan superkey • idpinjam  sid

  25. 25 Boyce Codd Normal Form (BCNF) Pinjam Didekomposisi menjadi : Pinjam1 Pinjam2 FD trivial  BCNF idpinjam  bid, date idpinjam superkey  BCNF

  26. 26 Comparison of BCNF And 3NF • It is always possible to decompose a relation into relations in 3NF and • the decomposition is lossless • the dependencies are preserved • It is always possible to decompose a relation into relations in BCNF and • the decomposition is lossless • it may not be possible to preserve dependencies.

  27. 27 Comparison of BCNF And 3NF • Contoh kasus redundansi pada 3NF Jadwal = (Nim,Modul,Dosen) FD = {Dosen  Modul} Relasi ini memenuhi 3NF, karena tidak ada ketergantungan transitif. Tetapi tidak memenuhi BCNF karena dari Dosen  Modul maka Dosen bukan candidate key. Alternatif yang dilakukan adalah dekomposisi tabel menjadi : NOT BCNF BCNF

  28. 28 Design Goals • Goal for a relational database design is: • BCNF. • Lossless join. • Dependency preservation. • If we cannot achieve this, we accept one of • Lack of dependency preservation • Redundancy due to use of 3NF

  29. Remove multivalued & repeating attributes. Meet definition of relation Remove partial dependencies Remove transitive dependencies Select relation where all determinants are candidate key 29 Design Steps (doesn’t meet the definition of a relation) Entity Set First Normal Form Second Normal Form Praktisi database kebanyakan menganggap bahwa tingkatan normalisasi hingga BCNF atau 3NF dianggap sudah cukup untuk meminimalisasi masalah dalam desain database (redundansi,lossless,dependency preservation) Third Normal Form Boyce-Codd Normal Form

  30. 30 • Berdasarkan formulir tersebut, • Rancanglah tabel penyimpanan • datanya • Lakukan normalisasi hingga 3NF • atau BCNF • Desain untuk datawarehouse

  31. 31 The Callenge of Database Design • Designers must make design compromises that are triggered by conflicting goals : • design standards (design elegance or faithfulness),  to develop “good” design : Lossless, No Redundant, Dependency Preservation • processing speed (performance), and  high processing speeds is “top” priority (efficiency)  minimizing the number and complexity of relationships or table • information requirements  capablility for delivering all specified query and reporting of user requirements timely Contoh bentuk kompromi yang populer :  Denormalisasi (pelanggaran normalisasi)

  32. 32 Denormalisasi Design Standards Vs (proceessing speed,information requirements) • Normalisasi hanyalah merupakan teknik pendekatan yang digunakan untuk mendapatkan desain database (lojik) yang baik dan bukan sebagai “aturan baku” DBMS yang harus digunakan.  Bersifat “Normatif”, memungkinkan untuk dilanggar dengan alasan : Kecepatan Proses (Efisiensi) dan Pelayanan Informasi Tepat Waktu • Bentuk-bentuk Denormalisasi : - Membuat Atribut Turunan pada Tabel, mis : Cost=Qty*Price - Atribut yang Berlebihan, mis : NIM mahasiswa sudah mencerminkan program studi mahasiswa, tetapi dalam tabel mahasiswa dibuat atribut Program Studi. - Summary Table (mis : summary table for report) - Membiarkan relasi transitif dalam satu tabel untuk kemudahan proses • Konsekuensi Denormalisasi : Redundancy, Not Atomic, Worst Space dll

  33. 33 Additional Material (Normal Form Other)

  34. 34 Multivalued Dependency (MVD) Beberapa bentuk normal (normal forms, NF) : • 1NF, 2NF, 3NF, BCNF based on keys and functional dependencies • 4NF, 5NF based on keys and multi-valued dependencies) Multivalued Dependencies (MVD) Misal R adalah skema relasi. A, B dan C adalah subset atribut dari R maka A disebut multidependensi pada B, ditulis AB, jika untuk setiap nilai A terdapat sekumpulan nilai B dan sekumpulan nilai C, tetapi nilai B dan nilai C independen.

  35. 35 Multivalued Dependency (MVD) • Relasi MVD melibatkan minimal 3 atribut relasi, misal A-B-C • Untuk setiap nilai A, terdapat sekumpulan nilai B dan sekumpulan nilai C. • Sekumpulan nilai B independen dengan sekumpulan nilai C, semikian juga sebaliknya. MVD : Mata Kuliah  Instruktur Mata Kuliah  Pustaka

  36. 36 Multivalued Dependency (MVD) • Dalam contoh lain : R1 R2 R3 No MVD Why ? No MVD Why ? XY ? XZ ? YX ? ZX ? MVD Exist

  37. 37 Multivalued Dependency (MVD) Refleksif : xx Augmentation : Jika xy maka xzyz Transitif : Jika xy dan yz maka xz-y Pseudotransitif : Jika xy dan ywz maka xwz-yw Union : Jika xy dan xz maka xyz Dekomposisi : Jika xy dan xz maka xyz dan xz-y Komplemen : Jika xy dan z=R-x-y maka xz

  38. 38 Fourth Normal Form (4NF) • Skema relasi R disebut 4NF jika dan hanya jika • BCNF dan • Tidak terdapat MVD. • Apabila terdapat MVD dalam R, misal XY maka harus memenuhi salah satu : - MVD adalah trivial atau - X adalah superkey

  39. 39 Fourth Normal Form (4NF) • Misal diketahui R = (A, B, C, D, E, F) • MVD : AB dan CDEF. Bila diasumsikan R memenuhi BCNF, • apakah memenuhi 4NF ? Jika belum upayakan menjadi 4NF. • Bukan 4NF sebab terdapat MVD dan nontrivial. • Dekomposisi R : • Dari AB, dibentuk R1=(A,B) • Karena AB maka A C,D,E,F dan dibentuk R2=(A,C,D,E,F) • R1=(A,B) • memenuhi 4NF, sebab MVD : AB trivial • R2=(A,C,D,E,F) • Bukan 4NF, karena MVD : CDEF nontrivial • Dekomposisi R2 : • Dari CDEF dibentuk R21=(C,D,E,F) • Karena CDEF dan CDA, dibentuk R22=(C,D,A) • R21=(C,D,E,F) • 4NF, karena MVD : CDEF trivial • R22=(C,D,A) • 4NF, karena tidak ada MVD. R1=(A,B) R21=(C,D,E,F) R22=(C,D,A) Memenuhi 4NF

  40. 40 Fourth Normal Form (4NF) • Misal diketahui R = (A, B, C, G, H, I) • MVD : AB, BHI dan CGH. Bila diasumsikan R memenuhi BCNF, • apakah memenuhi 4NF ? Jika belum upayakan menjadi 4NF. • Bukan 4NF sebab terdapat MVD, nontrivial dan bukan superkey. • Dekomposisi R : • Dari AB, dibentuk R1=(A,B) • Karena AB maka A C,G,H,I dan dibentuk R2=(A,C,G,H,I) • R1=(A,B) • memenuhi 4NF, sebab MVD : AB trivial • R2=(A,C,G,H,I) • Bukan 4NF, karena MVD : CGH nontrivial • Dekomposisi R2 : • Dari CGH dibentuk R21=(C,G,H) • Karena CGH maka CGA,I dan dibentuk R22=(C,G,A,I) • R21=(C,G,H) 4NF, karena MVD : CGH trivial, tetapi R22=(C,G,A,I) • bukan 4NF, karena ada MVD : AI (dari AB, BHI maka A-->HI dan AI). • Dekomposisi R22 menjadi R221=(A,I) dan R222=(A,C,G) • dan masing-masing merupakan bentuk 4NF. R1=(A,B) R21=(C,G,H) R221=(A,I) R222=(A,C,G) Memenuhi 4NF

  41. 41 Fourth Normal Form (4NF) • BCNF, sebab : - 1NF, Yes - 2NF, Yes. Sebab semua atribut mrpk atribut kunci. - 3NF, Yes. Sebab tidak ada ketergantungan transitif. - BCNF, Yes. Tidak ada FD pada atribut bukan kunci. - 4NF, No. Sebab terdapat MVD yang nontrivial. Dekomposisi …………………… MVD : Mata Kuliah  Instruktur Mata Kuliah  Pustaka

  42. 42 Fourth Normal Form (4NF) • 4NF Mata KuliahInstruktur • 4NF Mata KuliahPustaka Refference : Toby J. Teorey, Database Modeling & Design, page 112-116

  43. 43 Fourth Normal Form (4NF) R1 R2 R3 4NF ? Yes 4NF ? Yes 4NF ? No. - MVD nontrivial - Bukan Superkey

  44. 44 Fifth Normal Form (5NF) Misal SPJ berisi data-data Supplier (S) yang memasok barang (P) untuk suatu Project (J). Satu supplier dapat memasok banyak barang, supplier juga Dapat berpartisipasi pada banyak proyek. SP PJ SPJ Jika SP dan PJ di-project join-kan kembali on P akan diperoleh : SP join PJ Key : S, P, J MVD : SP 4NF ? Yes SJ 4NF ? Yes Tupel asing SP SJ 4NF ? No Ternyata projection-join dari dekomposisinya tidak mengembalikan Ke relasi asal.

  45. 45 Fifth Normal Form (5NF) Relasi hasil project-join tsb akan kembali ke bentuk relasi asal SPJ setelah di project-join Kan dengan SJ pada S dan J SJ SP join PJ SPJ (Original) Project-join on (S,J) SP PJ SJ Dekomposisi Akhir

  46. 46 Fifth Normal Form (5NF) • Disebut juga Projection-Join Normal Form (PJ/NF) • Skema relasi R disebut memenuhi 5NF jika tidak dapat dibuat menjadi beberapa tabel kecil yang lossless melalui operasi projection- join atau Skema relasi R disebut memenuhi 5NF jika setiap join dependency (JD) nontrivial pada R diimplikasikan oleh Candidate key dari R • Join Dependency Batasan dekomposisi yang lossless pada sejumlah operasi project-join

  47. 47 Fifth Normal Form (5NF) SJ SP PJ SPJ SP 4NF ? Yes 5NF ? Yes SJ 4NF ? Yes 5NF ? Yes 4NF ? Yes, tidak ada MVD 5NF ? Yes Key : S, P, J MVD : SP SJ 4NF ? No 5NF ? Yes, tidak dapat didekomposisi lagi Trivial pada candidate key Refference : C.J. Date, An Introduction To Database Systems, page 394-399

  48. 48 1NF 2NF SUMMARY 3NF BCNF 4NF 5NF LEVEL NORMALISASI

  49. 49 SUMMARY • It is best to find a database design that meet the 3-criteria : • NF (Normal-Form)note • Dependency Preservation • Lossless-Join • note • If we only have functional dependencies (FD), the first criteria is just BCNF. • If we only have multivalued dependency (MVD), the first criteria is just 4NF. • If we only have join dependency (JD), the first criteria is just 5NF. • If we cannot meet all 3-criteria, we compromise on 4NF, and accept BCNF, or • even 3NF if necessary, to ensure dependency preservation.

  50. TUGAS (Menyusul)

More Related