iT邦幫忙

0

如何規劃週期性資料的資料表!

請問各位大大週期性的資料庫是如何規劃?!

例如 記帳軟體! 每個月扣款設定...

每月1號 扣除 xxx 元 想達到,如果檢視下一年或未來月份的話,未來週期的紀錄會一一顯示出來,但暫時未列入總計,並以點選該筆紀錄 啟動此筆紀錄才實際記帳算入資產總計中。

想請教是否有甚麼正規的規劃方法?!

如果以記帳軟體為例,目前想到的方法好像有一些問題

紀錄每筆資料的資料表內
+週期欄位 設定 年、月、日 三種狀態
+週期時間欄位 存入數字 代表 幾年,或幾月 重複一次 3代表 3為週期 再依據 週期欄位去迴圈
+週期截止期日 null 表示永不停止
+連動的欄位 代表第一筆的 id 更新 ,一起做變動

不過有一個問題就是不設截止日期產生出來的資料量會很多,該如何去修改資料庫,才能達到可以檢視未來計入的效果?又可以讓週期不停止。
另外一個問題就是 如果不是更新第一筆,後續的都不會一起更動! 該如何解決?!
例如:已經過三次週期了,第四次因為變動所以金額要增加,如果只修改第四次,第四次後不會一起變動。

2
bizpro
iT邦大師 1 級 ‧ 2017-09-26 21:50:57

如何規劃週期性資料的資料表!

資料表是資料存儲(Model). 依照商業邏輯(Business Logic; Control)自資料庫取得資料, 依商業邏輯運算資料, 再呈現出(View)資訊.

週期是商業邏輯. 資料表只需要記載時間, 時間可以是日期或期間, 您要怎麼計算週期或異動資料庫就是您的商業邏輯.

1
海綿寶寶
iT邦超人 1 級 ‧ 2017-09-27 09:43:20

這個問題我沒寫過也不會

因為我聯想到日曆的「重覆事件」演算法
Google 了兩篇文提供參考

Stackflow
Vertabelo

0
froce
iT邦大師 5 級 ‧ 2017-09-27 10:07:10

你應該是一個週期只出一張同樣的報表吧?
可以設定一張資料表儲存週期性資料,檢視時依後端邏輯(是否過期,重複時間等)時帶出資料,在client端做設定是否寫入真正的結果,最後存入真正的結果。

我要發表回答

立即登入回答