Label

Jumat, 30 Januari 2015

Normalisasi database 1NF,2NF,3NF.



A. Normalisasi            
            Normalisasi database 1NF,2NF,3NF.
            Normalisasi database adalah suatu proses mendesain struktur database sehingga sebagian besar ambiguity bisa dihilangkan ,sehingga bisa menghasilkan sebuah table yang normal.atau normalisasi ialah suatu teknik yang menstrukturkan/memecah/mendekomposisi data dalam cara-cara tertentu utuk mencegah timbulnya permasalahan pengolahan data dalam basis data.

            Permaslahan yang dimaksud ialah penyimpangnan (anomalies) yang terjadi akibat adanya kerangkapan data dalam relasi dan inefisiensi pengolahan.

·         Tujuan dari normalisasi :

ü  Untuk menghilangkan kerangkapan data / redudansi.
ü  Untuk mengurangi kompleksitas
ü  Optimalisasi struktur – struktur table
ü  Meningkatkan kecepatan
ü  Menghilangkan pemasukan data yang sama
ü  Lebih efisien dalam penggunan media penyimpanan
ü  Untuk mempermudah pemodifikasian data
ü  Untuk menghilangkan anomaly data(insertion anomalies, deletion anomalies, update anomalies).
ü  Intergritas data yang ditingkatkan.

Tahap 1 : 1NF (Bentuk normal pertama )
            Sebuah table tidak memiliki atribut bernilai banyak (multivalue atribute) atau lebih dari satu atribut dengan domain nilai yang sama.
Ciri-cirinya adalah dengan mencantumkan semua field data yang ada. Membentuk Normal Kesatu (1NF) dengan flat table memisahkan data pada field-field yang tepat bernilai atomic, dan melengkapi atribut / field yang ada. 

Tahap 2 : 2NF (Bentuk normal kedua )
            Sebuah table yang sudah memenehui kriteria 1NF dan semua atribut non kunci FD terhadap PK.



Setelah itu kita harus mengelompokan field non kunci dengan primary key berdasarkan ketergantungan fungsional sehingga sbb :


Tahap 3 : 3NF (Bentuk normal ketiga )
membuat data menjadi bentuk normal kedua (2NF), dengan menentukan primary key. Dari table registerasi siswa – siswa SMK taruna bakti kertosono, primary keynya sbb:
            *. NIS
            *.kd_kelas
            *. kd_mapel
            *. kd_semester
            *.kd_guru
            *.nilai