電商網站交易記錄設計


摘自:http://bbs.csdn.net/topics/360125931

 

這里主要說說,我們平時接觸到的大多是一些中小型的結算系統,如連鎖商場的會員卡儲值系統,校園餐卡系統,加油站,網站在線交易等。

1. 數據庫設計的原則

1) 准確記錄賬戶基本信息,特別是狀態。

2) 交易時要正確記錄下交易信息和賬戶狀態。

3) 交易記錄是歷史性的,不可篡改。

4) 交易是連續的,對時間要求准確。

5) 交易記錄要完整,對安全性有要求。

2.主要數據表

1) 賬戶基本信息表

    記錄賬戶的持有人姓名、聯絡方式、余額、有效期、密碼、流通范圍等。為了安全,該表還應該由賬戶、姓名、有效期和余額組成的檢驗串,防止有人惡意修改余額或賬號。

2) 交易記錄表

    記錄每一筆交易信息,除了記錄交易賬戶、交易時間、交易金額、交易后余額和交易內容(充值或消費購物)外,還應該記錄下賬戶的其它基本信息,如賬戶持有人姓名、交易地點等。這也許會增加數據的存儲量,但這是有必要的。如在銀行儲藏點存下錢,這個儲藏點若干年后,可能更名、關閉等,在此之后要查當初在這個點的交易時,就可能會用到初交易時的信息。

     另外,交易記錄不建立使用太多的代碼表示特定意思,一是時間太久了會看不明白代碼是什么意思,二是代碼可能被重復使用。

     所有交易必須有數據完整性校驗,即一行記錄一旦生成后其校驗串也就固定了,防止有人惡意修改記錄行的值。

3) 賬戶變更記錄表

    由於賬戶基本信息是可變更的,基於交易系統的交易記錄的歷史性和檔案性,所以對賬戶基本信息的任何變更都必須有記錄,由什么變更為什么,一定要有記錄,否則以后一旦查歷史,找不到當初變更的信息就麻煩了。

4) 操作日志明細表

    所有的操作必須有詳細的日志記錄。

3.技巧

1) 應當根據應該的規模進行合理設計,如交易量非常大(每天超過10萬筆)那就需要考慮創建分區表,如果更大,就要考慮建立歷史交易表或交易庫,即把一年或幾年前的數據獨立出來,僅供特殊需要時查詢。

2) 建立索引,如按日期、賬戶建立索引,可以加快查詢速度。

3) 建立報表數據存儲表,即在報表生成之后,就把生成的結果數據保存下來,以后再要進直接進行查詢,不要每次都根據原始表進行統計。

4) 適當提高硬件配置是比較划算的。

4.其它

1) 一定要考慮擴展性,主要在應用地區范圍、時間范圍、用戶(消費者)、客戶(商家)方面。

2) 應急的處理,如備份、分布式(不同地方設立數據庫)的獨立運行、離線等。

3) 要有開放的思想,想想在未來如何方便其它系統、成員、合作伙伴也可以加入進來。

僅個人想法,請多指點。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM