看板 Soft_Job 關於我們 聯絡資訊
※ 引述《littlethe (東周流浪漢)》之銘言: : HI大家好, : 小弟我是很喜歡研究資料庫的人, : 但待過幾間公司後, : 真的對資料庫或SQL看到好多很奇怪的事, : 我不知道是不是我運氣太差一直遇到, : 還是資料庫真的很不被重視, 其實這滿正常的 因為一般的中小甚至大公司很少有DBA的配置 通常就是PG自己開table自己顧 所以基本上table開的好不好完全就要看PG的功力 但你也知道有些人寫程式只是混口飯吃 程式能動就好 能交差就好 有bug再修就好 這種情況下當然完全不可能會去增加一下資料庫相關的基本常識 你會遇到這些光怪陸離的事情也不意外了 當然我也是有遇過整個資訊部80%的人都是做DB相關的 因為那邊的高層是寫DB出身 所以覺得DB最重要 其他的網頁拉一拉或app拉一拉就有了 不過就真的沒看過什麼奇怪的schema了嘛 : 我遇到狀況有: : 1.主管只准許用left join來關連表,其他join不准用, : 也不准用SP或變數或其他T-SQL的東西,只能在程式中拼接sql 我是遇過看到我程式 問我說join的效能不是很差嘛 注意 他是問我用join這個功能 而不是問我使用的時機 我當下也是呵呵 這位還是清大資工畢業的 : 2.表和欄位命名,用拼音的第一個字母組成, : 例如客戶主檔就命名為KHZD,姓名就叫XM 我倒是有遇過因為之前用的資料庫是AS400 而AS400的欄位不能用有意義的英文命名 然後當他們換了資料庫後還是取AS0001、AS0002這種沒意義的欄位名稱 問主管他說是為了保密 但我是心裡OS根本純粹只是你怕改了你會認不得吧 : 3.時間全部都用字元存,而且有的存的方式是"2017/11/27 01:27:30" : 都用字元存之前有板友聊過,但這種存法我相信比他看到的更誇張 這麼奇耙的還沒遇過 : 4.做任何動作都塞好幾列log,幾天之內就加了幾千萬列log,把硬碟給塞爆 沒遇過 : 5.一個表搞到上百個欄位,大部份是沒用或重覆,或是可以分割 遇過 也是前人的傑作 : 6.沒設主檔,主檔的資料全部寫在明細裡, : 要秀主檔的資料時, : 就把明細group by來找, : 明細也非常非常的大 主檔的資料全在明細裡 那明細還算是明細嘛??? : 7.重要的表沒有欄位記錄修改時間 這就看有沒有用到啦 : 8.重要的表沒有加主鍵,重覆的資料可以直接加上去 我遇到的是單據流水號重複 搞的我還得要加班去查哪些單據重複 開schema的人是智障 寫程式的人也智障到寫出可能會產生重複流水號的程式導致這場悲劇 : 9.在SP裡,把sql存在變數裡拼接,而不是直接寫sql跑, : 例如 : declare @sql varchar(500) : set @sql = 'select * from table_a' : exec(@sql) : 而且這樣寫不是因為有特殊目的,是一般的sp對方也這樣寫,直接寫sql都可以跑的 : 10.欄位名字用a,b,c,d命名,各種資料都往裡面塞, : 所以a有時候是姓名,有時候是物品名,有時候是其他東西 : 11.拿之前的資料庫改,但裡面表名和欄位名都不改, : 有什麼就塞,變成部門資料塞的是門店資料, : 銷售金額裡存的不是銷售金額, : 客戶編號存的是票據單號 這也很強 標準的掛羊頭賣狗肉嘛XDDD : 12.要用其他資料庫的表時(兩個資料庫在同一台伺服器上),不是直接連結, : 而是定時把另一個資料庫的表複製到自己資料庫,再去讀取 : 如果只是一家公司資料庫亂設也就算了, : 但我現在已經連續看到3家資料庫都亂七八糟, : 我真的很好奇是不是一般公司是不重視資料庫? : 也很少看到有人懂資料庫, : 而且很多狀況其實已經不是不專業問題, : 是沒常識了... : 我自己是有做過web和app, : 業界的web和app當然問題也很多, : 但問題的誇張程度都沒有資料庫來得誇張, : 資料庫不是非常重要的地方嗎? : 怎麼會出現那麼多奇怪的事? : 是我太大驚小怪了嗎? : 還是是我運氣不好, : 其實大部份公司的資料庫還算正常,不會這樣? 還是老話一句 如果你是在台灣的公司覺得這很奇怪 那表示至少你還算是有常識的 一堆人寫程式都好幾年了連基本常識都沒有 不管專案是不是一次性 全部欄位一律用varchar(max)這不是沒常識就是標準的放給後面的人死 更何況你怎麼知道你的專案會不會變兩次性三次性? 改天專案突然要用entity之類的方式讀資料庫又怎麼辦? 要解決這問題你只能有機會就投履歷到更好的公司才能解決(至少不會看到) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.233.159.254 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1511789890.A.3BB.html
felixgugu: 我遇過整套系統50+以上的表格完全沒主鍵的.... 11/27 21:55
mathrew: 很多都嘛是懶 管他的 程式能動就好了 11/27 22:05
littlethe: 那位清大資工的同事有提出更好的做法嗎?我很好奇 11/28 00:55
zg0608x: 我猜清大同事建議放在同table增加一個欄位用來辨別 11/28 09:17
johnny94: 然後就會一堆空值在裡面 11/28 09:34