DESAIN DATABASE DAN NORMALISASI

  Relasi (review )

  • Kumpulan at ribut yang nilainya : – Set iap at ribut harus berharga t unggal.
    • – Semua harga pada suat u at ribut harus mempunyai t ipe yang s
    • – Set iap at ribut harus mempunyai nama yang unik
    • >– Urut an at ribut t idak pent
    • – Tidak ada dua baris (t uple) dalam relasi yang isinya ident ik
    • – Urut an baris (t uple) t idak pent ing.

Proses Rancangan Database (review )

  • M engumpulkan Kebut uhan User/ Business
  • M engembangkan E-R M odel Berdasarkan Kebut uhan User/ Business
  • Konversikan E-R M odel Ke Himpunan Relasi (Tabel).
  • Normalisasikan Relasi Unt uk M enghilangkan Anomali.
  • Implement asikan Ke Dat abase Dengan M embuat . Table Unt uk Set iap Relasi Yang Sudah Ternormalisasi.

  

Normalisasi Basis Data (1)

  • Normalisasi adalah proses pembent ukan st rukt ur basis

  dat a sehingga sebagian besar ambiguity bisa dihilangkan.

  • Tahap Normalisasi dimulai dari t ahap paling ringan (1NF) hingga paling ket at (5NF)
  • Biasanya hanya sampai pada t ingkat 3NF at au BCNF karena sudah cukup memadai unt uk menghasilkan t abel-t abel yang berkualit as baik.

  

Normalisasi Basis Data (2)

  • M engapa dilakukan normalisasi ?
    • – Opt imalisasi st rukt ur-st rukt ur t abel
    • – M eningkat kan kecepat an
    • – M enghilangkan pemasukan dat a yang sama
    • – Lebih efisien dalam penggunaan media penyimpanan
    • – M engurangi redundansi
    • – M enghindari anomali (insert ion anomalies, delet ion anomalies , updat e anomalies).

Normalisasi Basis Data (3)

  • Sebuah t abel dikat akan baik (efisien) at au normal jika memenuhi 3 krit eria sbb:

  

1. Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus dijamin

aman (Lossless-Join Decomposit ion). Art inya, setelah tabel tersebut diuraikan /

didekomposisi menjadi tabel-tabel baru, tabel-tabel baru tersebut bisa

menghasilkan tabel semula dengan sama persis.

  2. Terpeliharanya ketergant ungan fungsional pada saat perubahan data (Dependency Preservat ion).

  3. Tidak melanggar Boyce-Code Normal Form (BCNF)

  • Jika krit eria ket iga (BCNF) t idak dapat t erpenuhi, maka paling t idak t abel t ersebut t idak melanggar Bent uk

  

Boyce-Codd Normal Form (BCNF)

  • Bent uk BCNF t erpenuhi dalam sebuah t abel, jika unt uk set iap

  funct ional dependency t erhadap set iap at ribut at au gabungan at ribut dalam bent uk:

  X Y maka X adalah super key

  

  • t abel t ersebut harus di-dekomposisi berdasarkan

  funct ional dependency yang ada, sehingga X menjadi super key dari t abel- t abel hasil dekomposisi

  • Set iap t abel dalam BCNF merupakan 3NF. Akan tet api set iap 3NF

  belum t ent u t ermasuk BCNF . Perbedaannya, unt uk funct ional dependency X

   dari primary key.

  

Functional Dependency (1)

  • Funct ional Dependency menggambarkan

  hubungan at t ribut es dalam sebuah relasi

  • Suat u at t ribut e dikat akan funct ionally dependant pada yang lain jika kit a menggunakan harga at ribut t ersebut unt uk menent ukan harga at ribut yang lain.
  • Simbol yang digunakan adalah  unt uk mewakili

Functional Dependency (2)

  • Notasi: A  B A dan B adalah at ribut dari sebuah t abel.

    Berarti secara fungsional A menentukan B

  , jika dan hanya jika atau B tergantung pada A

ada 2 baris dat a dengan nilai A yang sama,

maka nilai B juga sama

  • Notasi: A B atau A x B

   

  Functional Dependency (3)

  • Cont oh t abel nilai

  

Functional Dependency (4)

  • Funct ional Dependency dari t abel nilai
    • NIM NamaM hs

   Karena unt uk set iap nilai nim yang sama, maka nilai NamaM hs juga sama {M atakuliah, NIM } NilaiHuruf

  • – Karena at t ribut NilaiHuruf t ergant ung pada M at akuliah dan NIM secara bersama-sama. Dalam art i lain unt uk M at akuliah dan NIM yang sama, maka NilaiHuruf juga sama, karena M at akuliah dan NIM merupakan key (bersifat unik).

  

BENTUK NORM AL PERTAM A (First Normal Form - 1NF)

Tidak diperboleh adanya :

  • At ribut yang bernilai banyak (M ult ivalued at t ribut ).
  • At t ribut komposit at au kombinasi dari keduanya.

    Jadi : Harga domain at ribut harus merupakan harga at omik

Contoh (1)

  • M isal Dat a M ahasisw a sbb :

  At au

Contoh (2)

  • Dekomposisi menjadi :
    • – Tabel M ahasiswa :
    • – Tabel Hobi :

BENTUK NORM AL KEDUA (Second Normal Form - 2NF) (1)

  • Bent uk normal 2NF t erpenuhi dalam sebuah t abel jika t elah memenuhi bent uk 1NF, dan semua at ribut selain primary key, secara ut uh memiliki Funct ional Dependency pada primary key
  • Sebuah t abel t idak memenuhi 2NF, jika ada at ribut yang ket ergant ungannya (Funct ional Dependency) hanya bersifat parsial saja (hanya t ergant ung pada sebagian dari primary key)
  • Jika t erdapat at ribut yang t idak memiliki ket ergant ungan t erhadap primary key, maka at ribut t ersebut harus

BENTUK NORM AL KEDUA (Second Normal Form - 2NF) (2)

  • Ketergantungan fungsional X Y dikatakan penuh

   jika menghapus suatu atribut A dari X berarti Y tidak lagi bergantung fungsional.

  • Ketergantungan fungsional X  Y dikatakan partial jika menghapus suatu atribut A dari X berarti Y masih bergantung fungsional.
  • Skema relasi R dalam bentuk 2NF jika setiap atribut non primary key A R bergantung penuh secara

  

Contoh (1)

  • Tabel berikut ini memenuhi 1NF, t et api t idak t ermasuk

  2NF

Contoh (2)

  • • Tidak memenuhi 2NF, karena {NIM , KodeM k} yang dianggap

  sebagai primary key sedangkan: {NIM , KodeM k} NamaM hs

  

  {NIM , KodeM k} Alamat

  

  {NIM , KodeM k}  M at akuliah {NIM , KodeM k} Sks

  

  {NIM , KodeM k} NilaiHuruf

  

  • Tabel t ersebut perlu didekomposisi menjadi beberapa t abel yang memenuhi syarat 2NF

  

Contoh (3)

  • Funct ional dependencynya sbb:

  • – {NIM , KodeM k}

  

  NilaiHuruf (fd1)

  {NamaM hs, Alamat } (fd2)

  • – NIM

  

  • – KodeM k  {M at akuliah, Sks} (fd3)
    • Sehingga :

  Tabel Nilai

  • – fd1 (NIM , KodeM k, NilaiHuruf )

  

  • – fd2 (NIM , NamaM hs, Alamat )

  

  Tabel M ahasisw a

BENTUK NORM AL KETIGA (Third Normal Form - 3NF) (1)

  • Bent uk normal 3NF t erpenuhi jika t elah memenuhi bent uk 2NF, dan jika

  tidak ada at ribut non primary key yang memiliki ket ergant ungan t erhadap at ribut non primary yang lainnya ( ketergantungan transitif key ).

BENTUK NORM AL KETIGA (Third Normal Form - 3NF) (2)

  • Untuk setiap Functional Dependency dengan notasi X  A, maka: – X harus menjadi superkey pada tabel tersebut.
    • – Atau A merupakan bagian dari primary key pada tabel tersebut.

  • Ketergantungan fungsional X  Y dalam relasi R dikatakan

   bergantung transitif jika terdapat kumpulan atribut Z himpunan primary key R sehingga X  Z dan Z  Y.

Contoh (1)

  • Tabel mahasis berikut ini memenuhi syarat 2NF, t et api t idak memenuhi 3NF
  • Karena masih t erdapat at ribut non primary key (yakni Kot a dan Provinsi) yang memiliki ket ergant ungan t erhadap at ribut non primary key yang lain (yakni KodePos) :

Contoh (2)

  • Sehingga t abel t ersebut perlu didekomposisi menjadi :
    • – M ahasisw a (NIM , NamaM hs, Jalan, KodePos)
    • – KodePos (KodePos, Provinsi, Kot a)
    Mahasiswa

  

NIM NAM AM HS JALAN KODEPOS

KODEPOS PROVINSI KOTA

  KodePos

Contoh Proses Normalisasi

  Tahap-tahap Normalisasi

  1.Bentuk Tidak Normal ( Unnormalized Form)

  2.Bentuk Normal Kesatu ( 1 NF / First Normal Form)

  3.Bentuk Normal Kedua ( 2 NF / Second Normal Form)

  4.Bentuk Normal Ketiga ( 3 NF / Third Normal Form)

  • Meruapakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti suatu format tertentu, dapat saja data tidak lengkap atau terduplikasi.
  • Data dikumpulkan apa adanya tanpa format tertentu. Data dapat tidak lengkap atau terduplikasi
  • Tabel Perpustakaan ini masih bersifat universal Perpustakaan

  No Nama Alamat No Buku1 Judul Buku1 Pengaran g1 No Buku2 Judul Buku2 Pengaran g2 No Buku3 Judul Buku A001 Rahayu Kemuning 3 Penga rang3 Jml Pjm Tgl Pinjam 117 B001 Msword Ahmad A002 Iwan Kamboja 29 B001 Msword Ahmad B002 Foxpro Pramono B005 Acces Anton 1 26/1/2000 3 1/2/2000 A003 Tuti Nangka 20 B002 Foxpro Pramono 1 7/2/2000

  A004 Riyanto Kenanga 21 B001 Msword Ahmad B005 Acces Anton 2 11/2/2000 A005 Kiki Merdeka 10 B002 Foxpro Pramono B006 Ws Pramono 2 11/2/2000

  • Setiap data dibentuk dalam flat file( file datar / rata )
  • Data dibentuk dalam satu record demi record dan nilai field adalah atomic value
  • Tidak ada set atribut yang berulang2 / bernilai ganda ) Perpustakaan
  • Bentuk Normal Kesatu ( 1 NF / First Normal Form )

  No Nama Alamat No Buku Judul Buku Pengarang Jml Pinjam Tgl Pinjam A001 Rahayu Kemuning 117 B001 Msword Ahmad 1 26/1/2000 A002 Iwan Kamboja 29 B001 Msword Ahmad 3 1/2/2000 A002 Iwan Kamboja 29 B002 Foxpro Pramono 3 1/2/2000 A002 Iwan Kamboja 29 B005 Acces Anton 3 1/2/2000 A003 Tuti Nangka 20 B002 Foxpro Pramono 1 7/2/2000 A004 Riyanto Kenanga 21 B001 Msword Ahmad 2 11/2/2000 A004 Riyanto Kenanga 21 B005 Acces Anton A005 Kiki Merdeka 10 B002 Foxpro Pramono 2 11/2/2000 2 11/2/2000 A005 Kiki Merdeka 10 B006 WS Pramono 2 11/2/2000

  Data Duplikat belum ada field kunci yang unik Perpustakaan No anggota Nama

  • Bentuk Kedua ( 2 NF / Second Normal Form )
  • Telah Menenuhi Criteria Bentuk Normal 1 NF
  • Atribut Bukan Kunci Haruslah Bergantung Secara Fungsi Pada Primary Key

    • Primary Key Harus Sudah Ditentukan Dan Bersifat Unik, Serta Dapat Mewakili Atribut

    Lain Yang Menjadi Anggotanya Anggota A001 Rahayu Kemuning 117 Noanggota Nama Alamat
  • A005 Kiki Merdeka 10 A004 Riyanto Kenanga 21 A003 Tuti Nangka 20 A002 Iwan Kamboja 29

      Pinjam No anggota Nobuku Jumlahpinjam tglpinjam A001 B001 A002 B001 3 1/2/2000 1 26/1/2000 B001 Msword Ahmad Nobuku Judulbuku Pengarang Buku A004 B001 A003 B002 A002 B002 A002 B002 2 11/2/2000 1 7/2/2000 B006 Ws pramono 3 1/2/2000 3 1/2/2000 B002 Foxpro Pramono B005 Acces Anton

      Bentuk Normal Kedua ( 3 NF / Third Normal Form )

    • Telah Memenuhi kriteria Bentuk 2 NF
    • • Semau Atribut Bukan Primer Tidak Mempunyai Hubungan / Ketergantungan Transitif

      • Atribut bukan kunci harus bergantung hanya pada primary key A001 Rahayu Kemuning 117 Noanggota Nama Alamat

      Anggota A005 Kiki Merdeka 10 A004 Riyanto Kenanga 21 A003 Tuti Nangka 20 A002 Iwan Kamboja 29 Pinjam A001 B001 Noanggota Nobuku A002 B001 B001 Msword Ahmad Nobuku Judulbuku Pengarang Buku A004 B001 A003 B002 B006 Ws Pramono A002 B005 B005 Acces Anton A002 B002 B002 Foxpro Pramono A005 B006 A005 B002 A004 B005