進銷存系統, 庫存的設計 |
答題得分者是:leveon
|
weiliching
初階會員 ![]() ![]() 發表:53 回覆:78 積分:31 註冊:2003-12-27 發送簡訊給我 |
設計到現在~有關進銷存的庫存設計~我目前設計了幾種方式
1. 每次進貨與出貨, 刪除修改, 去修改物料基本檔的 庫存欄位, 算是一個按鈕一個按鈕的寫.此方式最麻煩~常常忘了有那些按鈕.需要更動庫存 2. 每次進貨..就在出庫的Table ,順便新增一個出貨資料,並用 某個欄位來確定他是否已經出貨,剛新增時為N, 如果要出貨後~就把此欄位設定成Y, 此欄的去抓 N 就是庫存 以上兩個方是都是不動資料庫的方式 據之目前好像還有Trigger , 或是ClientDataSet 兩種方式, 請個位大大以設計經驗~那一種方式比較好? 一直想改成Trigger 的方式~不知道是否有範本? B,RGds Vincent wei |
leveon
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:30 回覆:389 積分:303 註冊:2012-02-12 發送簡訊給我 |
這個議題應該不只侷限在進銷存商業軟體,搞不好一些線上遊戲的計算邏輯比商業軟體還複雜
小型的系統採用Trigger 是很不錯的 ,分別對新增 刪除 修改等事件去做對應的資料處理 ,再加上transaction 應該可以很穩固 中大型的系統 用Trigger 就不合適了 ,應要設計成可以擴充的資料庫 讀取和寫入是不同台的資料庫 ,也要設計成容易replication,所有的操作都會留下紀錄,系統再根據這些紀錄去批次排程要更新計算的目標欄位,厲害一點的還可以 依照紀錄將整個資料回朔到任何時間點, 目前有不少Cloud DB,個人認為 NOSQL會比SQL還要多人使用 ,原因並非不需要SQL強大的語法功能,而是考慮到擴充性,需要複雜的計算 就只能自己硬幹,所以結論就是對資料庫內建的功能依賴越多,初期當然開發比較簡單快速,但日後就越難擴充,也無法離開該品牌的資料庫 ,程式一但龐大也很難抽象 回到你的問題要用Trigger 還是ClientDataset這要看你要做怎樣的系統,不想過分依賴DB的,未來想擴充就用 ClientDataset,想簡單開發 ,不用管前端是delphi還是ASP還是APP網頁啥的的就用Trigger ,沒有甚麼絕對好壞 只有場景的選擇 ===================引 用 weiliching 文 章=================== 設計到現在~有關進銷存的庫存設計~我目前設計了幾種方式 1. 每次進貨與出貨, 刪除修改, 去修改物料基本檔的 庫存欄位, 算是一個按鈕一個按鈕的寫.此方式最麻煩~常常忘了有那些按鈕.需要更動庫存 2. 每次進貨..就在出庫的Table ,順便新增一個出貨資料,並用 某個欄位來確定他是否已經出貨,剛新增時為N, 如果要出貨後~就把此欄位設定成Y, 此欄的去抓 N 就是庫存 以上兩個方是都是不動資料庫的方式 據之目前好像還有Trigger , 或是ClientDataSet 兩種方式, 請個位大大以設計經驗~那一種方式比較好? 一直想改成Trigger 的方式~不知道是否有範本? B,RGds Vincent wei |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |