Re: [請益] 想問資料庫的問題

作者: hk91c16 (死兔子)   2018-09-10 02:13:07
※ 引述《blueblueChen (藍藍欠)》之銘言:
: 版友晚安,我是代PO
: 有個朋友想要轉換領域,中文系。想轉戰資料庫。因為她的想法很簡單
: 就是建立一個 table,讓寫程式的人去操作..,然後可以不用碰到程式。
: 我對資料庫其實也沒很熟,包括大學研所全部都重修過。
: 而我的經驗是
: 資料庫可能在 Windows 或者其他 OS 例如 Android,都有支援的套件,然後還是
: 需要C++或者 JAVA 去寫程式邏輯來操作這些資料庫。不可能只有一個 table 表
: 就給其他程式設計師用。
: 然後這是巨匠課程表,想問資料庫前輩,這些課程對一個外行人來說,有沒有絕對幫助

: 或是這些課程,是目前就業市場不可或缺的呢? 畢竟這套課程20萬...
: https://goo.gl/YBcXVW
: 謝謝。
小的不才,目前也還是做系統的小小菜鳥,
但天天跟三間公司提供的DB solution(M$、甲骨文、天睿)為伍
算小有經驗吧。
看到原PO的說明,覺得很多觀念都怪怪的。
用個人見解來把觀念先洗一下
如果有錯請不要鞭太大力
關於DBA類的見解:
1. 如果是為了想不用寫程式又能提升薪水才走DBA這條路,我只能說錯,簡直在做夢啊。
在台灣中小型企業的老闆大多都請不起DBA,幾乎都是由工程師兼DBA,原因是應用系統架
構較簡單、資料庫存放&處理的資料量少,資料庫須即時反應的狀況也不高,就算data mo
del設計得再爛也不會有什麼問題,另個原因就是可以節省人力囉。
但有點規模的公司系統架構本身就很複雜,有些資料庫須即時反應(ex:電商網站)、有些
則是分析用(ex:數據建模)。
每天光收集資料&處理資料,再加上資料分析,都是幾億筆在跑。
如果沒有專業的DBA調校DB參數&維護,系統早掛了~
對大公司來說,資料是公司重要資產,老闆一定請有經驗的DBA,絕不會請一位XX電腦補
習班出來的菜鳥。
萬一下錯指令砍了整個DB 歷年來的資料不就欲哭無淚?!
2. 管理資料庫的DBA雖然不用寫程式,除了基本的資料庫建置以外,還須管理權限、調整
資料庫效能參數、維護&備援、協助應用系統端調SQL執行效能...等。
3. 資料庫一定會建置在OS層上,但難道你以為資料庫都一定架構在windows上,所以安裝
資料庫就是一直按下一步就好了嗎?
很多資料庫的底層是linux,難道DBA都不需要會指令就能建資料庫了嗎?
4. 現在市場上DB solution 很多,除了基本的功能外,各家DB 的設計、特殊function的
使用...等,每家solution都不太相同。而且DB會一直推出新版本,每release一個版,有
些功能、特殊function可能都會改變。
因為做系統的工程師不太會知道這些,在遇到DB需要升版時也是必須靠DBA輔導工程師去
調整程式的。
關於應用系統工程師的見解:
1. 做系統開發的工程師,除了要寫程式外,還必須了解domain know how,不了解就無法
準確設計data model。
說到這一定有人要批判設計data model是SA、SD的事,但台灣很多公司為了精簡人力,做
開發工程師也是兼作SA、SD,所以沒有好的data model,長久下來系統一定會有毛病(ex:
資料量大處理效能變差)。
2. 要用程式把資料存到資料庫,基本sql的使用、sql explain、stored procedure…等
也要會用吧,不要跟我說寫程式是工程師的事,但就是跟資料庫有相關,無論是DBA還是
工程師都是要會。
說了那麼多,那股熱情應該會先消5成吧。
瞥了一下巨匠課程表,那個課程只是複習基礎觀念&輔導你去考證照而已。
我記憶中考證照就是題庫背完就去考了,有一些還有考上機,但一定也會有題庫,會背書
、多練個幾次就會過了。
而且上課內容也包含開發,開發的意思就是要寫程式喔XD ,聽到寫程式應該就沒熱情了
吧。
而且考到證照跟實際工作其實是有很大的落差der~
真的不用花錢去上課,如果有興趣去書局翻翻“資料庫系統理論與實務”這種書,確定念
的下去在繼續深入,不然只會白花冤枉錢。
(原PO大大,錢難賺,不能這樣亂花啊)
話說工作這幾年,因為有跟幾位DBA合作過,DBA的能力在哪種程度,在有障礙的時候最能
看得出來。
資深的DBA可以帶你上天堂,通常他們都是有深厚的程式底子,能在DB有狀況的時候快速
抓到問題點、排除障礙。
菜鳥的DBA必定會害你下地獄,當狀況發生時是沒有能力找到問題&處理問題,他會比你還
要慌張XD。
總結一下,
其實文組不是不能轉行做工程師,
我也不是愛戰文組。
(我也算文組轉行工程師)
因為太多念文組的人,
總是有先入為主的觀念,
覺得工程師寫程式很容易啊,
寫個兩行就可以生出一套系統。
拜託~我每次聽到文組的朋友這樣說
白眼都不知道翻了幾圈
看完這篇文後,以後請不要再說這種話。
程式語言只是開發系統的工具,
就像英文是跟外國人溝通的工具,
一套系統難在設計架構、流程,
這兩件事沒做好,系統就很難再擴充,
打掉重練是常有的事。
所以不是你隨便喊一句我會用XX語言寫程式,就有本事弄出一套系統來的。
作者: john0312 (Chen John L)   2018-09-10 03:02:00
我覺得可以
作者: dnabossking (少狂)   2018-09-10 03:21:00
可是其實他們根本連語言都沒學會
作者: s29940 (阿賜)   2018-09-10 04:54:00
drop table ~~G_G
作者: littlethe (東周流浪漢)   2018-09-10 08:07:00
你講得非常棒,我真的曾經下delete時忘了加where
作者: alex9999 (.....)   2018-09-10 08:43:00
樓上握手,我曾經遇過隊友下update沒加where而且還commit
作者: elements (Helianthus annuns)   2018-09-10 09:23:00
不是說沒機會認識 怎麼有辦法評價?推錯 @@
作者: milklovecatg (奶貓貓G)   2018-09-10 09:46:00
大大我愛你!!!
作者: oread168 (大地的精靈R)   2018-09-10 15:03:00
恩師都跟我說 刪之前最好先select where大概看一下對不對 對了再刪 頂多就少刪很少刪到不該刪的- -
作者: hk91c16 (死兔子)   2018-09-10 16:00:00
10 樓的大大有養成好習慣,這樣的確可以避免很多操作失誤,雖然會比較麻煩點,但sql下的很安心XDD
作者: fayhong (恰似飛鴻踏雪泥)   2018-09-10 17:53:00
你真的是好人,竟然認真回這篇!
作者: iFEELing (ing)   2018-09-11 00:51:00
最近半年真的每個月都在倒資料 一堆PG下SQL都不看的還有直接把工具產生的 drop re-create 直接丟下去跑的..然後打電話來抱怨為什麼資料都不見了程式跑不起來...
作者: mirage7714 (C'est mon soeur.)   2018-09-11 10:15:00
你真是個好人
作者: littlethe (東周流浪漢)   2018-09-11 14:10:00
所以pg不該下sql,要用sp控制
作者: viper9709 (阿達)   2018-09-11 22:39:00
推這篇~此篇正解
作者: forewero (木日一)   2018-09-12 07:33:00
推2、4樓,我也遇過xDD 然後update跟我說為啥都全變了XD

Links booklink

Contact Us: admin [ a t ] ucptt.com