sql >> データベース >  >> RDS >> Sqlserver

会計とデータベースの設計、借方と貸方の金額の保存

    あなたが発見したように、すべてに1つの列を使用してから、借方または貸方に負の数を使用しても機能しません。アカウンティング値はスカラーではありません。列挙型 (借方または貸方) と固定小数点 10 進数 (正または負) を含むベクトルです。

    会計トランザクションには、同数の借方と貸方が含まれている必要があります。そうでない場合、それは有効な取引ではありません。

    同様に、口座残高も同じようなベクトルです。任意の時点で、会計システム内のすべてのアカウントの合計借方と合計貸方は互いに等しくなければならず、そうでなければ何かが壊れています。

    これを見る別の方法は、会計上の値を、借方が実数で貸方が虚数である複素数と考えることです。これは、4 借方 + 3 貸方 =4 + 3i を意味します。これにより、できないことは明らかです 虚数項を負の実数項に折りたたむことで、それをさらに単純化します。これは、同じ数直線の軸ではありません。 4 + 3i =4 - 3 と主張するのと同じです。有効な数学ではありません。

    データベースが複素数をネイティブに格納できる場合、実際には複素数は会計データを格納するための優れた方法であり、プログラマーが通常会計に関して持っている多くの混乱を解消し、あらゆる種類の興味深い特性につながるでしょう。たとえば、バランスの取れたトランザクションは、バランスのとれた一連のアカウントと同様に、常に 45 度の位相角を持ちます。しかし、ほとんどのデータベースでは、格納する前に複素数を実数項と虚数項に分解し、それらの項を異なる列に格納する必要があります。会計の世界では、これら 2 つの列の名前はそれぞれ「借方」と「貸方」です。

    P.S .:一部の人々がクレジットにマイナスを使用し、デビットにプラスを使用していることは承知していますが、これは正しく行うために細心の注意が必要であり、壊れやすいものです。アカウントに触れるたびに、通常の残高を追跡する必要があります。たとえば、資産アカウントには通常の借方残高があるため、正の数を使用して増やすことができます。しかし、負債勘定の通常の残高はマイナスであるため、その勘定の値の増加は負の数になります。これら 2 つの値をいつでも合計することはできません。それらは同じものではありません。借方は持っているもの、貸方は借りているものです。両方をデータベース テーブルの同じ列に入れると、悪臭がします。



    1. 別のデータベースリンクにリンクすることは可能ですか?

    2. Djangoは多くのテーブルへの1つの外部キーをモデル化します

    3. SQL Server で SMO を使用してスクリプト生成を自動化する方法は?

    4. postgresでいくつかのデータベースを除くすべてのデータベースを削除する方法