資料庫開新欄位的選擇
做軟體工程
最難的從來不是開新專案
而是在舊的程式碼添加新的需求
日前有一個需求
必須要在Table新增欄位
最直覺的方式
就是直接加在原本的Table
並且設定為nullable
不過組內同事覺得
一個需求就加上四個nullable的欄位
似乎太超過
於是就有第二種做法
把四個欄位組合成json string
存進一個欄位
在程式取出來的時候
才把它拆解四個欄位
原本以為一切妥當了
沒想到組內的資深前輩
一看到這個設計就說
那就全部資料存成一個Table
再用json存起來就好啦
聽完之後好像似乎也是有些道理
接著同事才解釋
應該多開一個ExtraInfo的Table
把額外的資料存去ExtraInfo
這樣就可以不破壞原本的Table
又達到原本的需求
最後的結論
資料庫就是用來分類的
何苦捨本逐末用Json ?
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Frank's Talk!