Menggunakan satu kolom untuk semuanya dan kemudian menggunakan angka negatif untuk debit atau kredit tidak berhasil, seperti yang Anda temukan. Nilai akuntansi bukanlah skalar -- mereka adalah vektor yang berisi enum (debit atau kredit) dan angka desimal titik tetap (yang bisa positif atau negatif).
Setiap transaksi akuntansi harus mengandung jumlah debit dan kredit yang sama. Jika tidak, itu bukan transaksi yang valid.
Demikian juga, saldo akun juga merupakan jenis vektor yang sama. Setiap saat, total debit dan total kredit di semua akun dalam sistem akuntansi harus sama satu sama lain, atau sesuatu akan rusak.
Cara lain untuk melihat ini adalah dengan memikirkan nilai akuntansi sebagai bilangan kompleks, di mana debit adalah nyata dan kredit adalah imajiner. Ini berarti bahwa 4 debet + 3 kredit =4 + 3i. Ini memperjelas bahwa Anda tidak bisa sederhanakan itu lebih jauh dengan menciutkan suku imajiner menjadi suku riil negatif -- itu bukan sumbu garis bilangan yang sama. Ini akan sama dengan mengklaim bahwa 4 + 3i =4 - 3. Bukan matematika yang valid.
Jika database dapat menyimpan bilangan kompleks secara asli, maka bilangan kompleks sebenarnya akan menjadi cara yang baik untuk menyimpan data akuntansi, mungkin akan menjernihkan banyak kebingungan yang biasanya dimiliki programmer tentang akuntansi, dan akan mengarah ke segala macam properti yang menarik. Misalnya, transaksi seimbang akan selalu memiliki sudut fase 45 derajat, seperti halnya set akun yang seimbang. Tetapi sebagian besar basis data membutuhkan Anda untuk menguraikan bilangan kompleks menjadi istilah nyata dan imajiner sebelum penyimpanan, dan menyimpan istilah tersebut di kolom yang berbeda -- di dunia akuntansi, nama kedua kolom tersebut adalah "debit" dan "kredit", masing-masing.
P.S .:Saya sadar bahwa beberapa orang memang menggunakan negatif untuk kredit dan positif untuk debit, tetapi ini membutuhkan perhatian besar untuk melakukannya dengan benar, dan rapuh. Anda harus melacak saldo normal setiap akun setiap kali Anda menyentuhnya -- misalnya, karena akun aset memiliki saldo normal debit, maka Anda dapat menggunakan angka positif untuk meningkatkannya. Tapi akun kewajiban memiliki saldo normal negatif, jadi kenaikan nilai akun itu adalah angka negatif. Anda tidak dapat menjumlahkan kedua nilai tersebut kapan saja -- keduanya bukanlah hal yang sama. Debit adalah sesuatu yang Anda miliki, sedangkan kredit adalah sesuatu yang Anda berutang. Menempatkan keduanya di kolom yang sama di tabel database tidak enak.