Normalisasi Database Relasi
NORMALISASI DATABASE RELASI
1. Normalisasi
Proses normalisasi merupakan metode yang formal/standar dalam mengidentifikasi dasar relasi bagi primary keynya (atau candidate key dalam kasus BCNF), dan dependensi fungsional diantara atribut-atribut dari relasi tersebut. Normalisasi akan membantu perancang basis data dengan menyediakan suatu uji coba yang berurut yang dapat diimplementasikan pada hubungnan individualshingga skema relasi dapat di normalisasi ke dalam bentuk yang lebih spesifik untuk menghindari terjadinya error atau inkonsistansi data, bila dilakuan update tehadap relasi tersebut dengan Abnomaly.
BEBERAPA DEFINISI NORMALISASI
- Normalisasi adalah suatu proses memperbaiki / 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 2 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 atrubut lainnya.
- Normalisasi bisa disebut jga 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 used 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.
Contoh
Terdapat sebuah relasi Mahasiswa, dengan ketentuan sebagai berikut.
· Setiap Mahasiswa hanya boleh mengambil satu mata kuliah saja.
· Setiap matakuliah mempunyai uang kuliah yang standar (tidak tergantung pada
mahasiswa yang mengambil matakuliah tersebut).
Tabel 9.1 Relasi Kuliah
NIM |
KODE MATA KULIAH |
BIAYA (Rp) |
521308001 |
Z-0321765 |
125000 |
521308002 |
L-0753098 |
350250 |
521308003 |
C-0534890 |
689000 |
521308004 |
R-0768931 |
126000 |
521308005 |
N-0956736 |
237900 |
Relasi Kuliah di atas merupakan sebuah relasi yang sederhana dan terdiri dari 3 kolom / atribut. Bila diteliti secara seksama, maka akan ditemukan redundancy pada datanya, dimana biaya kuliah selalu berulang pada setiap mahasiswa. Akibatnya besar kemungkinan terjadi error atau inkonsistensi data, bila dilakukan update terhadap relasi tersebut dengan Anomaly.
Anomaly merupakan penyimpangan-penyimpangan atau error atau inkonsistensi data
yang terjadi pada saat dilakukan proses delete, insert ataupun modify dalam suatu basis
data.
2. Teknik Normalisasi
Teknik normalisasi adalah proses pengelompokan data elemen menjadi tabel-tabel yang menunjukan entity dan relasi.
proses pembentukan tabel normal penuh ( normalisasi ) bertujuan untuk :
- membuat sekecil mungkin terjadinya data rangkap
- menghindari data yang tidak konstan terutama bila dilakukan penambahan dan penghapusan data sebagai akibat adanya data rangkap
- menjamin bahwa identitas tabel secara tunggal sebagai determinan semua attribute
proses normalisasi juga digunakan pada beberapa operasi yang berhubungan dengan data record yaitu :
- operasi penambahan ( insert )
- operasi penghapusan ( delete )
- operasi pengubahan ( update )
- operasi pembacaan data
apabila terjadi kesulitan saat proses data maka tabel-tabel dipecahkan menjadi beberapa tabel yang merupakan hasil pengelompokan data berdasarkan entity masing-masing
syarat dalam melakukan normalisasi
1) adanya field ( atribute kunci )
2) berdasarkan kepada ketergantungan fungsi
3. Bentuk-bentuk normalisasi
Proses normalisasi tabel secara umum dibagi dalam 5 tahap sehingga dikenal bentuk-bentuk tabel normal sesuai dengan tahapan normalisasi yang telah dilakukan yaitu bentuk normal pertama, kedua, ketiga, keempat, dan kelima.
3.1. bentuk tidak normal
Adalah kumpulan data yang tidak disimpan tidak mempunyai format tertentu, data disimpan apa adanya sesuai masukan yang diperoleh. Dalam bentuk ini data mungkin saja tidak lengkap tidak konsisten / terduplikasi
3.2. bentuk normal ke-1 ( 1NF = first normalized form )
Bentuk normal ke pertama dicapai apabila setiap nilai atribute adalah tunggal
ciri-cirinya:
- file dibentuk dalam bentuk plat file
- fieldnya berupa atomic value yang artinya data tidak bisa dipecah kebentuk yang lebih kecil
- tidak ada field yang sama
- setiap fieldnya mempunyai satu pengertian
3.3. bentuk normal ke-2 ( 2NF = second normalized form )
Bentuk normal ke-2 dicapai apabila atribute yang dijadikan adentitas benar-benar sebagai determinan dari semua atribute.
syarat-syarat :
- bentuk ke-2 dicapai jika tabel sudah membentuk normal ke-1
- atribut bukan kunci, harus bergantung secara fungsi pada kunci pertama
- menetukan field-field kunci-kunci bisa berupa primary key, kandidat key, dll.
3.4. bentuk normal ke-3 ( 3NF = third normalized form )
adalah bentuk normal ke-2 tanpa terjadi adanya ketergantungan transitif determinan
syarat:
- tabel sudah harus berbentuk normal ke-2
- atribut bukan primer tidak tergantung secara transitif determinan terhadap kunci primernya.
Beberapa ketentuan dan sifat model hirarki
- terdapat suatu kumpulan jenis record yang didalamnya masing-masing terdapat field yang berfungsi sebagai pengenal
- terdapat suatu kumpulan kaitan yang menghubungkan semua jenis record sehingga membentuk diagram struktur data
- kaitan tersebut membentuk suatu pohon yang semua ujungnya mengarah ke daun
- tidak mungkin ada elemen yang lebih dari satu parent
- setiap kaitan bersifat tunggal j
Studi Kasus ERD
ERD (ENTITY RELATIONSHIP DIAGRAM)
Studi Kasus
- Mahasiswa meminjam buku.
- Pada saat mendaftar menjadi anggota perpustakaan Fakultas, dicatatlah nama, nomor mahasiswa dan alamat mahasiswa. Setelah itu mereka baru bisa meminjam buku di perpustakaan. Buku-buku yang dimiliki perpustakaan banyak sekali jumlahnya. Tiap buku memiliki data nomor buku, judul, pengarang, penerbit, tahun terbit. Satu buku bisa ditulis oleh beberapa pengarang.
- Seorang mahasiswa boleh meminjam beberapa buku. Satu buku boleh dipinjam beberapa mahasiswa. Semua mahasiswa sangat perlu buku sehingga tidak ada yang tidak pernah meminjam ke perpustakaan. Ada buku yang sangat laris dipinjam mahasiswa, namun ada pula buku yang tidak pernah dipinjam sama sekali. Satu buku dapat memiliki beberapa copy, namun untuk copy yang sama memiliki satu nomor buku. Setiap peminjaman akan dicatat tanggal peminjamannya. Semua mahasiswa disiplin mengembalikan buku tepat satu minggu setelah peminjaman.
- Mahasiswa kadang-kadang terlambat mengembalikan buku, sehingga dikenakan denda.
- Fakultas memiliki 3 jurusan, dan tiap jurusan memiliki perpustakaan. Mahasiswa boleh meminjam dari perpustakaan manapun di jurusan tersebut. Setiap mahasiswa otomatis menjadi anggota pada ketiga perpustakaan tersebut. Setiap perpustakaan memiliki banyak buku. Buku yang sama hanya ada di satu perpustakaan.