Contoh Normalisasi Database | Pada pembahasan sebelumnya kita sudah mengetahui teori dan tujuan dari normalisasi database. Namun, ane belum menyertakan contohnya. Menurut ane lebih efektif jika contohnya dibuat pada section terpisah atau postingan baru. OK gan kembali kedalam topik pembahasan, dibawah ini terdapat contoh table karyawan masih dalam bentuk unnormal.

contoh normalisasi database

Dari contoh table karwayan diatas terdapat group yang berulang dan belum ada kolom yang menjadi primary key.

Contoh Normalisasi Pertama

Dari contoh table diatas agar memenuhi persyaratan normalisasi pertama maka kita harus menambahkan beberapa data pada group yang berulang.

contoh normalisasi database pertama

Persyaratan pertama dari normalisasi pertama sudah ok, karena sudah tidak ada group yang berulang. Sekarang kita harus menetapkan primary key pada table, ini merupakan persayaratan kedua dari normalisasi pertama. Menurut agan kolom manakah yang cocok untuk dijadikan primary key? Ya betul, kolom NIK. Alasannya kolom lain lebih banyak bergantung pada kolom ini.

Nah, semua persyaratan dari normalisasi pertama sudah terpenuhi. Apakah dengan struktur database diatas sudah baik? Tentu saja belum, karena masih terdapat redudansi data dan tidak menutup kemungkinan terjadinya anomali. Oleh karena itulah kita harus melakukan normalisasi kedua.

Contoh Normalisasi Kedua

Persyaratan pertama dari normalisasi kedua adalah memenuhi persyaratan dari normalisasi pertama. Untuk persyaratan ini kita sudah memenuhinya. Kemudian, kita lanjut dengan persyaratan kedua dari normalisasi kedua, yaitu tidak boleh ada ketergantungan parsial. Oleh karena itu mari kita simak dari table karyawan pada normalisasi pertama. Pada table tersebut terdapat 2 primary key yaitu NIK dan Kode_Perusahaan. Sehingga memiliki 2 buah ketergantungan. Solusinya adalah memecahnya menjadi beberapa table.

Table Karyawan

NIK Nama_Karyawan Alamat
NIK001 Haniif Fii Sabiilillah Jl. Nangka No. 10
NIK002 Yulia Safitrah Jl. Mawar No. 21
NIK003 Mufiidah Istiqomah Jl. Raya Kembangan No. 32
NIK004 Askur Mujahidin Jl. Mangga No. 60
NIK005 Silmi Qoyimah Jl. Tugu No. 70

Table Perusahaan

Kode_Perusahaan Nama_Perusahaan Kategori_Perusahaan Deskripsi_Kategori
KP001 PT. Maju Terus 1 Perusahaan Jasa
KP002 PT. Angin Ribut 1 Perusahaan Jasa
KP003 PT. Pantang Mundur 2 Perusahaan Perdagangan
KP004 PT. Semangat Selalu 2 Perusahaan Perdagangan

Dari table diatas sudah tidak ada lagi ketergantungan parsial didalam table. Kalau persyaratan kedua dari normalisasi kedua sudah terpenuhi kita lanjut ke normalisasi ketiga.

Contoh Normalisasi Ketiga

Persyaratan pertama dari normalisasi ketiga adalah memenuhi persyaratan normalisasi kedua. Persyaratan ini sudah terpenuhi, berarti kita lanjut ke persyaratan berikutnya. Persyaratan kedua dari normalisasi ketiga adalah tidak boleh terdapat ketergantungan transitif. Oleh karena itu mari kita simak table karyawan pada normalisasi kedua. Pada table perusahaan terdapat ketergantungan transitif tepatnya pada kolom Deskripsi_Perusahaan yang bergantung pada kolom Kategori_Perusahaan. Solusinya adalah kita harus memecah table perusahaan menjadi beberapa table.

Table Karyawan

NIK Nama_Karyawan Alamat
NIK001 Haniif Fii Sabiilillah Jl. Nangka No. 10
NIK002 Yulia Safitrah Jl. Mawar No. 21
NIK003 Mufiidah Istiqomah Jl. Raya Kembangan No. 32
NIK004 Askur Mujahidin Jl. Mangga No. 60
NIK005 Silmi Qoyimah Jl. Tugu No. 70

Table Perusahaan

Kode_Perusahaan Nama_Perusahaan
KP001 PT. Maju Terus
KP002 PT. Angin Ribut
KP003 PT. Pantang Mundur
KP004 PT. Semangat Selalu

Table Kategori Perusahaan

Kategori_Perusahaan Deskripsi_Kategori
1 Perusahaan Jasa
2 Perusahaan Perdagangan

 

Semoga contoh normalisasi database ini dapat bermanfaat, kalau agan masih bingung atau ingin memberi masukan dapat didiskusikan melalui form komentar dibawah ini. Terimakasih.

Salam,

Haniif Fii Sabiilillah