作者:
trueQoo (幸運之神)
2017-11-28 10:37:33資料庫這種情況很常見,就是不懂設計下的產物
(學校沒教是一種情況)
然而,你還不能說他們不懂設計,他們會反過來說是你不懂設計
(悶了)
資料庫界的奇怪現象
1.拿掉 pk 與 fk,說這樣效能會比較好(好在哪?)
2.多個欄位合起來設定一個 pk
3.一個人有多個電話,會設計成 tel1 tel2 tel3 多個欄位
4.為了正規化而設計資料庫,而不是為了使用者需求,也不是為了效能
5.用應用程式去做原本資料庫該做的資料檢查
讓我想到,這種資料庫品質想要做什麼資料倉儲,我也是覺得很不可思議
作者:
testPtt (測試)
2017-11-28 10:42:00推薦用NoSQL
作者: lgzenith (巨龍) 2017-11-28 10:57:00
所以2的狀況不少?我還以為只有某ERP廠商這麼做
作者:
imlin01 (WE迷)
2017-11-28 11:11:00第五點資料檢查用程式做沒什麼問題吧
作者:
mathrew (Joey)
2017-11-28 11:11:00一堆公司都嘛這樣 我們公司也是 pk fk 是看心情設的有的有 有的沒有
你有沒有看過用程式 rollback 不用 DB 內建功能的XD
作者:
Hordor (Hordor)
2017-11-28 11:26:002. 原本就是有爭議的
作者:
Adonisy (堂本瓜一)
2017-11-28 11:27:00第5點應該是原本資料庫的check功能不用
作者:
robler (章魚丸)
2017-11-28 11:33:00所以複合鍵現在變成不能用的東西了?我覺得這五點很多都是你個人的信仰問題只是你自己的偏見而已
作者:
Adonisy (堂本瓜一)
2017-11-28 11:38:00第3點連第一正規化都沒有...算是基本常識啊...
第一正規化大部份DB會幫你檢查吧 無法Insert
作者:
johnny94 (32767)
2017-11-28 12:02:002 未必是不好的,是設計時需考慮的事。
作者:
oneheat (等待)
2017-11-28 12:03:00哈哈,不是早就說了,文人相輕啊,自己認真的永遠最好最棒,其他都是錯的!還是show薪資單比薪水比較快啦
作者:
elements (Helianthus annuns)
2017-11-28 12:12:00通常人都要踩進自己挖的坑以後 才知道自己不是永遠是對的
作者:
Adonisy (堂本瓜一)
2017-11-28 12:12:00說穿了,多個欄位的主索引是對主索引的定義就有問題了
作者:
oneheat (等待)
2017-11-28 12:14:00研發永遠不會只是單一面向去看事情啊,任何事情都有其背後的原因,不去了解不去了解就先批評才是最大問題
作者:
senjor (哞哞)
2017-11-28 12:30:00某些專案為了特殊需求還會刻意anti正規化
...你根本自打嘴巴 自以為最好不要認為你有機車了就嘲笑腳踏車和汽車 每個適用不同
作者:
iamshiao (CircleHsiao)
2017-11-28 12:47:002 不一定是錯的3~5 也不一定是錯的,而且你 3、4 兩點不是矛盾了嗎?
作者: longlongint (華哥爾) 2017-11-28 13:09:00
1 不常 search 的欄位不用設 key
5-->有的公司為了不同客戶的需求和特殊服務,常會這樣做商用的資料庫系統非常樂見越多人用這個方式越好,還主動更新API,更過分的還送教學影片~公司常常都會不用白不用
作者: ghmsxtwo (YI) 2017-11-28 13:34:00
挖靠這裡也釣的到脆瓜大
作者: ChienHsiang (祥.夢想沒有極限) 2017-11-28 14:38:00
2,5 真的未必是錯的!
作者:
xo1100 (蝦蒸河粉)
2017-11-28 15:49:00第三點遇過一開始需求這樣然後又上加問題是已經有資料了而且還不少 只好就……xd
作者:
drajan (EasoN)
2017-11-28 17:07:00這世界上沒有anti正規化這種東西 只有denormalization
作者:
ccc1001 (你不是吧)
2017-11-28 23:47:00哇 這篇真的標準的自以為懂
作者:
senjor (哞哞)
2017-11-29 10:18:00@drajan 感謝提供精準用字 orz
作者: psliurt (反指標) 2017-12-12 01:09:00
2叫做複合主鍵, 3.看需求再決定要不要拉另一個table吧4.跟3互相矛盾了好嗎? 5.先學一下SQL Injection好嗎?