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