POst ini saya copy dari postingan saya yang di fox-id.org
Step step normalisasi :
1NF ( First normal Form )
1.Menghilangkan semua pengulangan field
2 Definisikan primary keys.
3 PK nya harus Uniq
4 Setiap field selain PK harus tergantung pada PK
5 Setiap field harus terisi 1 nilai
6 Buat tabel baru untuk memindahkan pengulangan field dari table sebelumnya
Tabel:Supplier.dbf
-------------------------------------------------------------------------
Supid Nama_supplier no_telp1 no_telp2 no_telp3
----------- ---------------------------------------------------------------
1 Joko 088814141 081352525 98885411
2 Wawan 088814142 081352526
3 Ahmad 088814143
-----------------------------------------------------------------------------
Akan ada masalah Update/Insert apabila no_telpon nya lebih dari 3
Ketika di normalkan akan menjadi :
Tabel Supplier.dbf Tabel Supplier_telp.dbf
---------------------- --------------------------------------
Supid Nama_supplier id supid No_telp
---------------------- ---------------------------------------
1 Joko 1 1 088814141
2 Wawan 2 1 081352525
3 Ahmad 3 1 98885411
4 2 088814142
5 2 081352526
2NF ( Second Normal Form )
Definisi: Semua field harus tergantung pada primary key
Detail_invoice.dbf
----------------------------------------------------------
id Invoice_id Goods_id Qty Harga Cust_id
----------------------------------------------------------
1 S.01 1 10 5000 C.01
2 S.01 5 8 25000 C.01
Disini terlihat field cust_id tidak tergantung pada primary key id dan Invoice_id
maka cust_id bisa kita pindah dari tabel detail_invoice.dbf ke file invoice.dbf
3rd NF ( third Normal form )
Menghilangkan field yg sama sekali tidak berhubungan dengan PK tapi bergantung pada field lainnya
Invoice.dbf
----------------------------------------------------------
Invoice_id Tgl Cust_id Nama_customer
----------------------------------------------------------
S.01 10-10-06 C.01 Dunia ,PT
S.02 10-10-06 C.02 Septia ,PT
disini field Nama_customer dapat dihilangkan karena tidak berhubungan langsung dengan PK nya ( Invoice_id) tapi bergantung pada Cust_id.
Umumnya kita akan berhenti pada Normal ke Tiga , walaupun masih ada beberapa normal berikutnya
Dari semua step diatas maka dapat terlihat normalisasi dapat memudahkan kita membuat proses Insert/update/Delete ,
namun normalisasi menimbulkan masalah pada Query performance dibandingkan yg DeNormalized
bayangkan jumlah JOIN bila ada >5 tabel yg terlibat dalam sebuah Query dengan jumlah data yg banyak
Quote
Normalisasi akan meningkatkan data integrity tetapi akan juga meningkatkan Query complexity.
sebaliknya Denormalisasi akan mengurangi data integrity dan juga mengurangi Query Compexity
Bagi yang pernah coba Crystal Report/Reporting Tool lainya tentu merasakan dampak negatif dari Normalisasi , mengapa ? karena performance untuk reporting yg melibatkan banyak tabel menjadi lebih lambat dibanding Denormalized form
Jadi ,
Ada 2 tipe database pd umumnya :
1.Transactional DB
Ini digunakan untuk transaksi harian oleh para operator komputer , disini normalisasi sangatlah penting , karena pd tahap ini integrity data sangatlah diperlukan , anomali pd proses input/update/delete harus dihilangkan
2.Decision Support DB
Ini yg dipakai para bos2 kita untuk membuat keputusan ,
Apakah mau mereka nungguin Query Analisa Penjualan 5-10 tahun kebelakang yg dimana tabelnya kita buat dengan Normalisasi ? Jadi untuk data yg sudah banyak , untuk reporting/DSS lebih baik kita pakai UnNormalized saja .
Di DS ini ada DataWarehouse,DataMart dll ..coba bisa diexplore
mohon koreksi nya bila ada yg salah
Salam
original post "Normalisasi apa dan mengapa"
Jumat, 08 Juni 2007
Kamis, 07 Juni 2007
Situs belajar foxpro
Dibawah ini daftar Situs untuk belajar foxpro
http://www.fox-id.org
Komunitas VFP indonesia
http://www.foxite.com
Komunitas VFP
http://www.fox.wikis.com
VFP Wiki
universalthread.com
belajarvfp.blogspot.com
ini yg paling ok
http://www.fox-id.org
Komunitas VFP indonesia
http://www.foxite.com
Komunitas VFP
http://www.fox.wikis.com
VFP Wiki
universalthread.com
belajarvfp.blogspot.com
ini yg paling ok
Create Form BloggerFrm
Akhirnya sampai juga di dunia para blogger ,walau rambut udah beruban tapi ga papalah ikut meramaikan
Kalau masih ada yg kurang harap dimaklumi ..hehehe
Blog ini untuk membantu rekan rekan yg baru mulai belajar VFP untuk mengenal lebih lanjut bahasa yang sangat mengagumkan.
Jikalau anda masih baru dalam pemrograman lebih baik belajar bahasa yg lain dulu ( Java , .NET,VB dll ) kenapa ??
karena VFP bisa membuat anda kecanduan ,tidak mau berpaling ke yang lain.
Salam
Kalau masih ada yg kurang harap dimaklumi ..hehehe
Blog ini untuk membantu rekan rekan yg baru mulai belajar VFP untuk mengenal lebih lanjut bahasa yang sangat mengagumkan.
Jikalau anda masih baru dalam pemrograman lebih baik belajar bahasa yg lain dulu ( Java , .NET,VB dll ) kenapa ??
karena VFP bisa membuat anda kecanduan ,tidak mau berpaling ke yang lain.
Salam
Langganan:
Postingan (Atom)