Normalisasi database

Pengertian Normalisasi

Suatu teknik yang menstrukturkan atau mendekomposisi atau memecah data menggunakan cara tertentu untuk mencegah timbulnya anomali/penyimpangan yang terjadi akibat adanya kerangkapan data dalam relasi dan pengolahan.

Fungsi Normalisasi Basis Data

Normalisasi digunakan untuk menghindari terjadinya berbagai penyimpangan data dan tidak konsistennya data.

Tujuan Normalisasi Basis Data

Untuk menghilangkan dan mengurangi redudansi data dan memastikan data berada pada tabel yang tepat.

Proses Normalisasi

Bentuk Tidak Normal

  • Merupakan Kumpulan data yang akan direkam
  • Data dapat tidak lengkap atau terduplikasi
  • Tidak ada keharusan mengikuti format tertentu
  • data dikumpulkan apa adanya sesuai dengan kedatangannya.

Berikut contoh Tabel Unnormal data dari Nota pembelian Blumkopi:

*mohon dizoom:v
Tabel 1 NF

Suatu Tabel dikatakan 1 NF apabila dan hanya jika setiap setiap atribut hanya memiliki satu nilai tunggal.

Contoh Tabel 1NF

Tanggal PembelianNo.NotaId_pembeliNama PembeliId kasirNama KasirNama ItemId ItemQtyHarga SatuanTotal HargaTotal BayarKembalianTanggal Bayar
22 Januari 2020,17:53IT0122A000Eq-004Rangga  z-001Awan  Es Kopi Susu  p-003110.00010.000  100.000  90.000  22 Januari 2020,18:20  
22 Januari 2020,17:53IT02344B00R  q-007Junedz-006LelyEs Coklat Kelapa  q-005218.00036.00050,00014,00022 Januari 2020,18:30
23 Januari 2020,19:00  IF3557C999K  q-009Kaylaw-004MetaHot Thai Tea  w-007115.00015.000  20.0005.00023 Januari 2020,19:32  
23 Januari 2020,19:00    IF4887S556Z  t-408Litar-903UmayHot Cappucino hazelnut  s-803315.00045.000  100.000  55.000  23 Januari 2020,19:45  
24 Januari 2020,15:00JK356UI9Kt-506Rahmap-705RickyHot Cappucino               z-550212.00024.00050.00026.00024 Januari 2020,16:00
Tabel 2NF

normal kedua mempunyai syarat yaitu:

  1. Bentuk data telah memenuhi kriteria bentuk normal kesatu.
  2. Atribute bukan kunci haruslah bergantung secara fungsi pada kunci utama atau primary key.
  3. Sudah ditentukan kunci kunci field, dimana kunci field haruslah unik dan dapat mewakili atribute lain yang menjadi anggotanya.

Contoh Tabel 2NF

Tabel Nota

Id.NotaTanggal PembelianId_pembeliId ItemId KasirQtyHarga SatuanTanggal bayar
IT0122A000E22 Januari 2020,17:53q-004p-003z-001110.00022 januari 2020,18:20
IT02344B00R  22 Januari 2020,17:53q-007q-005z-006218.00022 januari 2020,18:30
IF3557C999K  23 Januari 2020,19:00  q-009w-007w-004115.00023 januari 2020,19:32
IF4887S556Z  23 Januari 2020,19:00  t-408s-803r-903315.00023 januari 2020,19:45
JK356UI9K24 Januari 2020,15:00t-506z-550p-705212.00024 januari 2020,16:00

Tabel Kasir

Id kasirNama kasir
z-001Awan
z-006Lely
w-004Meta
r-903Umay
p-705Ricky

Tabel Pembeli

Id pembeliNama pembeli
q-004Rangga
q-007Juned
q-009Kayla
t-408Lita
t-506Rahma

Tabel Item

Nama ItemHarga SatuanId Item
Es Kopi Susu  10.000p-003
Es Coklat Kelapa  18.000q-005
Hot Thai Tea  15.000w-007
Hot Cappucino hazelnut  15.000s-803
Hot Cappucino12.000z-550

Tabel Transaksi

Id PembeliTanggal PembelianId KasirId ItemQtyHarga SatuanTotal HargaTotal BayarKembalianTanggal Bayar
q-00422 Januari 2020,17:53z-001p-003110.00010.000100.00090.00022 Januari 2020,18:20  
q-00722 Januari 2020,17:53z-006q-005218.00036.00050.00014.00022 Januari 2020,18:30
q-00923 Januari 2020,19:00  W-004w-007115.00015.00020.0005.00023 Januari 2020,19:32  
t-40823 Januari 2020,19:00  r-903s-803315.00045.000100.00055.00023 Januari 2020,19:45  
t-50624 Januari 2020,15:00p-705z-550212.00024.00050.00026.00024 Januari 2020,16:00
Tabel 3NF

pada tabel 3NF tidak diperkenankan adanya partial“transitive dependency”
“transitive dependency” merupakan functional dependency yang berdasarkan sifat transifitas.

pada 3NF ini,jika terdapat suatu atribut yang tidak bergantung pada primary key tapi bergantung pada field yang lain maka atribut-atribut tersebut perlu dipisah ke tabel baru.

disini saya contohnya ada pada atribut”kembalian” field tersebut bergantung pada yang bukan primary key field”Id Item,Qty,Harga Satuan,Total Harga dan total bayar”.Jadi setelah diNormalisasikan 3NF nya menjadi:

Tabel Transaksi

IdNotaId PembeliTanggal PembelianId KasirId ItemQtyHarga SatuanTotal HargaTotal BayarKembalianTanggal Bayar
IT0122A000Eq-00422 Januari 2020,17:53z-001p-003110.00010.000100.00090.00022 Januari 2020,18:20  
IT02344B00R  q-00722 Januari 2020,17:53z-006q-005218.00036.00050.00014.00022 Januari 2020,18:30
IF3557C999K  q-00923 Januari 2020,19:00  W-004w-007115.00015.00020.0005.00023 Januari 2020,19:32  
IF4887S556Zt-40823 Januari 2020,19:00  r-903s-803315.00045.000100.00055.00023 Januari 2020,19:45  
JK356UI9Kt-50624 Januari 2020,15:00p-705z-550212.00024.00050.00026.00024 Januari 2020,16:00
Id ItemQtyHarga SatuanTotal HargaTotal BayarKembalian
p-003110.00010.000100.00090.000
q-005218.00036.00050.00014.000
w-007115.00015.00020.0005.000
s-803315.00045.000100.00055.000
z-550212.00024.00050.00026.000

Sekian dari saya,Terimakasih:v

Diterbitkan oleh Nurisacomel

I'm not fat, but i just like eat! and in this blog i will talk about my food!

Tinggalkan komentar

Rancang situs seperti ini dengan WordPress.com
Mulai