軟體工程師的小事:到底要不要 Close

電子商務網站商品搶購模擬 - 使用預存程序

此文章將使用 Microsoft SQL Server 2017 建置電子商務網站部分資料庫內容,並使用 .NET Core 撰寫主控台應用程式來模擬使用者進行商品搶購,確認是否有商品超賣情況產生

搶購模擬專案將使用相同的模擬應用程式來測試不同資料庫物件設計對商品購買行為的差異

eshop panic buying test flow

整份專案的 Transact-SQL 與應用程式程式碼可以在下列 Github 連接中取得
txstudio/eShopPanicBuyingSimulatorUseStoreProcedure

情境說明

就算設計有瑕疵在非高流量下電子商務網站不會有問題

normal case

在搶購時訂單大量湧入就要避免商品超賣的情況

panic buying case

你會希望你的電子商務網站經常有大流量進入,但不會希望經常性的商品超賣情形

outselling conversation
超賣影響到其他作業人員,還有你的飯碗 ...
注意事項

範例指令碼只會有建立情境中所需要的資料表與資料庫物件:僅會有商品庫存與訂單的部分資料表內容

其他電子商務網站會使用到的資料表並不會出現在範例指令碼中

品牌、商品類別、訂單流程、會員資料、促銷活動 ...

.NET Core 範例程式碼使用 ADO.NET 連線到 Microsoft SQL Server,並沒有使用 Entity Framework Core

之後可能會寫一個使用 Entity Framework Core 的範例
致謝

感謝楊志強老師給予指教修正錯誤的資料庫設計避免商品超賣的情況產生

因全部內容很長,將分多個章節進行介紹

章節清單
  1. 電子商務網站商品搶購模擬 - 使用預存程序
  2. 建立 eShop 資料庫
  3. 模擬搶購應用程式簡介
  4. 將購訂單商品數量與庫存量作關聯
  5. 扣除購買商品的商品庫存量
備註

文章使用圖案使用 draw.io 繪製
https://www.draw.io/

留言