伊莉討論區

標題: 關於 資料庫的問題 [打印本頁]

作者: ww22511    時間: 2017-12-2 08:23 PM     標題: 關於 資料庫的問題

提示: 作者被禁止或刪除 內容自動屏蔽
作者: sheauren    時間: 2017-12-3 02:46 PM

1. 每一次產品價格變動都留下異動紀錄,沒異動就沿用原本價格就好
2. 如果記錄都是當天填入,拿成交直接拿最後價格直接紀錄[單價、總價都留],如果可能會後補價格,那異動紀錄可以讓你取得當時的價格來計算就好),調出當天資料因為單價、總價都存了,所以就不用去查產品價格那邊了
作者: 羕漾    時間: 2017-12-3 06:07 PM

關聯式資料庫好用的地方在這裡
你可能會有「商品」的資料庫,及「交易」的資料表(交易可能還會拆分成交易主體及商品的紀錄,這個看你怎作正規化)
作法可能會如下:
1. 增加一個價格歷史紀錄,裡面的欄位至少有商品編號、價格及價格生效時間
當商品價格有異動時你就可以回去對那個時間點生效的價格,就能得到你要的解了
這個方法有個好處是你可以額外得到一份價格歷史的紀錄,如果有要資料分析時可以拿來用
2. 於交易資料表的商品部份新增「單價」欄位,透過該欄位紀錄價格
這樣的好處是你只要檢索到交易紀錄,就可以直接得到單價,不需要花資源去串接商品的價格異動紀錄,找到你那時的價格
兩種方法主要是看你會需要的資料而定,如果你很確定之後不會需要精確的歷史價格紀錄,那選擇第 2 種方法會是較直覺的!
作者: kentcat3030    時間: 2017-12-29 05:52 PM

我覺得,對於資料的結構,樓主可能要多學習一些.
因為,你提的問題,算是資料結構基礎設定.

簡單的說
『賣的東西 每天的價格都會變動的』
這當然就要每天去更改價格,但不一定要去直接更改資料庫,
寫支小程式介面,去維護更改即可.
若是懶得自己改,而又有其他的地方(網站...等)可參考,
那就每天用程式去參考別處的價格,自動更改自己的價格.
(這又是另一層次的做法)

每次成交,加入『客戶 日期 和 成交價錢』的資料庫,
要調出 那天的資料,就以此資料庫搜尋,就好了 ^_^
作者: w12463    時間: 2018-1-23 06:36 PM

給個思路 價格=原價+當日異動價  若沒異動那異動價=0
然後還是要去管理每天的異動價 好處是任何一天的價格都有記錄
不然就KEY=客戶+生效日期 有新價時就把舊價停用就可了
作者: longbest    時間: 2018-4-6 12:15 AM

以簡單的系統來説,商品資料的單價只會影響新開出貨單的商品價格
不管價格怎麼變化,基本上都是用出貨單來紀錄實際銷售單價
因為收錢/付錢都是以此為憑證

作者: love88131496    時間: 2018-7-13 02:39 PM

提示: 作者被禁止或刪除 內容自動屏蔽
作者: cmy328    時間: 2018-8-4 02:14 PM

就每天的價格存一個欄位就好 有什麼特別的嗎?
作者: kwj    時間: 2018-8-8 12:05 PM

cmy328 發表於 2018-8-4 02:14 PM
就每天的價格存一個欄位就好 有什麼特別的嗎?

存一筆紀錄和存一個欄位差很多....如果是 NoSQL 也就算了,RDBMS 的話會搞死人




歡迎光臨 伊莉討論區 (http://www123.eyny.com/) Powered by Discuz!