Dalam perancangan sebuah basis data perlu dilakukan secara cermat agar dihasilkan basis data yang kompak dan efisien dalam penggunaan ruang penyimpanan, cepat dalam pengaksesan dan mudah dalam manipulasi data. Salah satu cara yang dapat dilakukan dalam merancang basis data seperti ini adalah dengan melakukan normalisasi.
- Beberapa definisi normalisasi data :
- Normalisasi adalah suatu proses memperbaiki atau membangun dengan model data relasional, dan secara umum lebih tepat dikoneksikan dengan model data logika.
- Normalisasi adalah proses pengelompokan data ke dalam bentuk tabel atau relasi atau file untuk menyatakan entitas dan hubungan mereka sehingga terwujud satu bentuk database yang mudah untuk dimodifikasi.
- Normalisasi dapat berguna dalam menjawab dua pertanyaan mendasar yaitu : "apa yang dimaksud dengan desain database logical ?" dan "apa yang dimaksud dengan desain database fisikal yang baik ? What is phisical good logical database design ?".
- Normalisasi adalah suatu proses untuk mengidentifikasi "tabel" kelompok atribut yang memiliki ketergantungan yang sangat tinggi antara satu atribut dengan atibut lainnya.
- Normalisasi bisa disebut juga sebagai proses pengelompokan atribut-atribut dari suatu relasi sehingga membentuk WELL STRUCTURED RELATION. WELL STRUCTURED RELATION adalah sebuah relasi yang jumlah kerangkapan datanya sedikit (minimum amount of redundancy), serta memberikan kemungkinan bagi user untuk melakukan INSERT, DELETE, MODIFY, terhadap baris-baris data pada relasi tersebut, yang tidak berakibat terjadinya ERROR atau INKONSISTENSI DATA, yang disebabkan oleh operasi-operasi tersebut.
Normalisasi adalah proses penyusunan tabel-tabel yang tidak redundan (dobel), yang dapat menyebabkan anomali pada saat terjadi operasi manipulasi data seperti tambah, ubah, dan hapus. Anomali yaitu proses basis data yang memberikan efek samping yang tidak diharapkan (misalnya menyebabkan ketidakkonsistenan data atau membuat sesuatu data menjadi hilang ketika data lain dihapus.
- Tujuan dari normalisasi data :
- Untuk menghilangkan kerangkapan data.
- Untuk mengurangi kompleksitas.
- Untuk mempermudah pemodifikasian data.
Jadi tujuan dari normalisasi data adalah agar data yang ada tidak redundan dan memuliki data integrity yang kuat sehingga ketika kita melakukan relasi antara tabel akan dengan mudah kita enjaga data integrity dan mendapatkan datanya.
- Proses normalisasi data :
- Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.
- Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yag lebih sederhana sampai memenuhi bentuk yang optimal.
- Permasalahan dalam normalisasi data :
- Redundansi data (ruang penyimpanan). Redundansi data yaitu kejadian berulangnya data atau kumpulan data yang sama dalam sebuah database yang mengakibatkan pemborosan media penyimpanan.
- Anomalies (penyimpanan dalam proses modifikasi data). Insert Anomalies merupakan error atau kesalahan yang terjadi sebagai akibat dari operasi menyisipkan (insert) tuple atau record pada sebuah relasi. Update Anomalies merupakan error atau kesalahan yang terjadi sebagai akibat operasi perubahan (update) tuple atau record pada sebuah relasi. Delete Anomalies merupakan error atau kesalahan yang terjadi sebagai akibat operasi penghapusan (delete) terhadap tuple atau record pada sebuah relasi.
- Tahapan normalisasi data :
Bentuk Tidak Normal
Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti format tertentu, dapat saja data tidak lengkap atau terduplikasi. data dikumpulkan apa adanya sesuai dengan saat menginput.
Bentuk Normal Pertama (1 NF)
Pada tahap ini dilakukan penghilangan beberapa grup elemen yang berulang agar menjadi satu harga tunggal yang berinterasi di antara setiap baris pada suatu tabel, dan setiap atribut harus mempunyai nilai data yang atomic (bersifat atomic value). Atom adalah zat terkecil yang masih memiliki sifat induknya, bila terpecah lagi maka ia akan memiliki sifat induknya.
- Syarat Normal kesatu (1-NF) antara lain :
- Setiap data dibentuk dalam flat file, data dibentuk dalam satu record demi satu record nilai dari field berupa "atomic value".
- Tidak ada set atribute yang berulang atau bernilai ganda.
- Telah ditentukannya primary key untuk tabel atau relasi tersebut.
- Tiap atribut hanya memiliki satu pengertian.
Bentuk Normal Kedua (2 NF)
Bentuk normal kedua didasari atas konsep full function dependency (ketergantungan fungsional sepenuhnya) yang dapat didefinisikan sebagai berikut :
Jika A adalah atribut-atribut dari suatu relasi , B dikatakan full functional dependency (memiliki ketergantungan fungsional terhadap A, tetapi tidak secara tepat memiliki ketergantungan fungsional dari subset (himpunan bagian) dari A.
- FULL FUNCTION DEPENDENCY (Ketergantungan Fungsional Sepenuhnya)
Suatu ketergantungan fungsional A --> B adalah ketergantungan fungsional sepenuhnya, jika perpindahan beberapa atribut dari A menghasilkan tepat satu pasangan pada atribut B. Suatu ketergantungan fungsional A --> B adalah ketergantungan fungsional sebagian, jika ada beberapa atribut yang dapat ihilangkan dari A sementara ketergantungan tersebut tetap berlaku atau berfungsi.
Bentuk normal kedua memungkinkan suatau relasi memiliki composite key, yaitu relasi dengan primary key yang terdiri dari dua atau lebih atribut. Suatu relasi yang memiliki single atribut untuk priary keynya secara otomatis pada akhirnya menadi 2-NF.
- Syarat normal kedua (2-NF) sebagai berikut :
- Bentuk data telah memenuhi kriteria bentuk normal kesatu.
- Atribut bukan kunci (non-key) haruslah memiliki ketergantungan fungsional sepenuhnya (fully functional dependency) pada kunci utama atau primary key.
Dengan demikian untuk membentuk normal kedua harislah sudah ditentukan primary keynya. Primary key tersebut haruslah lebih sederhana, lebih unik, dan mewakili atribut lain yang menjadi anggotanya, dan lebih sering digunakan pada tabel atau relasi tersebut.
Bentuk Normal Ketiga (3 NF)
Walaupun relasi 2 NF memiliki redundansi yang lebih sedikit dari pada relasi 1 NF, namun relasi tresebut masih mungkin mengalami kendala bila terjadi anomaly peremajaan (update) terhadap relasi tersebut.
- Transitive Dependency (Ketergantungan Transitif)
Suatu kondisi dimana A, B, dan C adalah atribut-atribut dari suatu relasi sedemikian sehingga A --> B dan B --> C, maka A --> C (C memiliki ketergantungan transitif terhadap a melalui B), dan harus dipastikan bahwa A tidak memiliki ketergantungan fungsional (functional dependency) terhadap B atau C.
- Syarat normal ketiga (Third Normal Form / 3 NF) sebagai berikut :
- Bentuk data telah memenuhi kriteria bentuk normal kedua.
- Atribut bukan kunci (non-key) harus tidak memiliki ketergantungan transitif, dengan kata lin suatu atribut bukan kunci (function dependency) terhadap atribut bukan kunci lainnya, seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja.
Bentuk Normal Keempat (4 NF)
Bentuk normal 4 NF 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.
Bentuk Normal Kelima (5 NF)
Bentuk normal 5 NF terpenuhi jika dapat memiliki sebuah lossless decomposition menjadi tabel-tabel yang lebih kecil.
Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functiobal dependencies, 5 NF dibentuk berdasarkan konsep join dependence. Yakni apabila sebuah tabel telah didekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi (join) untuk membentuk tabel semula.
- Penerapan normalisasi data :
Bentuk Normal Pertama (1 NF)
Suatu relasi memenuhi 1 NF jika dan hanya jika setiap atribut dari relasi tersebut hanya memiliki nilai tunggal dalam satu baris atau record.
Bentuk Normal Kedua (2 NF)
Suatu relasi memenuhi 2 NF jika :
- Memenuhi 1 NF.
- Setiap atribut yang bukan kunci utama tergantung secara fungsional terhadap semua atribut kunci dan bukan hanya sebagian atribut.
Ketergantungan fungsional dilakukan untuk :
- NIM --> Nama, Alamat
- KodeKuliah --> Matakuliah, SKS
- NIM, KodeKuliah --> Nilai
Bentuk Normal Ketiga (3 NF)
Suatu relasi memenuhi bentuk 3 NF jika :
- Relasi tersebut memenuhi 2 NF.
- Setiap relasi bukan kunci tidak tergantung secara fungsional kepada atribut bukan kunci yang lain dalam relasi tersebut.












0 komentar:
Posting Komentar