7 normalization

Upload: chrisma24

Post on 12-Oct-2015

73 views

Category:

Documents


0 download

DESCRIPTION

normalization

TRANSCRIPT

  • NormalizationNormalizationPengampu : Agus Priyanto

    STIKOM YOS SUDARSO PURWOKERTOSmart, Mastery, Innovative, Loving, Enterpreneurship

  • Normalisasi

    N li i T k ik/ d k t di k d l bNormalisasi : Teknik/pendekatan yang digunakan dalam membangundisain lojik database relasional melalui organisasi himpunan data dengantingkat ketergantungan fungsional dan keterkaitan yang tinggi sedemikiansehingga menghasilkan struktur tabel yang normalsehingga menghasilkan struktur tabel yang normal.

    Tujuan : Minimalisasi redundansi (pengulangan data)

    M d hk id tifik i tit Memudahkan identifikasi entitas Mencegah terjadinya anomaliBeberapa bentuk normal (normal forms, NF) :

    2 3 C 1NF, 2NF, 3NF, BCNF based on keys and functional dependencies

    4NF, 5NF based on keys and multi valued dependencies)based on keys and multi-valued dependencies)

    2

  • S t l i di b t hi b t k l t (1NF)

    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)::. semantik tabel menjadi lebih eksplisit (say anything once).::. semua operator aljabar relasional dapat diaplikasikan pada tabel.

    3

  • Tabel : Sales

    First Normal Form (1NF)

    IDSales NamaSales TeleponADN006 Yeni, SE 3517261, 3520165ADN007 Memey 4744621,08122861427

    Tabel : Salesnon-atomic

    UnnormalizedADN008 Tina 08566241521ADN009 Ir. Yanto 7265122, 7123910ADN010 Made 6723192

    UnnormalizedNot 1NF

    IDSales NamaSales TeleponIDSales NamaSales TeleponADN006 Yeni, SE 3517261ADN006 Yeni, SE 3520165ADN007 Memey 4744621ADN007 Memey 08122861427

    1NFADN007 Memey 08122861427ADN008 Tina 08566241521ADN009 Ir. Yanto 7265122ADN009 Ir. Yanto 7123910ADN010 Made 6723192ADN010 Made 6723192

    4

  • Unnormalized

    Tabel : Buku repeated

    Not 1NFFirst Normal Form (1NF)Tabel : BukuISBN Thn_Terbit ID_Pengarang Nama_Pengarang ID_Pengarang Nama_Pengarang12-1202-19222 1992 K0121 Aris M K1021 Kosim P11-1090-29101 2001 K1021 Kosim P11109029102 2001 K2091 KOdelia K0121 ArisM11-1090-29102 2001 K2091 K Odelia K0121 Aris M12-1201-90871 2002 K2092 Renaldi K2091 K Odelia13-2089-12910 2001 K2019 Samsuri J

    ISBN Thn Terbit ID Pengarang Nama PengarangISBN Thn_Terbit ID_Pengarang Nama_Pengarang12-1202-19222 1992 K0121 Aris M12-1202-19222 1992 K1021 Kosim P11-1090-29101 2001 K1021 Kosim P11-1090-29102 2001 K2091 K Odelia

    1NF11 1090 29102 2001 K2091 K Odelia11-1090-29102 2001 K0121 Aris M12-1201-90871 2002 K2092 Renaldi12-1201-90871 2002 K2091 K Odelia13-2089-12910 2001 K2019 Samsuri J3 089 9 0 00 0 9 Sa su J

    5

  • S t l i di b t hi b t k l k d (2NF)

    Second Normal Form (2NF)

    Suatu relasi disebut memenuhi bentuk normal kedua (2NF) jika dan hanya jika :1. memenuhi 1NF2. setiap atribut yang bukan kunci utama tergantung secara p y g g g

    fungsional terhadap semua atribut kunci dan bukan hanya sebagian atribut kunci (fully functionally dependent).

    Untuk normalisasi ke bentuk 2NF maka tabel 1NF didekomposisi 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

    6

  • Contoh :

    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 danA,B EJadi semua atribut bukan kunci utama tergantung penuh pada (A,B).Jadi semua atribut bukan kunci utama tergantung penuh pada (A,B).

    7

  • 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 bergantunghanya 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. 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) d R2 (B E) T k R1 d R2 hi 2NFR1 = (A,B,C,D) dan R2 = (B,E). Tampak R1 dan R2 memenuhi 2NF.

    8

  • Diketahui Workshop = (NIM Modul Biaya Grade)

    Second Normal Form (2NF)Diketahui Workshop = (NIM,Modul,Biaya,Grade)

    NIM

    Peserta WorkshopModul Biaya

    Key : NIM+ModulFD M d l BiGradeNIM Modul Biaya FD : Modul Biaya

    (Biaya ditentukan oleh Modul yangdiambil mahasiswa)

    Tabel biaya peserta workshop

    Grade

    NIM Modul Biaya GradeP11.2004.0129 VB.Net 250000 AP11 2004 0130 Prolog 100000 A

    1NF Not 2NF

    Sebab dalam tabel ini, Biaya tidak bergantung penuh

    Tabel biaya peserta workshop

    P11.2004.0130 Prolog 100000 AP11.2004.0129 Prolog 100000 BP11.2004.0201 Delphi 6 150000 AP11 2004 0250 VB Net 250000 B

    y g g ppada atribut kunci (NIM,Modul)

    P11.2004.0250 VB.Net 250000 B

    9

  • Second Normal Form (2NF)

    NIM Modul Biaya Grade

    (NIM,Modul) = key(Modul) Biaya (partial) Eliminate(NIM,Modul) Grade (full)

    NIM Modul Biaya Grade

    Make Decomposition :Works1 = (NIM,Modul,Grade)NIM Modul Biaya Grade Works2 = (Modul,Biaya)

    Fully Dependency

    10

  • Workshop NIM Modul GradeSecond Normal Form (2NF)

    NIM Modul Biaya GradeP11.2004.0129 VB.Net 250000 AP11.2004.0130 Prolog 100000 A

    Workshop P11.2004.0129 VB.Net AP11.2004.0130 Prolog AP11.2004.0129 Prolog Bg

    P11.2004.0129 Prolog 100000 BP11.2004.0201 Delphi 6 150000 AP11.2004.0250 VB.Net 250000 B

    P11.2004.0201 Delphi 6 AP11.2004.0250 VB.Net B

    Works1

    Modul BiayaVB.Net 250000

    Works1

    More Better Th Prolog 100000

    Delphi 6 150000Works2

    Then1NF

    11

  • S t l i di b t hi b t k l k ti (3NF)

    Third Normal Form (3NF)

    Suatu relasi disebut memenuhi bentuk normal ketiga (3NF) jika dan hanya jika :1. memenuhi 2NF2. setiap atribut yang bukan kunci tidak tergantung secarap y g g g

    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, di X d A t ib t ( t k it ) hi l h t

    Another Definition :

    dimana X dan A atribut (atau kompositnya), memenuhi salah satukondisi :1. X adalah superkey2. A merupakan anggota candidate key (A disebut prime attribute)p gg y ( p )

    12

  • Third Normal Form (3NF)

    Jika suatu relasi sudah memenuhi 2NF tapi tidak memenuhi 3 NF 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

    13

  • Contoh :

    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)pada C (yang juga bukan kunci utama).

    Melalui FD : Diketahui A,B C,D,E.

    Karena sifat refleksif maka A BA B Sehingga A BA B C D E Karena sifat refleksif maka A,BA,B. Sehingga A,BA,B,C,D,E (A,B) : Superkey.

    Diketahui CD,E.Karena sifat refleksif maka CC. Sehingga CC,D,E. Karena C A B C D E maka C bukan superkeyKarena 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.R1 (A,B,C) dan R2 (C,D,E) sehingga R1 dan R2 memenuhi 3NF.

    14

  • FD A B C D E b ti A B C C D E A B D E

    Third Normal Form (3NF)

    FD : A,B C,D,E berarti A,B C ; C D,E ; A,B D,EA,B D reduceA,B E reduce

    D k i i R1 (A B C) FD (A B)CDekomposisinya : R1=(A,B,C) ; FD : (A,B)CR2=(C,D,E) ; FD : CD,E

    A B C D ER

    A B C D E

    A B C C D E

    R1 R2R1 R2

    15

  • Misal diketahui struktur informasi dari suatu dokumen supplier :

    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

    S Status CityP Qty

    S1 20 LONDON P1 300P2 200

    PQ

    dengan (S,P) primary key dan berlaku FD :

    SStatusSCityCit St t

    P2 200P3 400P4 200P5 100P6 100 CityStatus

    Lakukan normalisasi dari 1NF hingga 3NF.P6 100

    S2 10 PARIS P1 300P2 400

    S3 10 PARIS P2 200S4 20 LONDON P2 200

    P4 399P5 400

    16

  • TPS

    Third Normal Form (3NF)

    1NF Not 2NFP bl

    TPSS Status City P QtyS1 20 LONDON P1 300S1 20 LONDON P2 200

    Problem : Redundansi inconsistency

    low speed process Anomaly :

    S1 20 LONDON P3 400S1 20 LONDON P4 200S1 20 LONDON P5 100S1 20 LONDON P6 100 S(Status,City) tapi kita tidak bisa insert

    data (S5,30,JAKARTA) tanpa diikuti dataP (khususnya) dan Q. Menghapus 1 barisdata akan jg merusak keutuhan informasi.

    S1 20 LONDON P6 100S2 10 PARIS P1 300S2 10 PARIS P2 400S3 10 PARIS P2 200 da a a a jg u a u u a o a

    Solusi :Dekomposisi menjadi :TPS1 dan TPS2

    S4 20 LONDON P2 200S4 20 LONDON P4 399S4 20 LONDON P5 400

    17

  • TPS1 TPS21NF

    Third Normal Form (3NF)

    S P QtyS1 P1 300S1 P2 200S1 P3 400

    S Status CityS1 20 LONDONS2 10 PARISS3 10 PARIS

    1NF 2NF Not 3NF (trans.)

    SCity

    1NF 2NF 3NF

    redundansi partialS1 P3 400S1 P4 200S1 P5 100S1 P6 100S2 P1 300

    S3 10 PARISS4 20 LONDON Sekarang kita dapat menambah

    data (S5,30,JAKARTA) dgn amanT i ih d l

    SCityCityStatus

    redundansi partial not potensial better then

    previous redundantW t li i tS2 P1 300

    S2 P2 400S3 P2 200S4 P2 200S4 P4 399

    Tapi masih ada anomaly :Karena CityStatus maka kita tidak bisa entry data City baru sebelum Status

    We may not eliminateall redundant but wemake its minimize

    S4 P4 399S4 P5 400

    punya nilai. Penghapusan 1 barissebagian data City juga bisa merusak keutuhan informasi S.

    Selain itu, masih ada redundansi,pada Status dan City

    18

  • TPS1 1

    Third Normal Form (3NF)

    S CityS1 LONDONS2 PARIS

    City StatusLONDON 20PARIS 10

    TPS1-1 TPS1-2 TPS2S P QtyS1 P1 300S1 P2 200

    1NF 2NF 3NFS2 PARIS

    S3 PARISS4 LONDON

    PARIS 10 S1 P2 200S1 P3 400S1 P4 200S1 P5 100

    1NF 2NF 3NF1NF S1 P5 100S1 P6 100

    S2 P1 300S2 P2 400

    3NF 1NF 2NF 3NF

    S3 P2 200S4 P2 200S4 P4 399S4 P5 400S4 P5 400

    19

  • T it !!Third Normal Form (3NF) Try it !!

    1.Diberikan skema relasi R = (A,B,C,D,E,F,G,H,I,J,K) dengan ketergantunganfungsional :A B,C,D ; C D ; E F ; A,E G,H,I,J,K ; I J,K

    k h h 3 ? k d k l h k l d kApakah 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 keyKetergantungan fungsional yang berlaku (FD) :A C,F ; B G,H ; A,B D,E dan D E Jik dik t h i b h R hi 1NF k h R hi 2NF ? 3NF ? 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 d ji l ldan uji lossless.

    20

  • Boyce Codd Normal Form (BCNF)

    S t l i di b t hi BCNF Suatu relasi disebut memenuhi BCNF jika dan hanya jika setiap determinan yang ada pada relasi tersebut adalah candidate key.Definisi yang lain :y gSuatu 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 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 sebaliknyaBCNF pasti memenuhi 3NF, tetapi belum tentu sebaliknya.

    21

  • Contoh :

    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 ?

    AB (diketahui)AB dan BC maka AC (transitif)AA (refleksif)Sehingga A(A,B,C) atau AR. Jadi A superkey. Sehingga A(A,B,C) atau AR. Jadi A superkey. B superkey ?

    BC (diketahui)BB (refleksif)T i B A S hi BA B C t B b k k Tapi BA. Sehingga BA,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 Bdua-duanya sekarang menjadi superkey. 22

  • Contoh :

    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 :ABC ; maka AB ABC, atau A R. Jadi AB superkey dari RABC ; maka AB ABC, atau A R. Jadi AB superkey dari RCB ; 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 hi 3NFR memenuhi 3NF R bukan BCNF karena :

    AB superkey tetapi C bukan superkey.

    23

  • Students Books

    Boyce Codd Normal Form (BCNF)

    sid name age

    53666 Jones 18

    53668 Smith 18

    53669 M li 17

    bid title year

    B001 MySQL 2002

    B002 Algorithm 2003

    B003 Visual Foxpro 6 0 2003

    Students=(sid, name, age)FD : sid name, age

    Books=(bid, title, year)FD : bid title, year

    53669 Melissa 17

    53670 Hilden 19

    B003 Visual Foxpro 6.0 2003

    B004 Visual basic 6.0 2005

    FD : sid name, age BCNF, sebab sid superkey

    b d t t e, yea BCNF, sebab bid superkey

    Pinjam=(idpinjam, sid, bid, date)FD : idpinjam bid date

    Pinjamidpinjam sid bid date

    FD : idpinjam bid, date Bukan BCNF, sebab idpinjam bukan superkey

    idpinjam sidP-01 53666 B002 10/11/2005

    P-02 53668 B001 10/11/2005

    P-03 53668 B004 11/12/2005

    P-04 53670 B002 14/11/2005P 04 53670 B002 14/11/2005

    24

  • PinjamBoyce Codd Normal Form (BCNF)

    idpinjam sid bid date

    P-01 53666 B002 10/11/2005

    P-02 53668 B001 10/11/2005

    P-03 53668 B004 11/12/2005P 03 53668 B004 11/12/2005

    P-04 53670 B002 14/11/2005

    Didekomposisi menjadi :Pinjam1 Pinjam2Pinjam1

    idpinjam sid

    P-01 53666

    P-02 53668

    Pinjam2idpinjam bid date

    P-01 B002 10/11/2005

    P-02 B001 10/11/2005

    P-03 53668

    P-04 53670

    P-03 B004 11/12/2005

    P-04 B002 14/11/2005

    FD trivial BCNF

    idpinjam bid, dateidpinjam superkey BCNF idpinjam superkey BCNF

    25

  • It is always possible to decompose a Comparison of BCNF And 3NF

    It is always possible to decompose a relation into relations in 3NF and the decomposition is lossless the decomposition is lossless the dependencies are preserved

    It is always possible to decompose a It is always possible to decompose a relation into relations in BCNF and the decomposition is lossless the decomposition is lossless it may not be possible to preserve

    dependencies.depe de c es

    26

  • Contoh kasus redundansi pada 3NF

    Comparison of BCNF And 3NF

    pJadwal = (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 :

    NIM Modul Dosen NIM Dosen Dosen ModulP11.2004.0129 VB.Net AjibP11.2004.0130 Prolog ArisP11.2004.0129 VB Net Ajib

    P11.2004.0129 AjibP11.2004.0130 ArisP11.2004.0129 Ajib

    Ajib VB.NetAris PrologJono Prolog

    P11.2004.0201 VB Net BudiP11.2004.0250 Prolog JonoP11.2004.0260 VB.Net Budi

    P11.2004.0201 BudiP11.2004.0250 JonoP11.2004.0260 Budi

    Budi VB.Net

    27BCNFNOT BCNF

  • Goal for a relational database design is: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 Lack of dependency preservation Redundancy due to use of 3NF

    28

  • (doesnt meet the

    Design Steps

    Entity Set (doesn t meet the

    definition of a relation)

    First Normal

    Remove multivalued & repeating attributes. Meet definition of relation

    Form

    Second Normal Form

    Remove partial dependencies

    Praktisi database kebanyakanmenganggap bahwa tingkatan Form

    Third Normal Form

    Remove transitive dependencies

    menganggap bahwa tingkatannormalisasi hingga BCNF atau3NF dianggap sudah cukup untuk meminimalisasi masalahdalam desain database Form

    Boyce-Codd Normal Form

    Select relation where all determinants are candidate key

    dalam desain database (redundansi,lossless,dependencypreservation)

    Normal Form candidate key

    29

  • Berdasarkan formulir tersebut

    LATIHAN !!

    Berdasarkan formulir tersebut, Rancanglah tabel penyimpanan

    datanya Lakukan normalisasi hingga 3NF

    atau BCNFatau BCNF

    30

  • The Callenge of Database Design

    D i t k d i i th t t i d b fli ti lDesigners 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 p g p (p ), 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 capablility for delivering all specified query and reporting

    of user requirements timely

    Contoh bentuk kompromi yang populer : Denormalisasi (pelanggaran normalisasi)

    31

  • 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. B if N if ki k k dil d l

    Design Standards Vs (proceessing speed,information requirements)

    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)Summary Table (mis : summary table for report)- Membiarkan relasi transitif dalam satu tabel untuk kemudahan proses

    Konsekuensi Denormalisasi :Redundancy, Not Atomic, Worst Space dll

    32

  • Additional MaterialAdditional Material(Normal Form Other)( )

    33

  • Multivalued Dependency (MVD)

    B b b k l ( l f NF) Beberapa bentuk normal (normal forms, NF) : 1NF, 2NF, 3NF, BCNF

    based on keys and functional dependenciesy p 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 AB, jika untuk setiap nilai A terdapat sekumpulan nilai B dan sekumpulan nilai C, tetapi nilai B dan nilai C independen.

    34

  • 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, Sekumpulan nilai B independen dengan sekumpulan nilai C,

    semikian juga sebaliknya.Penawaran Mata KuliahMata KuliahInstruktur Pustaka

    Penawaran Mata KuliahMata Kuliah Instruktur Pustaka

    Basis Data Himawan CJ DatePurwanto HF KorthAris Marjuni

    Basis Data Himawan CJ DateBasis Data Purwanto CJ DateBasis Data Aris Marjuni CJ DateBasis Data Himawan HF KorthB i D P HF K hMatematika M Sidiq C Liu

    MT LangBasis Data Purwanto HF KorthBasis Data Aris Marjuni HF KorthMatematika M Sidiq C LiuMatematika M Sidiq MT LangMVD : Mata Kuliah Instruktur

    35

    Mata Kuliah Pustaka

  • Multivalued Dependency (MVD)

    Dalam contoh lain :

    X Y Z X Y Z X Y ZR1 R2 R3

    1 1 11 1 21 2 1

    1 1 11 1 21 2 1

    1 1 11 1 21 2 1

    1 2 22 2 12 2 2

    1 2 22 2 12 1 2

    2 2 12 2 2

    No MVD3 3 3

    XY ?XZ ?YX ?

    No MVDWhy ?

    Why ?

    YX ?ZX ?MVD Exist 36

  • Refleksif : xx

    Multivalued Dependency (MVD)Refleksif : xxAugmentation : Jika xy maka xzyzTransitif : Jika xy dan yz maka xz-yPseudotransitif : Jika xy dan ywz maka xwz-ywUnion : Jika xy dan xz maka xyzUnion : Jika xy dan xz maka xyzDekomposisi : Jika xy dan xz maka xyz dan xz-yKomplemen : Jika xy dan z=R-x-y maka xz

    37

  • Fourth Normal Form (4NF)

    Skema relasi R disebut 4NF jika dan hanya jika BCNF dan Tidak terdapat MVD.

    A bil d MVD d l R i l XY Apabila terdapat MVD dalam R, misal XY maka harus memenuhi salah satu :- MVD adalah trivial atau

    X adalah superkey- X adalah superkey

    38

  • Misal diketahui R (A B C D E F)

    Fourth Normal Form (4NF)Misal diketahui R = (A, B, C, D, E, F)MVD : AB dan CDEF. Bila diasumsikan R memenuhi BCNF, apakah memenuhi 4NF ? Jika belum upayakan menjadi 4NF.

    Bukan 4NF sebab terdapat MVD dan nontrivial Bukan 4NF sebab terdapat MVD dan nontrivial. Dekomposisi R :

    Dari AB, dibentuk R1=(A,B)Karena AB maka A C,D,E,F dan dibentuk R2=(A,C,D,E,F)

    R1=(A B) R1=(A,B)memenuhi 4NF, sebab MVD : AB trivial

    R2=(A,C,D,E,F)Bukan 4NF, karena MVD : CDEF nontrivial

    Dekomposisi R2 : R1=(A,B) Dekomposisi R2 :Dari CDEF dibentuk R21=(C,D,E,F)Karena CDEF dan CDA, dibentuk R22=(C,D,A)

    R21=(C,D,E,F)4NF karena MVD : CDEF trivial

    ( , )

    R21=(C,D,E,F)

    R22=(C,D,A)

    M hi 4NF4NF, karena MVD : CDEF trivial R22=(C,D,A)

    4NF, karena tidak ada MVD.

    Memenuhi 4NF

    39

  • Misal diketahui R (A B C G H I)

    Fourth Normal Form (4NF)Misal diketahui R = (A, B, C, G, H, I)MVD : AB, BHI dan CGH. Bila diasumsikan R memenuhi BCNF, apakah memenuhi 4NF ? Jika belum upayakan menjadi 4NF.

    Bukan 4NF sebab terdapat MVD nontrivial dan bukan superkey Bukan 4NF sebab terdapat MVD, nontrivial dan bukan superkey. Dekomposisi R :

    Dari AB, dibentuk R1=(A,B)Karena AB maka A C,G,H,I dan dibentuk R2=(A,C,G,H,I)

    R1=(A B) R1=(A,B)memenuhi 4NF, sebab MVD : AB trivial

    R2=(A,C,G,H,I)Bukan 4NF, karena MVD : CGH nontrivial

    Dekomposisi R2 :

    R1=(A,B)

    R21=(C,G,H)

    R221=(A,I)

    R222=(A C G) Dekomposisi R2 :Dari CGH dibentuk R21=(C,G,H)Karena CGH maka CGA,I dan dibentuk R22=(C,G,A,I)

    R21=(C,G,H) 4NF, karena MVD : CGH trivial, tetapi R22=(C,G,A,I)bukan 4NF karena ada MVD : AI (dari AB BHI maka A >HI

    R222=(A,C,G)

    Memenuhi 4NF

    bukan 4NF, karena ada MVD : AI (dari AB, BHI maka A-->HI dan AI).

    Dekomposisi R22 menjadi R221=(A,I) dan R222=(A,C,G)dan masing-masing merupakan bentuk 4NF.

    40

  • Penawaran Mata Kuliah BCNF, sebab :

    Fourth Normal Form (4NF)Penawaran Mata KuliahMata Kuliah Instruktur PustakaBasis Data Himawan CJ DateBasis Data Purwanto CJ DateBasis Data Aris Marjuni CJ Date

    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 N S b b t d t MVD t i i ljBasis Data Himawan HF KorthBasis Data Purwanto HF KorthBasis Data Aris Marjuni HF KorthMatematika M Sidiq C Liu

    - 4NF, No. Sebab terdapat MVD yang nontrivial.Dekomposisi

    Matematika M Sidiq MT LangMVD : Mata Kuliah Instruktur

    Mata Kuliah Pustaka

    41

  • Fourth Normal Form (4NF)

    InstMata Kuliah InstrukturBasis Data HimawanBasis Data PurwantoPenawaran Mata KuliahMata Kuliah Instruktur Pustaka

    4NF

    Basis Data Aris MarjuniMatematika M Sidiq

    Mata Kuliah Instruktur PustakaBasis Data Himawan CJ DateBasis Data Purwanto CJ DateBasis Data Aris Marjuni CJ DateBasis Data Himawan HF Korth

    Mata KuliahInstruktur

    PustMata Kuliah PustakaBasis Data CJ Date

    Basis Data Purwanto HF KorthBasis Data Aris Marjuni HF KorthMatematika M Sidiq C LiuMatematika M Sidiq MT Lang

    4NFBasis Data HF KorthMatematika C LiuMatematika MT Lang

    Mata KuliahPustakaMata KuliahPustakaRefference :Toby J. Teorey, Database Modeling & Design, page 112-116

    42

  • R1 R2 R3

    Fourth Normal Form (4NF)

    X Y Z1 1 11 1 2

    X Y Z1 1 11 1 2

    X Y Z1 1 11 1 21 1 2

    1 2 11 2 22 2 1

    1 1 21 2 11 2 22 2 1

    1 1 21 2 12 2 12 2 22 2 1

    2 2 23 3 3

    2 2 12 1 2

    2 2 2

    4NF ? No4NF ? Yes

    4NF ? Yes

    4NF ? No.- MVD nontrivial- Bukan Superkey

    43

  • Fifth Normal Form (5NF)Misal SPJ berisi data-data Supplier (S) yang memasok barang (P) untuk

    SPJ SP PJ

    Misal SPJ berisi data data Supplier (S) yang memasok barang (P) untuk suatu Project (J). Satu supplier dapat memasok banyak barang, supplier jugaDapat berpartisipasi pada banyak proyek.

    Jika SP dan PJ di project join kan kembali on P S P JS1 P1 J2S1 P2 J1

    S PS1 P1S1 P2

    P JP1 J2P2 J1

    Jika SP dan PJ di-project join-kan kembali on P akan diperoleh :

    S P JSP join PJ

    S2 P1 J1S1 P1 J1

    S

    S2 P1 P1 J1

    SP SJKey : S, P, J

    S1 P1 J2S1 P1 J1S2 P1 J2 Tupel asing

    SPSJ4NF ? No

    4NF ? Yes 4NF ? YesMVD : S2 P1 J1S1 P2 J1

    p g

    Ternyata projection-join dari dekomposisinya tidak mengembalikan Ternyata projection join dari dekomposisinya tidak mengembalikan Ke relasi asal.

    44

  • Relasi hasil project-join tsb akan kembali ke bentuk relasi asal SPJ setelah di project-join

    Fifth Normal Form (5NF)

    S P JSP join PJ

    Relasi hasil project join tsb akan kembali ke bentuk relasi asal SPJ setelah di project joinKan dengan SJ pada S dan J

    S JSJ

    S P JSPJ (Original)

    S1 P1 J2S1 P1 J1S2 P1 J2

    S1 J2S1 J1S2 J1

    Project-joinon (S,J)

    S1 P1 J2S1 P1 J1S2 P1 J1S2 P1 J2

    S2 P1 J1S1 P2 J1

    S2 J1 S2 P1 J1S1 P2 J1

    S PSP

    P JPJ

    S JSJ

    S PS1 P1S1 P2S2 P1

    P JP1 J2P2 J1P1 J1

    S JS1 J2S1 J1S2 J1

    Dekomposisi Akhir

    S2 P1 P1 J1 S2 J1

    45

  • Fifth Normal Form (5NF)

    Di b t j P j ti J i N l F (PJ/NF) 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 ataujSkema 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 joinBatasan dekomposisi yang lossless pada sejumlah operasi project-join

    46

  • SPJ SP PJ SJFifth Normal Form (5NF)

    S P JS1 P1 J2S1 P2 J1

    S PS1 P1S1 P2

    P JP1 J2P2 J1

    S JS1 J2S1 J1

    S2 P1 J1S1 P1 J1

    S2 P1 P1 J1SP4NF ? Yes

    SJ4NF ? YesKey : S, P, J

    S2 J1

    4NF ? Yes, tidak ada MVDSPSJ4NF ? No

    4NF ? Yes5NF ? Yes

    4NF ? Yes5NF ? Yes

    y , ,MVD :

    5NF ?

    4NF ? Yes, tidak ada MVD5NF ? Yes

    Yes, tidak dapat didekomposisi lagiTrivial pada candidate key

    Refference :C.J. Date, An Introduction To Database Systems, page 394-399

    47

  • 1NF

    3NF

    2NF

    1NF

    SUMMARY

    4NF

    BCNF

    5NF

    LEVEL NORMALISASI48

  • It i b t t fi d d t b d i th t t th 3 it i

    SUMMARY

    It is best to find a database design that meet the 3-criteria : NF (Normal-Form)note Dependency Preservation Lossless-Join

    noteIf 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 5NFIf 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.

    49

  • TerimakasihTerimakasihTerimakasihTerimakasih

    50