iT邦幫忙

DAY 7
3

OrangeACC會計記帳系統開發系列 第 4

自製記帳軟件-DataType(二)

在我自製的記帳軟件的 Schema 之中, 在考慮了一般記帳的需要, Micosoft Access 的限制和開發難度後, 我只集中地使用了幾種 Datatype, 它們包括了: TINYINT, INT, DECIMAL, VARCHAR, DATE, 及 TIMESTAMP. 或許我應該承認懶惰也是一大因素, 可是為了完成這個唐吉訶德式的壯舉, 我是看書看 Blog 都看到眼睛壊了. 為了讓大家進一步理解 Datatype 的選擇與設計考量, 以下我將會逐一簡單的說明一下
TINYINT ( 1 byte ) - UNSIGNED 數值範圍從 0 到 255
這個 TINYINT 主要是用來作為 "選項數值", 例如 YES/NO, 表單種類及公司類別等. 記著一點, 由於此 Datatype 的數值範圍很小, 所以只適用一些你可以控制而不會自然增長的地方.

INT ( 4 bytes ) - UNSIGNED 數值範圍從 0 到 4,294,967,295
這個 INT 主要是用來作為 "編號數值", 例如表單編號, 客戶編號及產品編號等. 由於此 Datatype 的數值範圍比較大, 所以適用於一些會自然增長但不需要小數位的地方.

DECIMAL ( M+2 ) - 十進位範圍: 點數位前0到64, 點數位後0到30
這個 DECIMAL 主要是用來作為 "絕對數值", 例如金額及數量等. 由於此 Datatype 的數值範圍很大, 在設置適當的前提下你不會遇到任何限制, 就算你的公司是香港中央結算有限公司都沒有問題 (理論上). 有另一個 Datatype 跟 DECIMAL 很相似的就是 DOUBLE, 兩者的數值範圍都是一樣, 但是 DECIMAL 是一個固定數值 (Fixed), 而 DOUBLE 卻是一個浮點數值(Float). 在記帳中少不免總會有加減乘除的動作, 而在追求精準平衡的時候, 你可不會想在報表中出現一些微少的差異, 重複當年 Microsoft Excel 2007 的 Bug 吧. 為了準確性, DECIMAL 基本是你唯一的選擇.

VARCHAR ( M char's ) - 字數限制從 0 到 65,535 個單位元字母或符號 (中文字是雙位元)
這個 VARCHAR 主要是用來作為 "文字欄", 例如表單明細, 名稱及其他混合資料等.

DATE ( 3 bytes ) - 日期範圍從 "1000-01-01" 到 "9999-12-31"
這個 DATE 主要是用來作為 "日期欄", 例如表單日期及結算日期等.

TIMESTAMP ( 4 bytes ) - 範圍從 '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC
這個 TIMESTAMP 是一個系統自動生成的時間戳, 其一可以用來作為修復數據錯誤的依據, 另外還可以用作追蹤員工工作進度之用. (我是魔鬼...哈哈!)

以上六種 Datatype 基本上就是我那個自製記帳軟件的 Schema 的所用到的點線面定義, 如何組合它們就留待下一篇再說了.


上一篇
自製記帳軟件-思考
下一篇
自製記帳軟件-Voucher實體到虛疑(一)
系列文
OrangeACC會計記帳系統開發5
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
ted99tw
iT邦高手 1 級 ‧ 2013-10-01 19:49:07

bickyacc提到:
就算你的公司是香港中央結算有限公司都沒有問題

總於找到一款適合總裁用的記帳軟體了...喜歡

總裁 iT邦好手 1 級 ‧ 2013-10-01 20:53:01 檢舉

不能結算美國聯邦銀行嗎??....開心

0
timloo
iT邦研究生 2 級 ‧ 2013-10-01 21:21:29

bickyacc提到:
Micosoft Access

可惜,

何苦呢?

如果是web版,或是app版,應該sqlite3就夠用了!

難道用access拉UI嗎??

要記帳,好像excel+vba就很強大了!!

看更多先前的回應...收起先前的回應...
ted99tw iT邦高手 1 級 ‧ 2013-10-01 21:34:52 檢舉

此帖重點是一個港人的一個理想(如果不是幻想),就現在來說,是比鑽石還難得的...灑花

我也要給樓主加油打氣.
人因夢想而偉大.
努力堅持下去喔.

bickyacc iT邦新手 3 級 ‧ 2013-10-02 15:43:52 檢舉

多謝樓上兩位大大鼓勵, 其實整個系統已經完成並運作中, 這個系列只是記錄當日開發時的想法而已. 大大有空的話可以到YOUTUBE看看.

http://www.youtube.com/user/OrangeACC

bickyacc iT邦新手 3 級 ‧ 2013-10-02 15:46:31 檢舉

**"timloo"**提到:
要記帳,好像excel+vba就很強大了!!

我不懂excel的Orz

ted99tw iT邦高手 1 級 ‧ 2013-10-02 15:51:41 檢舉

可能是.蓮花123..啃多了....冷

鐵殼心 iT邦高手 1 級 ‧ 2013-10-02 16:24:31 檢舉

DBase IV落寞

我要留言

立即登入留言