Normalisasi dan Fungsional Dependensi STMIK Swadharma Disebarluaskan oleh Abdul Aziz Efendy
Normalisasi Standard dindustri adalah dlh3 rd Normal lf Form (NF) Anomali : Efek samping yang tidak diharapkan dalam basisdata Normalisasi menghilangkan Modification anomalies : Terjadi jika saat perubahan pada sejumlah data yang mubazir, tetapi tidak seluruhnya ikut berubah. b Deletion anomaly: Terjadi jika suatu tuple (baris) yang tidak terpakai di hapus dan akibatnya ada data lain yang ikut terhapus. Insertion anomaly: ay: Terjadi ejadjikapada saat penyisipan pa pada baris, terdapat elemen ee e (atribut) yang masih kosong dan elemen data tersebut menjadi kunci. Anomali dapat di hilangkan dengan memisah satu relasi menjadi dua atau lebih relasi, yang masing masing dalam tema yang berbeda dan unik. Memecah relasi menciptakan (menghasilkan) referential integrity constraints Normalisasi bekerja melalui kelas relasi yang dinamakan normal forms
Normalisasi (Definisi) Dipakai i untuk membuat Relasi idl dalam Basisdata id dengan tujuan mengurangi kemubaziran dt data.(e.f. (EFCodd) Juga dipakai sebagai perangkat verifikasi thd tabel yang dihasilkan metodologi lainnya. Mencegah penciptaan struktur tabel yang kurang atau mengurangi ketidak efisienan. Proses merubah suatu relasi yang bermasalah ke dalam dua atau lebih relasi yang tidak bermasalah (Kroenke). Masalah==Anomali
Integritas Disain database (Problems) Menghindari redundansi Menghilangkan ambiguitasitas Performance Akses Efisien dalam penyimpanan Maintainability Mudah di remajakan Mudah di sisipkan Mudah di hilangkan
Disain database (Good) Jika dilakukan k normalisasi i maka: Tetap dapat merepresentasikan Informasi Dekomposisi tetap menjaga integritas Informasi lain dalam elemen tidak hilang (lossy dan lossless) Dependency Preservation Good relation (no anomali), easy maintainance (update,inser,del), No Redundancy 3 rd NF or BCNF Minimalisasi Perulangan
Contoh Tabel Universitas StdSSN SSN StdClass OfferNo OffYear EnrGrade CourseNo CrsDesc S1 JUN O1 2006 3.5 C1 DB S1 JUN O2 2006 3.3 C2 VB S2 JUN O3 2006 31 3.1 C3 OO S2 JUN O2 2006 3.4 C2 VB Perkecualian utk penghilangan 2 kolom (StdCity and OffTerm) Kesalahan Typical pemula: menggunakan satu tabel utk seluruh database Anomali: PK: kombinasi dari StdSSN dan OfferNo Insert: Tdk dpt menyisipkan student baru tanpa enrolling pada offering (OfferNo bag dari PK) Update: perubahan pd desk. Course ; merubah tiap enrollment pada course Delete: hapus baris ke 3; info padacourse C3 hilang (lossy) Redundancies mudah di query: tanpa join Susah dirubah: dapat bekerja, tapi menyusahkan (dummy PK)
Modification Anomaly Examples Insertion Insert data lebih dari yang di inginkan Harus tahu student number dan offering number utk melakukaninsert lkk course baru Update Merubah multiple rows : merubah satu fakta Harus merubah 2 baris untuk merubah kelas student dari student S1 Deletion Menghapus baris menyebabkan fakta lain hilang Menghapus enrollment dari student S2 dalam offering O3 menyebabkan hilangnya informasi tentang offering O3 dan course C3
Update Anomali Pemasok Kota Barang Jumlah Dewi Jakarta Monitor 10 Candra Bandung ZIP 4 Fanda Jakarta Keyboard 5 Candra Bandung Mouse 25 Jika Candra berpindah kota di Bogor, maka seluruh nilai atribut kota milik pemasok Candra harus di rubah semua Pemasok Kota Barang Jumlah Dewi Jakarta Monitor 10 Candra Bogor ZIP 4 Fanda Jakarta Keyboard 5 Candra Bandung Mouse 25
Insert Anomali Kuliah Ruang Tempat Jarkom D.4.1 Gedung D SBD D.4.3 Gedung D Kalkulu s 1 D.4.5 Gedung E Sistem Pakar D.4.10 Gedung E AI D41 D.4.1 Gedung D Bagaimana menambahkan infromasi ruangan baru? Ruang ada di suatu gedung.
Delete Anomali NoSiswa Kursus Biaya 10 Inggris 60000 10 Prancis 80000 10 Mandarin 60000 25 Inggris 60000 20 Jepang 65000 Siswa no 10 yang ikut bahasa inggris dihapus?
Dependensi Konsep yang mendasari normalisasi pada relasi. Menjelaskan hubungan antar atribut atau secara khusus menjelaskan nilai atribut yang menentukan nilai atribut lainnya Fungsional Dependensi Fungsional Dependensi Sepenuhnya Fungsional Total Fungsional Tranfsitif
Fungsional Dependensi (FD) Konsep dasar Functional ldependency muncul saatnilai i atribut pertama (himpunan atribut) menentukan nilai pada atribut (himpunan atribut) yang kedua. Suatu Atribut Y mempunyai dependensi fungsional terhadap atribut X, JIKA DAN HANYA JIKA setiap NILAI X berhubungan dengan SEBUAH nilai i Y Notasi X Y (X secara fungsional menentukan Y) X==Penentu (determinan), Y==Tergantung (dependen) Contoh StdSSN > StdClass Ada setidaknya satu class bagi tiap student Tempatkan StdSSN dan StdClass sendri dalam tabel ang sama StdSSN merupakan candidate key
Contoh FD Pembeli Kota Barang Jumlah lh P1 Yogya B1 10 P1 Yogya B2 5 P2 Solo B1 7 P2 Solo B2 6 P2 Solo B3 6 P3 Semarang B3 7 P3 Semarang B4 6 Pembeli Kota {Pembeli,Barang} Jumlah {Pembeli, Barang} Kota {Pembeli,Barang} {Jumlah, Kota}
FD Lanj. Atribut di sebelah kiri FD disebut determinant SID DormName, Fee (CustomerNumber, ItemNumber, Quantity) Price PK adalah selalu suatu determinant, tetapi suatu determinant tidak selalu suatu PK. Apakah Candidate keys selalu suatu determinant?
FD lanj. X Y X (secara fungsional) menentukan Y X: left hand side (LHS) or determinan (penentu) Untuk semua nilai X, ada setidaknya paling banyak satu nilai Y Mirip dengan candidate keys. FD Trivial X Y jika Y X X X ; XY X X,Y X; XY Y X,Y Y; X,Y,Z X,Z; X,Y,Z X,Z; X,Y,Z X,Y,Z
FD Lanj. Diberikan α R and β R, maka FD adalah α ββ pada R, jika t i (α) adalah unik, dengan 1 i n adalah nilai pada index tuple/record ke i dan α adalah atribut t i (α)= t j (α), i j dan t i (β)= t j (β) A B C A B? t 1 4 C1 1 (A)= t 2 (A), ya t 1 (B) t 2 (B), tidak 1 5 C1 Maka A B 2 7 C2 A C? t 1 (A)= t 2 (A), ya T 1 (C)= t 2 (C), ya Maka A C
Contoh lain DiKetahui i R(A,B,C,D) A C Y C A N (A,B) C Y(unik) (A,B) B Y(unik) A B,? A D,? B D,? AB D,? A B C D A1 B1 C1 D1 A1 B2 C1 D2 A2 B2 C2 D2 A2 B3 C2 D3 A3 B3 C2 D4
Closure Set of FD Diberikan ik F berupa set of FD dipenuhi oleh lhr, dan X, Y, K mrp subset dari R. F (logically) implies X Y if setiap R memenuhi (semua FD dalam) F, R juga memenuhi X Y. Closure F, dinotasikan F+, adalah set dari FD yang diimplikasikan oleh F, dengan demikian F+ = {X Y F implies X Y}. Dengan kata lain bahwa Jika R memenuhi F, maka F+ merupakan set semua ALL FD yang dipenuhi oleh R.
F+: Contoh F = {AB C, C B} set darifd yang dipenuhi R(A, B, C). F+ = {A φ φ, A A, AB φ φ, AB A, AB B, AB C, AB AB, AB AC, AB BC, AB ABC, AC φ, AC A, AC B, AC C, AC AB, AC AC, AC BC, AC ABC,, ABC φ,abc A, ABC B, ABC C, ABC AB, ABC AC, ABC BC, ABC ABC, B φ, B B,BC φ, BC B, BC C, BC BC, C φ, C B, C C, C BC, φ φ }
Contoh F AB C union AB BCD decomp aug A D AB BD AB trans BCDE AB CDE aug D E BCD BCDE Jadi AB BD AB BCD AB BCDE dan AB Jadi, AB BD, AB BCD, AB BCDE, dan AB CDE adalah semua elemen dari F +
Candidate Key & Trivial FD F adalah set of FD yg dipenuhi R, dan K adalah candidate key dari R JIKA, K R berada dalam F+ (F implies K R); and, R. K Tidak ada X K, sdmk rupa shg X R juga berada dalam F+ (minimality). Suatu trivial FD X Y, jikay X. contoh: AB B, A φ, φ φ.
Penurunan FD dg Amstrong s Rules Rfl Reflexive Jika y xmakax y Augmentation Jika x y maka (x,z) (y,z) Transitive Jika x ydany zmakax z Decomposition Jika x (yz) x (y,z) maka x y dan x z Union Jika x ydanx zmakax (y,z) Psuedotransitive Jika x y dan (z,y) w maka (x,z) w jika x y Augmentation (x,z) (y,z) Jika (z,y) w Transitive z wdany w (x,z) w
FD Diagram dan List StdSSN StdClass OfferNo OffYear EnrGrade CourseNo CrsDesc S1 JUN O1 2006 3.5 C1 DB S1 JUN O2 2006 3.3 C2 VB S2 JUN O3 2006 31 3.1 C3 OO S2 JUN O2 2006 3.4 C2 VB Diagram StdSSN StdCity StdClass OfferNo OffTerm OffYear CourseNo CrsDesc EnrGrade StdSSN StdCity, StdClass LIST OfferNo OffTerm, OffYear, CourseNo, CrsDesc CourseNo CrsDesc StdSSN, OfferNo EnrGrade
Fungsional Dependensi Sepenuhnya Suatuatribut tib ty mempunyai dependensid fungsional sepenuhnya terhadap atribut X, JIKA : Y mempunyai FD thd X, dan Y tidak memiliki dependensi thd bagian dari X Contoh : Cust(kode,nama,kota,faks) maka tdpt : {kode,kota} faks Kode faks Irreducible dependen (dependensi yang tak dapat di bagi) atau full llfunctional ldependend atau fully dependen
Dependensi Total Suatu atribut Y mempunyai dependensi total terhadap X, JIKA : Y memiliki FD thd X, dan X mempunyai FD thd Y Notasi X Y Kode Nama Kota K1 Kartika Jakarta C1 Candra Bandung C2 Manda Jakarta Kode Nama
Dependensi Transitif Atribut Z mempunyai dependensi transitif terhadap X bila : Y memilikifd lk thd X Z memiliki FD thd Y Notasi X Z Y Kuliah Ruang Tempat Waktu Jarkom D.4.1 Gedung D Senin 1 SBD D43 D.4.3 Gd Gedung D Sl Selasa 2 Kalkulu s 1 D.4.5 Gedung E Rabu 2 Kuliah {ruang, waktu} Ruang tempat t Kuliah ruang tempat Sistem Pakar D.4.10 Gedung E Selasa 1
FD dalam Data StdSSN StdClass OfferNo OffYear EnrGrade CourseNo CrsDesc S1 JUN O1 2006 35 3.5 C1 DB S1 JUN O2 2006 3.3 C2 VB S2 JUN O3 2006 3.1 C3 OO S2 JUN O2 2006 34 3.4 C2 VB Buktikan bahwa tidak ada FD dengan melihat data 2 baris yang punya nilai sama pada X tetapi berbeda pada nilai Y Jawabdengan Lihat Data: Berguna pd saat menjelaskan pada user Ada tool yang otomatis dapat menghilangkan FD pada baris data diatas Contoh: OfferNo > StdSSN: baris kontradiksi ( 2, 4) (OfferNo sama tetapi StdSSN berbeda) StdSSN > OfferNo: baris kontradiksi (<1,2>, <3,4>) StdSSN > OffYear: datatidakmemiliki tidak kontradiksi tambahkan baris utk proof. kontradiksi (enroll S1 pada offering year = 2001)
Identifikasi FD Easy identification (Mudah) Adanya keunikan PK dan CK dihasilkan dari konversi ERD 1 M relationship: FD dari child ke parent Difficult identification (Sulit) LHS bukan PK atau CK dalam tabel yang dikonversi LHS mrpk bagian dari kombinasi PK atau CK Buat minimalitas pada LHS (Left Hand Side)
Key dan FD Rule 1 FD memuat atribut dimana LHS nya adalah SK R(W,X,Y,Z);FD=XY WZ, jadi XY adalah SK Bukti : XY WZ XY XY (reflextive) XY XYWZ (union) XY R Karena XY R, maka XY=SK
Key dan FD lanj. Rule 2 Atribut secara fungsional menentukan SK tabel, jadi atribut tsb adalah SK R(W,X,Y,Z); FD=Z W, jadi Z=SK Bukti Z W W WXZY (sebab W = SK), maka Z WXYZ (transitif) iif) Z R maka Z adalah SK
Trick If an attribute never appears on the RHS of any FD, it must be part of the key If an attribute never appears on the LHS of any FD, but appears on the RHS of any FD, it must not be part of any key
Contoh Lain R(ABCD), (A,B)= SK dari R ((A,B) R)?? )?? Karena tupel t i i[ [A,B], 1 i 5, adalah unik t 1 [A,B]=(A1,B1) t 2 [A,B]=(A1,B2) t 3 [A,B]=(A2,B2) t 4 [A,B]=(A2,B3) B3) t 5 [A,B]=(A3,B3) A B C D A1 B1 C1 D1 A1 B2 C1 D2 A2 B2 C2 D2 A2 B3 C2 D3 A3 B3 C2 D4 Maka (A,B) (A,B,C,D) ) atau (A,B) R, sehingga (A,B) R
Contoh Lain S(ABCDEF)FD S=(A,B,C,D,E,F); FD=A BC; B D; C EF; BF A Temukan SK dan CK dari S dengan FD? A BC dekomposisi menjadi A B dan A C Karena A B dan B D, maka A D Karena A C dan C EF maka A EF, A A, sehingga A A,B,C,D,E,F Jadi A S superkey B D, maka BC D,C (Aug) C EF, maka BC BEF (Aug) Jadi BC B,C,D,E,F (Union) BC A,B,C,D,E,F dan B,C A, maka B A,B,C,D,E,F Jadi BC S merupakan Superkey BF A dan A A,B,C,D,E,F maka BF A,B,C,D,E,F Jadi BF S Jadi A,BC, BF dan gabungan atribut yang mengandung A,BC dan BF merupakan Superkey Candidate C t Key daris adalah dlhabc A,BC, dan BF
Dekomposisi Lossy (ada informasi yang hilang pada saat terjadi dekomposisi) Lossless (tidak ada informasi yang hilang pada saat terjadi dekomposisi) Manfaat FD pada dekomposisi: Lossless Join Decomposition No Redundancy Dependecy Preservation (Terjaminya pemeliharaan ketergantungan, utk mengatasi update Anomali)
Konsep Lossles join Decomposition R{R1,R2,R3..,Rn} merupakan Lossless join Decomposition Jika : R1 R2 R3 Rn Ri, untuk 1 i n Jika R didekomposisi menjadi {R1,R2} R2} maka disebutlossless join decomposition jika : R1 R2 R1 atau R1 R2 R2 Lossless Join decomposition didapatkan dengan : Uji Dekomposisi : R1 R2 R3 Rn R Uji Lossless join : FD
Contoh Lossless join Decomposition R(A,B,C,D,E,F,G), dk dekomposisi menjadi R1(A,B,C,D,G) dan R2(B,D,E,F,H) sedang FD nya adalah : (1)B A,G ;(2) E D,H ; (3)A E,C ; (4)D F Apakah R1 dan R2 Lossless atau Lossy? Uji Dekomposisi R1 R2 =(A,B,C,D,G) (B,D,E,F,H) =(A,B,C,D,E,F,G,H) =R, YES!
Contoh Lossless join Decomposition Uji Lossless dengan FD R1 R2=(A,B,C,D,G) (B,D,E,F,H)=(B,D) R1 R2 R1 atau R1 R2 R2 (B,D) (A,B,C,D,G) atau (B,D) (B,D,E,F,H) (B,D) (A,B,C,D,G) (1) B (A,G) dari (8) B A (5) B,D A,G,D (Aug) dan (6) B,D B,D (Refl) shg (7) B,D A,B,D,G (union) (1) B A,G menjadi jdi (8) B A dekomposisi (9) B G (3) A E,C menjadi jdi (10) A E dekomposisi (11) A C dan (11) A C maka (12) dan (13) Dari (7) dan (13) union didapat BD A B,D A,B,C,D,G BCDG B C (transitif) B,D C,D (Aug) YES Kerjakan untuk (B,D) (B,D,E,F,H) FD= (1)B A,G ;(2) E D,H ; (3)A E,C ; (4)D F
Dekomposisi Tak Hilang (data) Terjadi pemecahan satu relasi menjadi 2 atau lebih (dekomposisi) Dekomposisi itakhilang : tidak ada informasi iyang hilang ketika relasi di pecah menjadi relasi relasi lain Dekomposisi Tak Hilang NIM Nama Progdi 95001 Budi TI 95002 Edi MI 95003 Budi TI NIM Nama 95001 Budi 95002 Edi 95003 Budi NIM Nama 95001 Budi NIM Progdi 95001 TI 95002 MI 95003 TI Nama Progdi Budi TI 95002 Edi Edi MI Dekomposisi Hilang 95003 Budi Budi TI
Closure dari F (F + ) Jika F himpunan FD dari relasi R, maka semua FD yang mungkin diturunkan dari F dengan hukum hukum FD disebut Closure dari F (ditulis F + ). Jika R=(A,B,C,D), F={A B, B C,A C,C D}, maka, A D, sebab bba C dan C D (transitif) iif) B D, sebab B C dan C D (transitif) Sehingga {A B, B C,A C,C D,A D, B D} F + F + berguna pada Uji Dependency Preservation
Menghitung Closure dari set FD Mulai F+ dengan yang diberikan dari set of FD, Ulangi terus dengan memakai Reflexivity,Augmentation,Transitivity, tambahkan turunannya (FD baru) ke F+, hingga tidak ada FD baru yang dapat diturunkan.
contoh Buktikan: kik { X YZ } = { X Y, X Z } yang memenuhi R(XYZ) bukti: x YZ (1) ; x y (2) dan x z (3) Fd1 (x y) (Ref), kita punya YZ Y (4) dan YZ Z (5) Ingat FD trivial x yjikay subset x dengan X YZ (1), YZ Y (4) dan dengan trans menjadi X Y (2); Fd2 (x z) sama, X YZ (1), YZ Z (5) secara trans menjadi X Z (3).
Closure of Attributes X + Q: Apakah set F darifd berimplikasi i pada X Y? Method 1: Hitung F+ & test jika X Y maka beradadalamdalam F+. Problem: F+ susah di hitung! Method 2: Hitung closure X di dalam F., yang mana merupakan set attribute yang secara fungsional ditentukan oleh X dalam F, atau X+ = { A X A F+ } Theorem: X Y F+jikadan hanya jikay X+. Bukti: Use Dekom & Union.
Menghitung Closure Atribut X + Algorithm menemukan X + Input: F: set FD yang dipenuhi R X: set atribut dari R Output: X + (= xplus). Method: xplus := X; whilexplus berubah do for tiap FD Y Z dalam F do if Y xplus then xplus := xplus Z; return xplus
Contoh R(ABCDEF) R=(A,B,C,D,E,F) F: AB C, BC AD, D E, CE B Hitung {A,B} +? 1. X={A,B} X{AB} 2. Tambah C ke X (dari AB C); X={A,B,C} 3. Tambah hadk A,D ke X (dari ibc AD; X{ABCD} X={A,B,C,D} 4. Tambah E ke X (dari D E); X={A,B,C,D,E} 5. Tidak ada lagi atribut tib tyang dapatdi tambahkan ke X 6. {A,B} + = {A,B,C,D,E}
Contoh Compute (AG) + dalam {A B, CG HI, Init: xplus := AG; B H, A C} iterasi1: XPlus FD Xplus Baru AG A B ABG ABG CG HI ABG ABG B H ABGH ABGH A C ABCGH Xplus berubah maka, ulangi loop.
Lanjutan Iterasi 2 XPlus FD Xplus Baru ABCGH A B ABCGH ABCGH CG HI ABCGHI ABCGHI B H ABCGHI ABCGHI A C ABCGHI Iterasi 3 XPlus FD Xplus Baru ABCGHI A B ABCGHI ABCGHI CG HI ABCGHI ABCGHI B H ABCGHI ABCGHI A C ABCGHI (AG)+ = ABCGHI
Check Candidate Key Diberikan ik R yang memenuhi set F dari FD dan K R. Apakah K suatu candidate key? Kita tahu bahwa K adalah candidate key JIKA R memenuhi K R; dengan dmk K + =R dalam F, dan Untuk setiap subset X dari K, X + R. Dalam contoh tadi, karena (AG)+ = ABCGHI = R, dan A+ = ABCH R, G+ = G R, AG adalah candidate key dari R(ABCGHI) dibawah F
Contoh lagi Hitung closure attribute dari AB (AB + ) Dengan FD : Solusi AB C A D D E AC B (a) (b) (c) (d) Initi closure = {AB} dengan(a) closure = {ABC} dengan(b) closure = {ABCD} dengan(c) closure = {ABCDE} B bagian (d) tetap di hitung tetapi karena Closure tidak berubah, B bagian (d) tetap di hitung tetapi karena Closure tidak berubah, ABCDE U B=ABCDE, dan AB adalah CK dari R(ABCDE)
R(A, B, C, D, E, F) dan S: A BC E CF B E CD EF Hitung closure {A, B} + dari set {A, B} pada S.
Contoh Lagi R( A, B, C, D, E ) F={AB C,BC AD,D E,CF B},,,, Hitung Closure {A, B} + dari {A, B} di bawah S. 1{A,B} + = {A,B} 2 AB C {A,B} + = {A,B,C} 3 BC AD {A,B} + = {A,B,C,D},, 4 D E {A,B} + = {A,B,C,D,E} 5 {A,B A,B} + = {A,B,C,D,E}
Contoh lagi R = {A, B, C, D, E} F = { B CD,, D E, B A, E C, AD B } Is B E in F +? B + = B Is AD a key for R? AD + = AD B + = BCD AD + = ABD dan B = key Yes! B + = BCDA Is AD a candidate key B + = BCDAE Yes! for R? dan B = key bagi R! A + = A Is D a key for R? D + = D D + = DE D + = DEC bukan! A not a key, so Yes! Is ADE a candidate key for R? No! AD is a key, so ADE is a superkey, but not a cand. key
Dependency Preservation (DP) R adalah dlhskema relasi, dimana R di dekomposisi menjadi R1,R2,R3,,Rn dan F1,F2,F3,,Fn adalah himpunan FD yang berlaku untuk R, maka dekomposisi tersbut dikatakan memenuhi DP jika : (F1 F2 F3 Fn) + =F + DP merupakan kriteria penjamin keutuhan relasi, ketika suatu relasi di dekomposisi, jadi dapat menghindari anomali dan inkonsistensi
Dependecy Preservation Contoh R=(A,B,C) dan FD:A B, B C didekomposisikan menjadi R1=(A,B) dan R2=(B,C) Lossles join decomposition?? Dependency Preservation?? R1 R2=(A,B) (B,C)=(A,B,C)=R (dekomposisi) R1 R2=(A,B) (B,C)=(B) R2 (B (B) Jika B (A,B) atau B (B,C) maka lossless karenab C maka BB BC atau B C (Aug) Jadi dekomposisi nya lossless join
Dependecy Preservation lanj. R=(A,B,C), FD={A B,B C} Karena A B dan B C maka A C, sehingga F + ={A B,B C, A C} R1=(A,B), F1={A B}, krn hanya A B yg berlaku pada R1 R2=(B,C), F2={B C}, krn hanya B C yg berlaku pada R2 F1 F2={A B, B C}, krn A B dan B C maka A C Shi Sehingga (F1 F2) + ={A B, B C,A C}=F + Jadi memenuhi DP
Relationships of Normal Forms 1NF 2NF 3NF/BCNF 4NF 5NF DKNF 1NF: tip table beradapada d 1NF 2NF: tiap tabel dalam 2NF juga dalam 1NF 3NF/BCNF: BCNF adalah edisi revisi dari 3NF, 4NF: Mengurangi penggunaan M way relationship;relationship independence and MVDs; does not involve FDs 5NF: tidak melibatkan FD; Inappropriate usage sageofan an M way relationship; morespecialized ed than 4NF DKNF: bentuk ideal secara teori