2015-12-15 33 views
0

所以,我正在寫POS系統,我希望它能夠跟蹤庫存並根據過去的銷售情況生成報告。跟蹤POS系統的銷售/庫存歷史的最佳方法?

我很熟悉數據庫設計和那種事情,但我不太清楚如何處理這個特定的問題。我認爲的第一件事就是有表格跟蹤每天,每週,每月和每年的銷售額,然後讓程序跟蹤已經過多少時間,以便知道何時重置這些特定記錄。但是現在我認爲有一個比這更簡單的方法。

我想要做的另一件事是根據時間戳查詢銷售交易表,但我不確定這是否是朝着正確方向邁出的一步。

我知道有一些比較簡單的方法可以處理客戶訂單和訂單歷史等事情,但如果商店想要跟蹤他們在一週的時間內銷售了多少產品,那麼對於商店本身呢? ,月,年等?這是類似的方法嗎?不同?我無法找到任何可以說明這個問題的東西。

回答

1

我會第二個想法 - 爲具有時間戳的事務創建一個表,並使用時間戳來完成報告(如果需要,還可以使用分區)。如果您知道您會經常通過時間戳查詢,則可以在其上創建索引以提高性能。

無論您是跟蹤客戶訂單還是商店銷售都不應該在設計上有所作爲,除非有一些主要的要求差異。

+0

是的,我想我會嘗試這種方法,看看它是如何發展的。 –

0

這是一個系統,商店所有者是自主的嗎?還是將一個POS終端的負載報告回中央樞紐的系統?

如果這是針對自主商店所有者的,那麼您必須開始擔心諸如備份和數據歸檔之類的事情。店主不真正關心的東西。如果你在網上看,你可能會發現一些雲供應商爲店主做所有這些POS的東西。

在另一方面針對大型企業的我見過的一般設計模式如下:

  1. 在您的POS終端認爲需要在POS終端的最低所需的數據。終端需要最少的報告。

  2. 將所有POS數據複製到保留併合並所有不同POS終端的中央數據庫服務器。這是您的詳細操作報告。一旦數據被複制在這裏它可以從終端

被刪除通常店裏人不是在較長的趨勢也有興趣,但它取決於業務。

現在,您可以在中央數據庫服務器上按月或按年運行報表(如同您的商店所有者一樣),並只需總結每月/每年一次的報表即可。此時不需要創建彙總表。

隨着數據大小的增加,最終會遇到性能問題。

對此的答案不是建立彙總表,因爲那樣你的用戶/報告系統變得複雜了,因爲你必須選擇正確的表。

答案是應用標準的性能優化技術,如:

  • 提高服務器硬件(只需添加RAM往往是最具成本效益的)
  • 添加索引(包括索引視圖)
  • 實施分區
  • 考慮使用立方體報告

如果不是那麼您可能想要考慮填充彙總表的批處理作業的開銷。但是索引視圖可以在不需要彙總表的情況下在一定程度上覆蓋這一點。

在考慮任何設計選項(如彙總表)之前,您需要了解數據大小,增長和報告要求。

+0

是的,我正在考慮爲更小的企業,比如媽媽和流行的商店或類似的東西。所以它不需要那麼複雜(但)。隨着時間的推移和應用程序的發展,我可能會添加更多的功能。但就目前而言,「自主店主」的做法更多的是我要找的。 –

+0

您可能會發現已經有云解決方案。我在雲端鍵入「POS」,並且已經有很多玩家。現在,雲是媽媽和流行的解決方案,因爲它非常簡單。 –