大家在学习软件知识的时候,基本都对编程感兴趣,往往会忽略数据库的学习。其实在实际应用中,数据库才是最不可或缺的知识体系。
为什么这样说呢?
因为稍大一些的软件,只要管理的数据多一些、复杂一些,就一定需要对这些大量的数据进行有效地处理,比如修改、新增加、删除、查找。这四个基本的对数据处理方式用到一切数据管理方面。
比如一个稍大型的在线游戏,有众多不同的玩家,玩家有技能、物品、交战记录、自身等级等等数据,一个玩家的有效数据能达到上百种、上千种,成千上万的玩家的数据信息就多的数不过来了。这些数据的管理必须用到数据技术。
再比如,一个政府管理系统、企业管理系统、物流系统,想都想得到,会有多么多的数据要处理,没有数据库技术就根本无法管理。
再通俗说一下,只要数据量足够大,就必须用到数据库管理技术,这是必须的,无可争议的。
回想,我做软件开发二十年,几乎每个软件都涉及到数据库的管理。
而在计算机软件体系中,数据库也是占有很大比例的,如果没学习过数据库,就别提你学过软件开发。
目前来讲,数据库分两大类,一类是关系型数据库,一类是非关系型数据库。以后还会有怎么样的发展,不知道。
所谓关系型数据库,我不用专业术语讲这个概念,我形像地讲一下,我们肯定画过程表格,填写过表格,那些招聘的、履历的、自我介绍的、学习成绩、工作绩效、工资表等等,太多了。office软件专门有个excel表格系统,大家可以看到,表格上的数据类型都是些基本的数据类型,比如字符、数字等,每个表格数据都非常规整,而且不同的表格之间可能有一定的联系。比如你选修的课程表,和你的学习成绩表,肯定就有联系。
这些数据就是关系型数据,他们组成的数据库就是关系型数据库,管理这些关系型数据库的系统就是关系统型数据库管理系统。
我们学习关系型数据库,一是要学习这些管理工具的用法,有效地对数据进行增删改查的操作,二是要学习如何从不同的数据表中找出关系,或者如何创建不同的数据表,能够表明整个系统的数据关系。这是我们学习关系型数据库的核心。
除了关系型数据库,另一种就是非关系型数据库。因为人们现在还没有从非关系型数据中找出更多的规律,因此,对这些数据的管理统称非关系型数据库的管理。
无论中关系型数据库和非关系型数据库都有相应的管理软件。
学习软件开发生,一定要学习数据库。
学习数据库一定要先学习关系型数据库,因为关系型数据库是基础,应用也非常广泛。
而学习关系型数据库一定要学习数据库的管理工具。
目前有三种关系型数据库操作系统是我们必须要了解和学习的,一是SQLServer数据库管理系统,是微软公司出品的。二是Oracle数据库管理系统,是甲骨文公司出品的。三是MySQL数据库管理系统,是一种开放源代码的关系型数据库管理系统,是免费的。SQLServer和Oracle数据库是要花钱的。其他的还是IBM公司的DB2等等,不常用。
学习关系型数据库,只要掌握了sql语言,就掌握了这几种常用数据库的70%内容了,sql语言是通用的,不难学。在整个数据库系统当中,难的是创建合理的数据表,这属于数据设计范畴了。
而对于非关系型,也叫做NoSQL数据库,比较主流的有redis,HBase,MongoDb,memcache等产品,通常都采用开源的方式,不需要像关系型数据库那样,需要一笔高昂的花费。这些数据库的学习往往伴随着大数据、云计算的学习,不属于初学者必会内容。
对于对数据库的初学者,先了解这些内容就可以了,如果有兴趣,可以进一步地学习,有任何问题都可以和于老师探讨,也可以在下面留言。