normalisasi basis data
Download
Skip this Video
Download Presentation
Normalisasi Basis Data

Loading in 2 Seconds...

play fullscreen
1 / 37

Normalisasi Basis Data - PowerPoint PPT Presentation


  • 129 Views
  • Uploaded on

Normalisasi Basis Data. Proses Rancangan Database (review). Mengumpulkan kebutuhan user/business Mengembangkan E-R Model berdasarkan kebutuhan user/business Konversikan E-R Model ke himpunan relasi ( tabel ) Normalisasikan relasi untuk menghilangkan anomali

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Normalisasi Basis Data' - blaine


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
proses rancangan database review
Proses Rancangan Database (review)
  • Mengumpulkankebutuhan user/business
  • Mengembangkan E-R Model berdasarkankebutuhan user/business
  • Konversikan E-R Model kehimpunanrelasi (tabel)
  • Normalisasikanrelasiuntukmenghilangkananomali
  • Implementasikanke database denganmembuat table untuksetiaprelasi yang sudahternormalisasi
tujuan normalisasi
TujuanNormalisasi
  • Optimalisasistruktur-strukturtabel
  • Meningkatkankecepatan
  • Menghilangkanpemasukan data yang sama
  • Lebihefisiendalampenggunaan media penyimpanan
  • Mengurangiredundansi
  • Menghindarianomali (insertion anomalies, deletion anomalies, update anomalies).
  • Integritas data yang ditingkatkan
normalisasi
Normalisasi
  • Normalisasi merupakan sebuah teknik dalam logical desain sebuah basis data, teknik pengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi)
  • Tahap Normalisasi dimulai dari tahap paling ringan (1NF) hingga paling ketat (5NF)
  • Biasanya hanya sampai pada tingkat 3NF atau BCNF karena sudah cukup memadai untuk menghasilkan tabel-tabel yang berkualitas baik.
normalisasi1
Normalisasi

Sebuah tabel dikatakan baik (efisien) atau normal jika memenuhi 3 kriteria sbb:

Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus dijamin aman (Lossless-Join Decomposition). Artinya, setelah tabel tersebut diuraikan / didekomposisi menjadi tabel-tabel baru, tabel-tabel baru tersebut bisa menghasilkan tabel semula dengan sama persis.

Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).

Tidak melanggar Boyce-Code Normal Form (BCNF) (-akan dijelaskan kemudian-)

normalisasi2
Normalisasi

Jika kriteria ketiga (BCNF) tidak dapat terpenuhi, maka paling tidak tabel tersebut tidak melanggar Bentuk Normal tahap ketiga (3rd Normal Form / 3NF).

tabel universal
Tabel Universal

Tabel Universal (Universal / Star Table)  sebuah tabel yang merangkum semua kelompok data yang saling berhubungan, bukan merupakan tabel yang baik.

Misalnya:

functional dependency ketergantungan fungsional
Functional Dependency / Ketergantungan Fungsional
  • Notasi: A  B

A dan B adalah atribut dari sebuah tabel. Berarti secara fungsional A menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga sama.

  • Notasi: A  B atau A x B

Adalah kebalikan dari notasi sebelumnya.

functional dependency
Functional Dependency

Contoh tabel nilai

functional dependency1
Functional Dependency

Functional Dependency dari tabel nilai

  • Nrp  namaMhs

Karena untuk setiap nilai nrp yang sama, maka nilai namaMhs juga sama.

  • {Namakul, nrp}  NiHuruf

Karena attribut Nihuruf tergantung pada Namakul dan nrp secara bersama-sama. Dalam arti lain untuk Namakul dan nrp yang sama, maka NiHuruf juga sama, karena Namakul dan nrp merupakan key (bersifat unik).

  • NamaKul  nrp
  • Nrp  NiHuruf
lossless join decomposition
Lossless – Join Decomposition
  • Pada tahap normalisasi sering kali terjadi pemecahan table kedalam bentuk dua atau lebih relasi / dekomposisi.
  • Syarat : Tidak ada informasi yang hilang ketika suatu relasi dipecah menjadi relasi-relasi lain.
lossless join decomposition1
Lossless – Join Decomposition

Dibentuk kedalam dekomposisi tak hilang menjadi :

Contoh :

Pada relasi awal dapat diketahui informasi sebagai berikut : 95001 adalah ANDI program studi Ekonomi. Setelah proses dekomposisi tak hilang hasilnya adalah sama 95001 adalah ANDI dan 95001 program studi Ekonomi.

bukan lossless join decomposition
Bukan Lossless – Join Decomposition

Dibentuk kedalam dekomposisi hilang menjadi :

Contoh :

Pada relasi awal dapat diketahui informasi sebagai berikut : 95001 adalah ANDI program studi Ekonomi. Setelah proses dekomposisi hilang hasilnya adalah 95001 bernama ANDI, tetapi ANDI dengan program studi Ekonomi atau Fisika?

bentuk bentuk normal
Bentuk-bentuk Normal
  • Bentuk Normal Tahap Pertama (1st Normal Form / 1NF)
  • Bentuk Normal Tahap Kedua (2nd Normal Form / 2NF)
  • Bentuk Normal Tahap (3rd Normal Form / 3NF)
  • Boyce-Code Normal Form (BCNF)
  • Bentuk Normal Tahap (4th Normal Form / 4NF)
  • Bentuk Normal Tahap (5th Normal Form / 5NF)
bentuk normal tahap pertama 1st normal form 1nf
Bentuk Normal Tahap Pertama (1st Normal Form / 1NF)
  • Bentuk normal 1NF terpenuhi jika sebuah tabel tidak memiliki atribut bernilai banyak (multivalued attribute), atribut composite atau kombinasinya dalam domain data yang sama.
  • Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi)
contoh 1
Contoh 1 :

Misal data mahasiswa sbb:

Apakah tabel di atas sudah memenuhi syarat 1NF ?

contoh 2 composite
Contoh 2 (composite)

JadwalKuliah

  • Dimana nilai pada atribut jadwal berisi gabungan antara Hari dan Jam.
  • Jika asumsi hari dan jam memegang peranan penting dalam sistem basis data, maka atribut Jadwal perlu dipisah sehingga menjadi JadwalHari dan JadwalJam sbb:

JadwalKuliah

bentuk normal tahap kedua 2nd normal form
Bentuk Normal Tahap Kedua (2nd Normal Form)
  • Bentuk normal 2NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk 1NF, dan semua atribut selain primary key, secara utuh memiliki Functional Dependency pada primary key.
  • Sebuah tabel tidak memenuhi 2NF, jika ada atribut yang ketergantungannya (Functional Dependency) hanya bersifat parsial saja (hanya tergantung pada sebagian dari primary key)
  • Jika terdapat atribut yang tidak memiliki ketergantungan terhadap primary key, maka atribut tersebut harus dipindah atau dihilangkan
contoh 11
Contoh 1 :

Misal data mahasiswa sbb:

Apakah tabel di atas sudah memenuhi syarat 1NF ?

Apakah tabel di atas sudah memenuhi syarat 2 NF ?

slide22
2 NF

Didekomposisi menjadi:

  • Tabel Mahasiswa
  • Tabel Hobi
contoh 2
Contoh 2 :

Tabel berikut memenuhi 1NF tapi tidak termasuk 2NF:

  • Tidak memenuhi 2NF, karena {Npm, mk_kode}sebagai primary key, sedangkan:

{Npm, mk_kode}  mhs_nama

{Npm, mk_kode}  mhs_alamat

{Npm, mk_kode}  mk_nama

{Npm, mk_kode}  mk_sks

{Npm, mk_kode}  nihuruf

  • Tabel di atas perlu didekomposisi menjadi beberapa tabel yang memenuhi syarat 2NF
contoh
Contoh

Functional dependencynya sbb:

Npm  {mhs_nama, mhs_alamat} (fd1)

{Npm, mk_kode} nihuruf (fd2)

Mk_kode  {mk_nama, mk_sks} (fd3)

fd1 (Npm, mhs_nama, mhs_alamat)  Tabel Mahasiswa

fd2 (Npm, mk_kode, nihuruf)  Tabel Nilai

fd3 (Npm, mk_nama, mk_sks)  Tabel MataKuliah

bentuk normal tahap ketiga 3rd normal form 3nf
Bentuk Normal Tahap Ketiga (3rd Normal Form /3NF)
  • Bentuk normal 3NF terpenuhi jika telah memenuhi bentuk 2NF, dan jika tidak ada atribut non primary key yang memiliki ketergantungan terhadap atribut non primary key yang lainnya.
  • Untuk setiap Functional Dependency dengan notasi X  A, maka:
  • X harus menjadi superkey pada tabel tsb.
  • A merupakan bagian dari primary key pada tabel tsb.
contoh1
Contoh

Tabel berikut memenuhi 2NF, tapi tidak memenuhi 3NF:

Mahasiswa

  • karena masih terdapat atribut non primary key (yakni kota dan Provinsi) yang memiliki ketergantungan terhadap atribut non primary key yang lain (yakni kodepos):

kodepos  {Provinsi, kota}

  • Sehingga tabel tersebut perlu didekomposisi menjadi:

Mahasiswa (Npm, nama, alm_jalan, kodepos)

Wilayah (kodepos, provinsi, kota)

boyce code normal form bcnf
Boyce-Code Normal Form (BCNF)
  • Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional dependency terhadap setiap atribut atau gabungan atribut dalam bentuk: X  Y maka X adalah super key
  • Semua kunci utama adalah kunci kandidat yang bersifat unik
bentuk normal tahap keempat 4th normal form 4nf
Bentuk Normal Tahap Keempat (4th Normal Form /4NF)
  • Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued atribute
  • Untuk setiap multivalued dependencies (MVD) juga harus merupakan functional dependencies
contoh2
Contoh

Misal, tabel berikut tidak memenuhi 4NF :

Setiap employee dapat bekerja di lebih dari project dan dapat memiliki lebih dari satu skill. Untuk kasus seperti ini tabel tersebut harus di-dekomposisi menjadi :

(Employee, Project)

(Employee, Skill)

bentuk normal tahap keempat 5th normal form 5nf
Bentuk Normal Tahap Keempat (5th Normal Form /5NF)
  • Bentuk normal 5NF terpenuhi jika tidak dapat memiliki sebuah lossless decomposition menjadi tabel-tabel yg lebih kecil.
  • Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functional dependency, 5NF dibentuk berdasarkan konsep join dependence. Yakni apabila sebuah tabel telah di-dekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi (join) untuk membentuk tabel semula
soal latihan 1
Soal Latihan (1)

Bagaimana bentuk normalisasinya?

pembahasan 1
Pembahasan(1)

Bentuk Normal Pertama / 1NF

pembahasan 11
Pembahasan(1)

Bentuk Normal Kedua / 2NF

Tabel Transaksi

Tabel Order

soal latihan 2
Soal Latihan(2)
  • Apakah sudah memenuhi bentuk normal pertama
  • Bagaimana bentuk normalisasi tabel tersebut?
soal latihan 3
Soal Latihan(3)
  • Apakah sudah memenuhi bentuk normal pertama
  • Bagaimana bentuk normalisasi tabel tersebut?
latihan
Latihan
  • Berikutinicontoh basis data yang belumternormalisasi :

Masalah :

    • Tidakperluberulang-ulang kali menyimpan data alamat, namabarang, danharga.
    • Redundancydapatmenimbulkanmasalah, yaitu data yang tidakkonsisten (pensile)
ad