08 normalisasi database

Upload: damalyk

Post on 06-Jul-2018

242 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/16/2019 08 Normalisasi Database

    1/24

    1/29

      ormalisasi

    Database 

  • 8/16/2019 08 Normalisasi Database

    2/24

    2/29

    Pengantar Penyem purnaa n Skema :

    Pers alan yang Dit imbulkan leh Redundansi  

    Redundansi ruang penyimpanan: beberapa data disimpansecara berulang

    Update anomaly: Jika satu copy data terulang tsb diubah,inkonsistensi data dpt terjadi kecuali kalau semua copy dari

    data tsb diubah dengan cara yang samaInsertion anomaly: Mungkin dpt terjadi kesulitan utk

    menyisipkan data tertentu kecuali kalau beberapa datatidak terkait lainnya juga ikut disisipkan

    Deletion anomaly: Mungkin dpt terjadi kesulitan utkmenghapus data tertentu tanpa harus kehilangan beberapadata tidak terkait lainnya

  • 8/16/2019 08 Normalisasi Database

    3/24

    3/29

    Pers alan yang Ditim bulkan

    leh Redundansi: C nt h  

    Redundansi ruang penyimpanan: Pelaksana yang berkorespondensi dggrading 15 diulang dua kali

    Update anomaly: Nilai Jabatan (yg terkait dengan nilai grading) dlm barispertama dpt diubah tanpa membuat perubahan yg sama pada baris kedua

    Insertion anomaly: Kesulitan utk menyisipkan pegaai baru kecuali nilaigrading untuk jabatan dari pegaai tsb sudah diketahui

    Deletion anomaly: Jika semua baris yang terkait dg nilai jabatan tertentudihapus (misalnya baris utk pegaai !"ono# dihapus), maka kita akankehilangan in$ormasi ketergantungan antara nilai jabatan dan nilai gradingyang diasosiasikan dengan nilai rating tsb (yaitu jabatan % Kepala &idangdan grading % ')

    NP Nama Jabatan *rading

    11 "ana Kepala Pusat '+

    1' "ani Kepala Pusat '+

    1+ "ono Kepala &idang '

    1 "uni Pelaksana 1515 "uno Pelaksana 15

  • 8/16/2019 08 Normalisasi Database

    4/24

    4/29

    Penyebab Anomali

    Mengapa anomali - anomali ini terjadi .

    Karena menggabungkan dua tema (konsep entitas) dalam satu

    relasi/ ni mengakibatkan duplikasi 0 duplikasi sebagai akibat dari

    ketergantungan antar atribut yang tidak pada tempatnya/

    olusi 2 Normalisasi

  • 8/16/2019 08 Normalisasi Database

    5/24

    5/29

    Normalisasi

    Normalisasi adalah proses pembentukan struktur

    database sehingga sebagian besar ambiguity bisa

    dihilangkan/

    3ahap Normalisasi dimulai dari tahap paling ringan(1N4) hingga paling ketat (5N4)

    &iasanya hanya sampai pada tingkat +N4 atau

    &N4 karena sudah cukup memadai untuk

    menghasilkan tabel-tabel yang berkualitas baik/

  • 8/16/2019 08 Normalisasi Database

    6/24

    6/29

    Normalisasi

    ebuah tabel dikatakan baik (e$isien) atau normal jika

    memenuhi + kriteria sbb2

    1/ Jika ada dekomposisi (penguraian) tabel, maka

    dekomposisinya harus dijamin aman (Lossless-Join

    Decomposition)/ 6rtinya, setelah tabel tersebut diuraikan 7didekomposisi menjadi tabel-tabel baru, tabel-tabel baru

    tersebut bisa menghasilkan tabel semula dengan sama

    persis/

    '/ 3erpeliharanya ketergantungan $ungsional pada saatperubahan data (8ependency Preser9ation)/

    +/ 3idak melanggar &oyce-ode Normal 4orm (&N4) (-akan

    dijelaskan kemudian-)

  • 8/16/2019 08 Normalisasi Database

    7/247/29

    Normalisasi

    Jika kriteria ketiga (&N4) tidak dapat terpenuhi,

    maka paling tidak tabel tersebut tidak melanggar

    &entuk Normal tahap ketiga (+rd Normal 4orm 7+N4)/

  • 8/16/2019 08 Normalisasi Database

    8/248/29

    Langkah – Langkah Normalisasi

  • 8/16/2019 08 Normalisasi Database

    9/249/29

    Tabel Uniersal

    3abel :ni9ersal (Universal / Star Table)  sebuahtabel yang merangkum semua kelompok datayang saling berhubungan, bukan merupakan tabel

    yang baik/

    Misalnya2 

  • 8/16/2019 08 Normalisasi Database

    10/2410/29

    Tabel Uniersal

    NP Nama No;klien Nama;klien

    +< Nina K5 Martini

    K= 6nton

    K' armini

    += 3ono K >ka

    K1 6ndin

    +? @adi KA Mitha

    K' &uyung

    K? ndah

  • 8/16/2019 08 Normalisasi Database

    11/2411/29

    !un"tional Dependen"y

    Notasi: A B 

     6 dan & adalah atribut dari sebuah tabel/ &erarti

    secara $ungsional 6 menentukan & atau &

    tergantung pada 6, jika dan hanya jika ada ' barisdata dengan nilai 6 yang sama, maka nilai & juga

    sama

    • Notasi: A

      B atau A x

      B 6dalah kebalikan dari notasi sebelumnya/

  • 8/16/2019 08 Normalisasi Database

    12/2412/29

    !un"tional Dependen"y

    ontoh tabel pemasok

    Kode Nama_Brg Harga Kd_Pemasok Nm_Pemasok Kota

    3-1 3B N 1C A/ P'' P3 umber Jakarta

    3-' 3B N '1C ?5/ P'' P3 umber Jakarta

    3-+ 3B 1C 5/ P11 P3 3unas

    Jaya

    urabaya

    3- 3B M +C /5/ P++ P3 Mekar emarang

    3-5 3B 'C 1/'/ P P3 @olic emarang

  • 8/16/2019 08 Normalisasi Database

    13/2413/29

    &erdasarkan tabel tersebut, diperoleh2

    Kode  Nama;&rg

    Kode @arga

    Kode  Kd;Pemasok

    Kode  Nm;Pemasok

    Kd;Pemasok  Nm;Pemasok

    etiap Kode pasti berhubungan dengan satu Nama_Brg begitu juga antara Kode

    dan Harga/ &egitu seterusnya/

    Misalnya2 3-1 hanya cocok dengan 1 barang, yaitu 3B N 1C

    atatan2 &agaimana kalau dibalik.

    @arga tidak menentukan barangnya, (karena banyak barang mempunyai harga

    yang sama)D tapi satu jenis barang punya satu harga/

    Nama;&rg  Kode

    Nm;Pemasok

     Kode;Pemasok

    Dependensi !ungsional

  • 8/16/2019 08 Normalisasi Database

    14/2414/29

    Perhatikan bagian ini2

    Kode Nama_Brg

    Kode Harga

    Kode Kd_PemasokKode  Nm;pemasok

    Kd;Pemasok  Nm;Pemasok

    3ernyata, Kode menentukan lebih dari satu atribut/Notasinya dapat diganti sebagai berikut2

    Kode  ENama;&rg, @arga, Kd;PemasokF

    Kode  Nm;Pemasok (yang ini bagaimana.)

    Dependensi !ungsional

  • 8/16/2019 08 Normalisasi Database

    15/2415/29

    #entuk$bentuk ormal

    1/ &entuk Normal 3ahap Pertama (1st Normal 4orm7 1N4)

    '/ &entuk Normal 3ahap Kedua ('nd Normal 4orm 7'N4)

    +/ &entuk Normal 3ahap (+rd Normal 4orm 7 +N4)/ &oyce-ode Normal 4orm (&N4)5/ &entuk Normal 3ahap (th Normal 4orm 7 N4)A/ &entuk Normal 3ahap (5th Normal 4orm 7 5N4)

  • 8/16/2019 08 Normalisasi Database

    16/2416/29

    #entuk ormal Tahap Pertama

    %&st ormal !orm ' & !(

    &entuk normal 1N4 terpenuhi jika sebuah tabel

    tidak memiliki atribut bernilai banyak (multivalued

    attribute), atribut composite atau kombinasinya

    dalam domain data yang sama/etiap atribut dalam tabel tersebut harus bernilai

    atomic  (tidak dapat dibagi-bagi lagi)

  • 8/16/2019 08 Normalisasi Database

    17/2417/29

    Data Tidak Ternormalisasi

    NP Nama No;klien Nama;klien

    +< Nina K5 Martini

    K= 6nton

    K' armini

    += 3ono K >ka

    K1 6ndin

    +? @adi KA Mitha

    K' &uyung

    K? ndah

  • 8/16/2019 08 Normalisasi Database

    18/2418/29

    Data &N!

    NP Nama No;klien Nama;klien

    +< Nina K5 Martini

    +< Nina K= 6nton

    +< Nina K' armini

    += 3ono K >ka

    += 3ono K1 6ndin

    +? @adi KA Mitha

    +? @adi K' &uyung

    +? @adi K? ndah

  • 8/16/2019 08 Normalisasi Database

    19/24

    19/29

    Contoh ) %"omposite(

    JadalKuliah

    Kodekul  NamaKul  Dosen  Kelas  Jadwal 

    Kodekul  NamaKul  Dosen  Kelas  JadwalHari  JadwalJam 

    • 8imana nilai pada atribut jadal berisi gabungan antara

    @ari dan Jam/

    • Jika asumsi hari dan jam memegang peranan penting

    dalam sistem database, maka atribut Jadal perlu

    dipisah sehingga menjadi Jadal@ari dan JadalJam

    sbb2

    JadalKuliah

  • 8/16/2019 08 Normalisasi Database

    20/24

    20/29

    #entuk ormal Tahap *edua

    %)nd ormal !orm(

    &entuk normal 'N4 terpenuhi dalam sebuah tabel jika telah memenuhi bentuk 1N4, dan semuaatribut selain primary key, secara utuh memiliki4unctional 8ependency pada primary key

    ebuah tabel tidak memenuhi 'N4, jika ada atributyang ketergantungannya (4unctional 8ependency)hanya bersi$at parsial saja (hanya tergantung padasebagian dari primary key)

    Jika terdapat atribut yang tidak memilikiketergantungan terhadap primary key, maka atributtersebut harus dipindah atau dihilangkan

  • 8/16/2019 08 Normalisasi Database

    21/24

    21/29

    Contoh

    3abel berikut memenuhi 1N4 tapi tidak termasuk 'N42

    NIM Nama Alamat  Mk_kode mk_nama  mk_sks  nihuruf  

    • 3idak memenuhi 'N4, karena ENM, mk;kodeF yangdianggap sebagai primary key sedangkan2

    ENM, mk;kodeF mhs;nama

    ENM, mk;kodeF mhs;alamat

    ENM, mk;kodeF mk;nama

    ENM, mk;kodeF mk;sks

    ENM, mk;kodeF nihuru$ 

    • 3abel di atas perlu didekomposisi menjadi beberapa tabel

    yang memenuhi syarat 'N4

  • 8/16/2019 08 Normalisasi Database

    22/24

    22/29

    Contoh

    4unctional dependencynya sbb2ENM, mk;kodeF   nihuru$($d1)

    NM   Emhs;nama, mhs;alamatF

    ($d')

    Mk;kode   Emk;nama, mk;sksF

    ($d+)

    $d1 (NM, mk;kode, nihuru$)    3abel Nilai

    $d' (NM, mhs;nama, mhs;alamat)    3abel Mahasisa

    $d+ (mk;kode, mk;nama, mk;sks)    3abel MataKuliah

  • 8/16/2019 08 Normalisasi Database

    23/24

    23/29

    #entuk Normal Tahap *etiga %+rd

    Normal !orm '+N!(

    &entuk normal +N4 terpenuhi jika telahmemenuhi bentuk 'N4, dan jika tidak ada atributnon primary ey yang memiliki ketergantunganterhadap atribut non primary ey yang lainnya/

  • 8/16/2019 08 Normalisasi Database

    24/24

    24/29

    Contoh

    3abel berikut memenuhi 'N4, tapi tidak memenuhi +N42

    NIP  Nama  Alm_Jalan  Alm_Kota  Alm_Proinsi  Alm_Kode!os 

    Pegawai 

    karena masih terdapat atribut non primary ey (yakni alm_kota

    dan alm_Proinsi) yang memiliki ketergantungan terhadap atribut

    non primary ey yang lain (yakni alm_kode!os)2

    alm;kodepos  Ealm;Pro9insi, alm;kotaF

    ehingga tabel tersebut perlu didekomposisi menjadi2Pegaai (NP, nama, alm;jalan,

    alm;kodepos)

    Kodepos (alm;kodepos, alm;pro9insi,

    alm;kota)