Online

Statistik User

  • Pengunjung hari ini :0
  • Pengunjung Online :0
  • Total pengunjung :160

Social Networking

  •     

Sule-Soft on Android

  • sule-soft

Dasar Pemrograman PHP dan MySQL untuk Aplikasi Website CMS (Bagian 3)

Setelah kita mempelajari tentang database pada artikel Dasar Pemrograman PHP dan MySQL untuk Aplikasi Website CMS Bagian ke 2, pada pembahasan kali ini penulis akan membagi pengetahuan lebih dalam tentang Database MySQL.

Kita mulai dari pertanyaan “Bagaimanakah cara membuat Database yang baik?” Cara membuat database yang baik adalah dengan tidak mengindahkan proses Normalisasi Database. Apa itu Normalisasi Database? Normalisasi Database adalah proses perancangan database yang bertujuan untuk mengoptimalkan penggunaan ruang oleh setiap table didalamnya dan sekaligus mempercepat proses permintaan data. Fungsi proses normalisasi sendiri adalah untuk meminimalisir adanya data yang sama dan menghindari terjadinya Anomali. Anomali adalah proses basis data yang memberikan efek samping yang tidak diharapkan (misalnya menyebabkan ketidak konsistenan data atau membuat data menjadi hilang ketika data lain dihapus).

Apa saja proses Normalisasi itu?

  1. Temukan entitas-entitas utama dalam model data
  2. Temukan hubungan antara setiap entitas
  3. Tentukan atribut yang dimiliki masing-masing entitas

Ok, setelah kita tahu sekilas tentang Normalisasi Database, mari kita terapkan langkah-langkah normalisasi.

1. Bentuk Normal Pertama (1NF)

Sebuah model data dapat dikatakan memenuhi bentuk normal pertama apabila setiap atribut yang dimilikinya memiliki satu dan hanya satu nilai. Apabila ada atribut yang memiliki nilai lebih dari satu, atribut tersebut adalah kandidat untuk menjadi entitas tersendiri. Entitas utama untuk database pengarang adalah Pengarang.

Gambar 1 : Entitas pertama dalam contoh model data untuk database pengarang 

Langkah selanjutnya adalah menghubungkan Pengarang dengan Judul Buku. Satu pengarang dapat menghasilkan beberapa buku yang berbeda. Dalam terminologi permodelan data, ini berarti antara entitas Pengarang dan entitas Buku terdapat relasi 1 : N (atau 1-N) untuk nilai N lebih dari satu.

Gambar 2 : Hubungan antara Pengarang dan entitas baru, Buku. 

Atribut Judul Buku mencantumkan judul-judul apa saja yang dibuat oleh pengarang. Satu Pengarang dapat menciptakan beberapa buku (One to Many).

Sejauh ini tidak ada atribut entitas yang memiliki nilai lebih dari satu, sehingga rasanya cukup aman mengatakan bahwa model ini memenuhi bentuk normal pertama. 

2. Bentuk Normal Kedua (2NF)

Sebuah modul data dapat dikatakan memenuhi bentuk normal kedua apabila ia memenuhi bentuk normal pertama dan setiap atribut non-identifier sebuah entitas bergantung sepenuhnya hanya pada semua identifier entitas tersebut.

Perhatikan kembali Gambar 2 di atas, terlihat bahwa atribut dari entitas Buku tidak sepenuhnya bergantung pada identitas unik Buku tersebut.

Kategori Buku akan tetap ada meskipun Pengarang tidak mengarang Kategori Buku itu lagi. Maka Kategori Buku adalah Entitas tersendiri.

Gambar 3 : Ketiga entitas utama dalam model data dan hubungan antar masing-masing entitas. 

Setelah atribut-atribut dari semua entitas dalam sebuah model data hanya bergantung pada seluruh peng-identifikasi entitas yang memilikinya, model data tersebut dikatakan memenuhi bentuk normal kedua. 

3. Bentuk Normal Ketiga (3NF)

Sebuah model data dapat dikatakan memenuhi bentuk normal ketiga apabila ia memenuhi bentuk normal kedua dan tidak ada satupun atribut non-identifying (bukan peng-identifikasi unik) yang bergantung pada atribut non-identifying yang lain. Apabila ada, pisahkan salah satu atribut tersebut menjadi entitas baru, dan atribut yang bergantung padanya menjadi atribut entitas baru tersebut.

Dalam model data sederhana yang kita gunakan disini, tidak ada satupun atribut non-identifying (seperti Pengarang, Buku, dan Kategori) yang bergantung pada atribut non-identifying lain.

Model terakhir yang kita dapat ini telah memenuhi bentuk normal ketiga (third normal form) dan siap dikonversikan menjadi tabel.

Berita Terkait

Belum Ada Komentar

Isi Komentar