通俗讲解关系型数据库·RDBMS

常见的数据库

Access,桌面数据库,只适合少量数据时使用。
这是微软Office软件的一部分,我们安装Office的时候,都会带这个数据库。
这个数据库方便易用,一般电脑上都会安装。如果你用这个数据库,在一般电脑上都能打开。

《通俗讲解关系型数据库·RDBMS》

虽说这个数据库只适合少量数据时使用,而且亲身体会这个数据库容易膨胀、容易崩溃,但是真的有大银行用这个数据库办公,他们说每天会对数据库进行维护。

SQL Server,也是微软的数据库,和Access不同的是,它基于服务器端,是一种中型数据库。微软的东西嘛,简单易学、上手快,很多很多学校教数据库都用它。

《通俗讲解关系型数据库·RDBMS》

MySql,开源的数据库,不要钱,可以在它的基础之上扩展和修改。很多小企业、互联网企业喜欢它。MySQL占用系统资源较少,速度较快。

《通俗讲解关系型数据库·RDBMS》

Oracle,也叫“甲骨文”,是一种大型数据库,很稳定、很安全,但是价格也比较贵,不过非商业使用是免费的,也就是说学习Oracle数据库不要钱。

《通俗讲解关系型数据库·RDBMS》

关系型数据库

我们之间介绍的数据库,都是“基于关系模型的数据库系统(RDBMS)”,简称关系型数据库,R是Relational的缩写。

关系型数据库,就是把数据放入表格中,这些表格可以相互关联。

它的理论提出于1970年,提出者叫做埃德拉·科德(Edgar Codd),1981年因为在数据库领域的贡献,获得图灵奖。

《通俗讲解关系型数据库·RDBMS》
埃德拉·科德

1970年,科德在期刊上发表了一篇论文——《A Relational Model of Data for Large Shared Data Banks(大型共享数据库的关系模型)》,首次提出关系模型,关系模型简单明了、具有坚实的数学理论基础。

另外,Codd的人生也非常励志——他年近40岁进入密歇根大学进修计算机与通信,40岁拿下硕士学位,42岁拿下博士学位。所以,年龄不是学习的借口。

在关系模型提出之前,数据库领域比较受到认可的有“层次模型”和“网状模型”,这两种早期的数据库模型难以实现复杂的查询,也不能支持太大的数据量,而且开发和维护都非常复杂,工作人员需要经过长时间的培训才能上岗。

科德发表的那篇论文,虽然影响深远,但是当时并没有引起足够的重视,甚至自己所在的公司IBM也不重视,当时的IBM在开发基于层次模型的数据库,最早重视关系型数据库的企业是现在的Oracle(甲骨文)公司,也是目前最大的数据库公司——IBM对关系型数据库的态度,正是:看不见、看不起、看不懂、跟不上。

《通俗讲解关系型数据库·RDBMS》

基于关系模型的数据库,有坚实的数学理论基础、概念清晰、可以实现非常复杂的查询逻辑,同时开发难度也低了很多(就是做表格嘛),这都是其他数据库无法比拟的,也是关系型数据库数十年屹立不倒熬死一代又一代技术的资本。

SQL

我们前面讲到的MySQL、SQL Server,都带一个SQL,这个SQL是Structured Query Language的缩写,中文叫“结构化查询语言”,是一种用于数据库操作的编程语言,名字里带了个查询(Query),但作用并不限于查询,就像我们说吃饭,其实也要吃菜一样。
SQL语句主要对数据库中的数据进行增删改查,还能做一些其他的管理工作。

SQL于1974年,由道·钱伯伦(Don Chamberlin)提出。

《通俗讲解关系型数据库·RDBMS》
道·钱伯伦

时间往回倒一年,1973年,IBM公司开始研发基于RDBMS,启动了一个项目,叫System R,钱伯伦被调入该项目组。在研发的过程中,老钱发现关系型数据库不好用——太过数学化,对人类不甚友好,于是开始研究用比较接近自然语言的语句来操作数据库,这就诞生了SQL——简介、直观、容易学习。

1986年,美国国家标准学会(ANSI)将SQL采纳为关系数据库管理系统的标准语言,后被国际标准化组织(ISO)采纳为国际标准,使用至今。

SQL的几个标准:

SQL-86

SQL-89

SQL-92

SQL-99

NoSQL

后来,IT江湖上出现了NoSQL的概念,提倡使用非关系型数据库,比如什么“文档型数据库”、“图形数据库”、“列数据库”、“键值数据库”。

《通俗讲解关系型数据库·RDBMS》

这个NoSQL有标题党之嫌,它实际上指的是Not Only SQL——不仅仅是SQL,并没有替代SQL,甚至还要兼容SQL的语法。

《通俗讲解关系型数据库·RDBMS》

NoSQL数据库:

<1>NoSQL数据库的特点是:

– 非结构化的存储。

– 基于多维关系模型。

– 具有特有的使用场景。

<2>优点:

– 高并发,大数据下读写能力较强。

– 基本支持分布式,易于扩展,可伸缩。

– 简单,弱结构化存储。

<3>缺点:

– 关联查询等复杂操作能力较弱。

– 事务支持较弱。

– 通用性差。

    原文作者:虎老狮
    原文地址: https://zhuanlan.zhihu.com/p/61627651
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞