一、数据库怎么学习
新手学习数据库务必把握的知识要点:
数据库的安装下载:了解数据库的环境变量,文件目录构造。
数据库网络服务器的启动,登陆与登出。
数据库常用命令及语法标准。
数据库基本数据类型与数据表的实际操作。比如,数据表的增删、单表查寻、多表查询等。
数据库运算符和函数,比如,日期函数,时间函数,信息函数,聚合函数,数据加密涵数,自定义函数等。
数据库存储过程,存储过程的调度。
数据库每个存储引擎的特性。
数据库事务管理的定义和应用等。
数据库管理权限和用户管理等。
上述知识了解之后,就需要学习一下数据库的常见的函数,再以后便是要学习,存储过程,函数,触发器原理,事务管理。学完之后,基础数据库方面就没什么难题了,要是不做高級的科学研究,这些专业知识就够了。要想学精数据库,就需要多练习,试着自己建立一个含有逻辑性的合乎第三范式之上的数据库,随后写SQL、触发器原理、存储过程、view视图等。最重要的便是,把它们中间的逻辑弄清楚。
数据库理论知识是学好数据库的基础,虽然理论知识会有点枯燥,但是这是学好数据库的前提。如果没有理论基础,学习的东西就不扎实。例如,数据库理论中会讲解E-R图、数据库设计原则等知识,如果不了解这些知识,就很难独立设计一个很好的数据库及表。可以将理论和实例结合在一起来学习,这样效率会更高。
二、如何成为数据库工程师
数据库工程师一般分为开发和管理两种。
1、数据库开发
一般人刚接触数据库基本都是数据库开发,就是写SQL代码,做报表。按照一定的语法完成某项逻辑任务。这阶段就是按需求查询出数据即可,不出逻辑错误就行了。
一般这样的工作一些小公司都会直接让软件开发工程师兼岗,只有那种数据需求量比较频繁的公司才会单独设立这种比较初级的数据统计岗位。
抑或是给一些银行,电信,电力等这种大型的企业做服务外包,这些企业在目前还是很需要这类数据库开发类人才的,特别是刚毕业的大学实习生。
随着你的技术知识的积累,接触的开发任务会越来越多,越来越复杂。这时候你接触到的技术会越来越多,从数据采集,到数据加工处理,再到数据分发等等都会涉及到。
2、数据库管理
数据库管理就是我们常说的DBA,主要是从事的数据库管理工作,包括数据的备份,恢复,故障处理,语句优化,性能监控等,对操作系统和数据库的原理要比较了解。
这个岗位对自身的技术能力要求比较高,所以刚入行的除非在这一方面有比较高的造诣和研究,一般的公司是不会招新人从事这份工作的。
一般是数据库开发或者软件开发的转行做DBA,他们使用的数据库比较多,经过日积月累对数据库性能和故障处理有一定的了解。当然也有其他职务转做DBA的,不变的是他们都和数据库打交道比较久。
3、薪酬对比
在职务薪酬这一块,DBA的薪酬一般是高于数据库开发的,经验丰富的DBA一般人只能望其项背,当然也有从删库到跑路的DBA。重要的还是对一些技术原理的掌握和对故障的精准判断,这些都是靠时间积累的。就像一个老中医一样,功力越深越吃香。
4、流行度
目前在国内DBA一般是Oracle和Mysql较多,SQL Server的DBA也有,只是相对前两个比较少,这与数据库所占份额及流行度有关。Oracle和Mysql在Windows和Linux环境都可以很好的兼容,SQL Server在2017年之前都一直只支持自家的Windows操作系统,之后才开始兼容Linux。
5、新手选择
新手同学在入数据这一行的启蒙数据库大多数都是SQL Server(原因应该是大学的教程是以SQL Server为平台),主要是它可视化界面比Oracle和Mysql友好。
但是真正的大神还是比较喜欢命令界面,毕竟命令界面的响应速度快的不是一点点,而且命令界面也有助于更好的记住数据库的相关命令。
6、学习建议
如果你想快速上手数据库的唯一途径就是理论加实践,多看书,多操作。那些标榜一个月从入门到精通的培训或教程实在不敢苟同,真正能让人成长起来的还是工作后每天成堆的数据需求,迫使不断努力进步。当然这里不是否定培训价值,他们是引导我们打好基础的有效途径,其他的完全靠自己。因为有些问题只有在工作中遇到了才知道怎么处理,纸上谈兵是解决不了问题的。
此外还是得有不耻下问的精神和勇气,即使老师想把所有知识都传授给你,但是他不知道你哪里不懂,那他只能按照自己的章法去传授,这样的结果就是他的任务完成了,至于你懂了没他并不知道。
数据库打好基础真的不难,只要肯花时间去练。短时间就可以掌握这些基础知识。再加上实践,经过时间的锤炼,总会在某一方面有自己的建树。