我有一個複雜的網站,用真錢處理在線遊戲。我爲我的交易使用了一個複式數據庫設計,一個簡單的例子如下:在一個存儲過程中分組事務,或分爲兩個存儲過程?
約翰存款$ 5 約翰收到5000學分 約翰使用那5000個學分玩遊戲。
在數據庫中的交易看起來如下:
trans_id | account_id | trans_type | date | amount |
-----------------------------------------------------
1 | John(PayPal)| Debit | date | -5.00 |
2 | System | Credit | date | 5.00 |
3 | SystemGame | Debit | date | -5000 |
4 | JohnGame | Credit | date | 5000 |
我寫了一個存儲過程與它交易的是插入交易1和2,從約翰的PayPal賬戶的借記卡和信用卡給我們的系統帳戶。
我的問題是,我是否也應該包括約翰從我們的SystemGame賬戶轉賬到他的遊戲賬戶的其他交易?還是應該爲每組事務存儲一個存儲過程?所有4筆交易同時發生,John在存入$ 5後立即記入貸方。
此外,我應該從真實貨幣交易表中分離遊戲信用的交易表嗎?