original post-nya saya apus ya :P ..

Gimana kalau desain table-nya seperti ini:

tbl_barang :
- id_barang
- nama_barang
- harga
contoh : <"BRG-0001", "Pasta Gigi, 2000>
<"BRG-0002", "Minyak tanah", 4000>

tbl_kantor :
- id_kantor (pakailah natural key)
- nama_kantor
contoh : <"PUSAT", "Kantor Pusat">, <"CAB-DPS", "Cabang Denpasar">, <"CAB-BDG", 
"Cabang Bandung">

tbl_transaksi_master :
- id_transaksi (composite key dengan id_kantor)
- id_kantor (composite key dengan id_transaksi)
- tanggal
- customer
Contoh : <"TRM-00001", "PUSAT", "2008-12-02", "JOKO">, <"TRM-00001", "CAB-DPS", 
"2007-11-01", "JONI">

tbl_transaksi_detail
- id_transaksi_detail (di-generate dengan pola tertentu)
- id_barang
- kuantitas
- harga
- total
Contoh : <"TRD_PUSAT_00001", "BRG-0001", 4, 2000, 8000>,
<"TRD_PUSAT_00001", "BRG-0002", 3, 4000, 12000>,
<"TRD_CAB-DPS_00001", "BRG-0002", 5, 4000, 20000>


Dengan desain seperti itu, :
1. Walau digabungkan, data tidak akan tumpang tindih
2. Data lebih human-readable
3. Untuk manipulasi data, dapat dilakukan dengan permainan query atau dapat 
juga dilakukan dengan permainan kode program. Misalnya, untuk mengambil data 
transaksi nomor xxxxx di kantor yyyyy dapat dilakukan dengan mencari semua 
rekord di table detail yang id_transaksi_detail-nya memenuhi pola 
TRD_yyyyy_xxxxx

Untuk report, usahakan buat table temporary/view sedemikian rupa sehingga table 
tersebut dalam format 0nf (tidak ternormalisasi sama sekali).

Kirim email ke