Langsung aja, yaitu mengenai Normalisasi. Apa lagi nih?
Normalisasi tuh sebuah proses untuk mengubah suatu tabel yang memiliki masalah tertentu ke dalam dua buah tabel atau lebih yang tidak memiliki masalah tersebut.
Bingung? Di sini dilarang bingung, jadi akan ku perjelas. Tapi sepertinya dari penjelasan tersebut sudah benar-benar jelas deh. Atau mungkin yang gak jelas adalah letak permasalahannya.
Kalo sebuah databse ada tabel yang amat panjang wal dawa, maka sebenarnya ini gak baik untuk kesehatan. Kenapa ? Lihat contoh aja deh.
Dari dalam data di atas,,,, Wait! kalo kalian belum pada tau apa yang di atas,, itu adalah semacam adonan kue bolu yang ditaburi sama keju dan kismis,, tapi kalimat yang lebih keren adalah Nota Pembayaran toko Serba ada.
Anggap kita adalah pemilki toko Serba tersebut. Jika kita ingin buat kan tabelnya,, maka yang perlu diperhatikan adalah langkah-langkah yang kita lakukan agar tabel yang kita buat bisa matang dengan merata dan sempurna. Sehingga, integritas data akan terjaga, serta mengindari data yang ambigu.. Karena sudah terlalu banyak kalimat di dunia ini yang bermakna ambigu dan itu selalu membuat kita bingung.
Dengan langkah normalisasi maka kita akan membuat tabel di atas menjadi tabel yang baik. Lankgah-langkahnya :
1. Unormalization Form
2. First Normal Form (1NF)
3. Second Normal Form (2NF)
4. Third Normal Form (3NF)
5. Boyce Codd Normal Form (BCNF)
6. Fourth Normal Form (4NF)
7. Fifth Normal Form (5NF)
Biar mudah, kita langsung coba aja,, kita ambil contoh dari gambar yang ada di atas kita Normalisasikan.
Unormalization Form
Kita masukkan data-data darinota ke dalam tabel. Pake aja MS. Excel.
Nah ini masih dalam bentuk yang tidak normal. Dalam kolom Nomor, Pelanggan, dan Total masih dalam keadaan kosong. Maka kita lanjutkan ke langkah berikutnya.
1NF
Dalam langkah ini kita isi data-data yang masih dalam keadaan kosong.
Sudah dapat disaksikan bersama, tabel ini terdapat pengulangan data dari beberapa kolom. Hal ini bisa menimbulkan data yang ambigu karena memilki data yang sama. Kita bagi tabel ini menjadi beberapa tabel, di lankah berikutnya.
2NF
Kita bagi menjadi tiga tabel,, yaitu tabel Transaksi, Barang dan Pelanggan.
Tapi masih belum begitu sempurna,, kita pecah lagi menjadi beberapa tabel. Ke tahap berikutnya,,
3NF
Tiga tabel yang ada di 2NF kita bagi menjadi beberapa tabel, karena dalam tahap 2 NF masih terdapat data yang berulang. Kita tambah dengan tabel Kasir dan Nota. Kolom tgl Transaksi pada tabel Transaksi dihapus aja,, kita pindahkan di tabel Nota. Total ada 5 tabel.
Berikutnya gambar relasi,,,
Nah,, sepertinya sampai di langkah ini, tabel sudah tersusun dengan baik. Tapi, untuk tabel Transaksi sebenarnya bisa kita katakan sebagai tabel khusus untuk menghubungkan dari keempat tabel yang ada.
Mengenai 3NF,,, ada beberapa literatur yang mangatakan bahwa pada tahap 3NF ini sama dengan tahap BCNF. Ada juga yang mengatakan berbeda.
Berhubung pada 3NF ini sudah baik, maka langkah-langkah selanjutnya tidak perlu. Karena memang pada umumnya, hanya sampai pada tahap 3 NF, gak perlu sampai 5NF. Kecuali kalo emang masih terdapat anomali, yang harus sampai memecah menjadi 2 relasi.
Keunggulan Normalisasi/Kerugian diNormalisasi
Update data
Bayangkan kalo kita mau mengganti sebuah data,, seumpama terjadi kesalahan atau ganti nama produk dari Sandal Lampu menjadi Sandal Cahaya. Ya,, kalau datanya cuma sedikit,, lha kalo yang beri ratusan,..?? (jangan pake nada iklan) Lihat contoh tabel di bawah.
Mau pake Query model apa coba,, masak kita mau ganti satu persatu data Sandal Lampu? Manusia tuh tempatnya salah dan lupa,, kesalahan kemungkinan bisa terjadi kalo kita mengganti satu persatu nama barang, kalo hal itu terjadi, maka pasti akan membingungkan kita semua sebagai pengelola toko. Mungkin kesalahan seperti typo atau apa lah yang bisa menyebabkan kebinungan luar biasa.
Bah, maka dari itu ini lah kelebihan dari cara normalisasi. Kita bisa pisah data barang di tabel tersendiri. Sehingga, kalau mau ganti data,, kita tinggal update di tabel Barang, Masalah Selesai. Oyi ?
Delete
Kalo mau menghapus data yang di tuh,, baris yang ada Angry Bird,, kalo kita mau hapus satu baris seperti tabel yang ini. Maka kan kasihan ama Angry Bird, dia bakalan benar-benar tidak ada pada tabel kalo dihapus.
Kecuali kalo kita pisahkan akayak tadi, maka data Angry Bird gak bakal Gak Ada, alias masih ada di tabel barang, namun kan masih ada datanya yaitu Angru Bird sama dengan 0.
Insert
Kalo kita mau insert data,, itu kan Kode Barang sama nama Barang kan sudah pasti sama, gak mungkin berubah. Bagaimana kalau kita salah ketik pada pengisian data berikutnya.?? Sudah pasti data berubah dan data menimbulkan kebingungan.
Ini lah gunanya Normalisasi, agar kita bisa menghindari kesalahan seperti itu.







Tidak ada komentar:
Posting Komentar