iT邦幫忙

0

資料表設計優缺點

我是半路跌進這個坑的,在做報表上有約10年的經驗,從基礎的excel到目前是直接用sql撈資料庫+VBA套用用戶要求的格式,自己也整理出一套方法能方便地應付用戶的臨時需求。最近3年自己有嘗試寫簡單的進銷存,先撇除價格的部分,單純就商品庫存跟分類來說我想問的是如果資料表設計成下面這樣,有什麼可能的優缺點,或是說能做到像類似樞紐的彈性,我目前已有實作的程式,但覺得還有可以改進的地方,希望大家多給點意見

資料表1
商品貨號 庫存

資料表2
父結點 節點名稱
root 分類1
分類1 分類2
分類2 商品貨號1
分類2 商品貨號2

資料表3 <由程式產生商品跟類別的關聯樹

看更多先前的討論...收起先前的討論...
thwu iT邦新手 5 級 ‧ 2019-03-14 13:59:16 檢舉
看到記錄庫存的方式就馬上想先給一點建議
採類似分錄的方式來建立資料結構,日後可以避免很多問題。
例如:
商品分錄資料表
[分錄編號], [商品貨號], [數量]. [類型]
---------------
1, Itm120, 10, 倉庫驗收
2, Itm120, -1, 銷售出貨
3, Itm120, 5, 倉庫驗收
---------------

如果要計算現在庫存
```
SELECT [商品貨號], SUM([數量]) AS '庫存' FROM [商品分錄資料表] GROUP BY [商品編號]
```
關聯樹另外的作法是指向上一層,頂層就指向NULL.
給你參考一下.
giulian iT邦新手 4 級 ‧ 2019-03-15 16:40:28 檢舉
To :一級屠豬士,原來如此,明白為什麼用Null了,不過這個關聯樹的作法,我找不到類似的資料可以參考,有沒有推薦的網站或是範例可以拜讀一下,我目前有找到可以參考的結構大概就是社交的交友關係有類似的
giulian iT邦新手 4 級 ‧ 2019-03-15 16:58:02 檢舉
To:thwu 分錄的話我目前用是第三張表join進來,庫存部分我的作法是任何跟進出貨交易相關的會放另一張表,好處是查庫存時不用全部撈出來算。我記得是一個內控的概念。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

2
海綿寶寶
iT邦大神 1 級 ‧ 2019-03-15 09:26:29

資訊系統設計是沒有標準答案的
如果有
那麼市場上就只會有一套進銷存系統

只要能
1.滿足用戶需求
2.自己程式寫得出來
就是好設計

用戶需求只有你自己知道
如果你沒有用戶需求
也不必自己想像
建議可以參考市場上的進銷存系統
然後看看你設計的資料表/程式做不做得出來
就知道自己設計的是好或不好了

Google 一家功能如下圖

文字說明如下
方圓資訊 什麼是進銷存

giulian iT邦新手 4 級 ‧ 2019-03-15 16:36:18 檢舉

感謝,確實沒有標準答案,這個結構也是我已經有實作出來的
不過目前處理的商品/項目數,都在5位數以內,使用上還可以接受
很多地方也是參考其他優化後的,實務上我也不是全部都用這個方式,
只是我在思考這個方式有沒任何的可能性,不論是優化或是做其他用途
比如說有沒有可能可以作為開發模型的模型,就是定義出基本的流程跟資料結構,然後用程式去跑出基本程式代碼的框架,感謝你提供的資料

我要發表回答

立即登入回答