लेन-देन प्रविष्टि को डबल प्रविष्टि एकाउंटिंग डेटाबेस में संग्रहीत करना।डेटाबेस डिज़ाइन: लेखांकन लेनदेन तालिका
मैं दो समाधान विकल्प 1 और विकल्प 2 के साथ आया, मुझे बताया गया कि अधिकांश बैंकिंग पैकेज उनके डेटाबेस डिज़ाइन के लिए विकल्प 2 चुनता है। हालांकि मैं विकल्प 2 पर विकल्प 1 पसंद करता हूं क्योंकि यह केवल समझ में आता है और यह अधिक कुशल है!
I.e धन के 2 आंदोलन के लिए, विकल्प 1 के लिए 2 रिकॉर्ड बनाम विकल्प 2 के लिए 4 रिकॉर्ड की आवश्यकता है।
मैं जानना चाहता हूं कि बैंक विकल्प 1 पर विकल्प 2 क्यों चुनता है? इसका कारण क्या है?
Option 1)
TRANSACTION
Credit_AccountId
Debit_AccountId
Amount
...
Option 2)
TRANSACTION
AccountId
Amount
...
धन्यवाद, मैं जटिल लेनदेन के बारे में आपका बिंदु देख सकता हूं। – 001
आपके उत्तर @ जस्टिन गुफा के लिए धन्यवाद, क्या आप उत्तर के वर्तमान संतुलन क्षेत्र पर मेरी मदद करेंगे, हमने लेनदेन के लिए मॉडल 2 का उपयोग किया था और शेष क्षेत्र के साथ खाता तालिका भी थी। संतुलन क्षेत्र प्रत्येक लेनदेन के बाद अद्यतन कर रहा है, समवर्ती मुद्दों के लिए हमने खाता तालिका पर पंक्ति स्तर लॉक का उपयोग किया। मल्टी-प्लेटफार्म जावा और नेट और ... के कारण हमें दो चरण प्रतिबद्धताओं का उपयोग करने की आवश्यकता होने तक हर चीज अच्छी थी। हमें खाता तालिका पर कई निलंबित लॉक का सामना करना पड़ रहा है। विशेष रूप से "लॉक के लिए लेनदेन की प्रतीक्षा"। डीबीए सत्र को मैन्युअल रूप से मार रहा है और ताले को हटा रहा है। क्या डिजाइन गलत है? –
@ एम हेडारी - यह एक नए प्रश्न के लिए बेहतर अनुकूल प्रतीत होता है - टिप्पणियां विस्तारित चर्चाओं के लिए वास्तव में उचित जगह नहीं हैं। मैं एक लेनदेन प्रणाली में एक कुल मूल्य बनाए रखूंगा। यदि आप वास्तव में पाते हैं कि कुल बिल्कुल जरूरी है, तो भौतिक दृश्य का उपयोग करें। –