什么是数据库,为什么我们需要一个数据库?
更好的是,为什么公司继续创建新数据库,因为我们已经有300多个?
如果您对这些问题感到好奇,那么您来了。
我们将剥离所有精美的术语和技术细节,并专注于通过简单的类比理解数据库的基本概念。
我们如何理解这个词?
只要人类存在于这个星球上,我们就试图理解它。
正如穴居人在墙上绘制符号一样,我们在纸上绘制符号……或更准确...我们将表情符号键入智能手机。
无论我们如何做,它总是以某种形式存储和共享信息。
从本质上讲,数据库可以做的,存储和共享信息。
这些年来,我们在存储和共享信息方面变得更好,从洞穴墙到印刷机以及介于两者之间的许多东西。
但是,计算机到达时发生了根本性的变化。我们从存储和共享信息过渡到数字化的存储和共享信息。
从笔和纸到数字纸
我们现在可以访问数字纸:
,而不是仅使用纸张存储和共享信息。我们无法与这个数字世界互动。相反,我们不得不告诉计算机如何代表我们进行互动。这需要新的心理模型和新语言。
最基本的心理模型是Crud,a term coined in 1983,它代表创建,阅读,更新和删除。
这些是我们与任何地方的数据互动的四种基本方法。
简单地说:
- 创建=制作数据 /让我们在纸上写一首诗。< / li>
- 读取=检索数据 /查找您写的纸张并阅读这首诗。< / li>
- 更新=更改数据 /让我们在诗中更改几行。< / li>
- delete =删除数据 /这首诗不好,让我们把纸张扔到垃圾箱中< / li>
虽然数据库将其起源追溯到1960年代的Integrated Data Store (IDS),但众所周知,数据库已于1970年代开始。
在1970年6月,可以说埃德加·科德(Edgar F. Codd)用他的题为A Relational Model of Data for Large Shared Data Banks的论文在宇宙中陷入困境。
该论文引起了我们今天仍在关系数据库中使用的大多数概念,我们将很快探索。
他论文中最值得注意的是如何将这些天才的想法付诸实践,因为大多数人(包括我自己)不是设定理论天才。
直到几年后,唐纳德·D·张伯林(Donald D.一种用于实际利用关系模型思想的新语言。他们称其为结构化的英语查询语言或SEQUEL简称。
天才研究人员显然也可能有些琐碎,其中一部分被称为续集的原因是取笑其他制作QUEL语言的研究人员。如在中,续集是Quel的续集。好吧...我想奎尔(Quel)笑了最后一个笑声,因为由于商标侵权,他们必须将名称更改为SQL(结构化查询语言)。
直到1979年,当Relational Software, Inc. (now Oracle)在关系数据库中引入了SQL的第一个市售实现。
将我们带到我们今天要涵盖的其他基本模型
- 关系模型 - >关系数据库
- 文档模型 - >文档数据库
- 图形模型 - >图形数据库
- 多模型 - > sursealdb
关系数据库 - 就像拼图游戏
我们已经涉及关系模型的起源。但是,我们尚未探索它是什么。
用最简单的术语,关系数据库就像一个拼图拼图,每个拼图都代表一个类似Excel的表。
关系模型的关键创新之一是您如何将每个拼图连接(或加入)在一起。
使用关系数据库的基本工作流量如下:
- 计划拼图的外观,使它们适合(定义模式)
- 创建拼图零件(插入语句)
- 组装拼图零件(选择查询)
- 那么,您可以看到拼图的完整图片(结果集)
就像拼图拼图一样,对于您想看的每张图片,您可能需要组装许多不同的拼图。
文档模型 - 像Word文档
现在,我们从1990年代以来一直提出的问题,并将询问很长时间。
当我们拥有关系数据库模型时,为什么我们需要其他数据库模型?
这是因为互联网刚刚开始并在当时变得流行。
由于没有考虑到Internet的关系数据库(因为当时不存在互联网),因此它们变得非常慢。您可以想象试图组织1000或更多的人想组装相同难题的混乱。
因此,互联网产生了其他模型,例如文档模型。
用最简单的话来说,文档数据库就像一个文档,在其中您确保文档在一个地方具有所有相关信息,类似于此博客文章。
认为,为需要它的1000个人而不是制作1000个拼图,每个人都有许多形状奇特的拼图。
更容易制作1000个文档的副本。这也引起了NoSQL in 1998 by Carlo Strozzi一词,有趣的是,他用它来描述一个不使用SQL的关系数据库。正如我们之前提到的,在关系模型的历史中,SQL是在很久以后作为实施关系模型的一种方式,但是完全有可能找到其他方法来实施关系模型,而不是使用标准SQL。
。但是,最初含义“ no sql”的nosql(如本数据库中不使用SQL)最常用于参考不使用关系模型的数据库。
。例如,一个流行的文档数据库MongoDB,该数据库于2009年发布,使用MongoDB查询语言(MQL)。
但是,随着关系数据库开始采用互联网技术并解决了如何组织一个想在同一难题上工作的人的问题,人们开始想在越来越多的地方使用SQL。
这就是为什么NOSQL一词将含义更改为“不仅SQL”的原因,甚至是诸如MongoDB started adding support for SQL的流行数据库。
使用文档数据库的基本工作流量如下:
- 就像在Word文档中一样,您只需打开一个新文档,然后开始写入所需的所有信息。
- 那么任何人都可以阅读该文档以获取信息。
当您没有时间或渴望在每次想要答案时创造和解决难题的渴望时,它的效果很好。
但是,这种明显的简单性带来了其他缺点。除了说哪个组织没有问题组织Word文档,我们不会在这里谈论那么多? exigits_document_v5_final_final.docx seem familiar?
图形模型 - 像您的社交网络
当我们寻找与这个数字世界互动的新方法时,尤其是随着电子商务和社交媒体的出现,我们发现在Word文档(文档模型)中将复杂的网络表示为文本可能非常棘手或拼图难题(关系模型)。
因此,需要一个新的心理模型来更简单地表达复杂的网络。在这个新的图模型中,我们认为关系与关系模型中的关系略有不同。
用最简单的话来说,图形数据库就像您的社交网络,当您寻求帮助时,您可能认识一个认识一个可以帮助您的人。
使用图数据库的基本工作流量如下:
- 您绘制了谁知道它们的连接以及如何连接的地图
- 然后,您在网络周围询问您想要的东西,直到找到它。
多模型 - SurreAldB
如果您阅读了这么远,您可能会开始理解为什么公司继续创建新数据库。随着世界的不断发展,数据库也需要不断发展。新技术使我们能够利用存储和共享信息的新方法。
问题是,数据库应该如何发展?
该答案通常分为三类:
- 让我们改善关系模型。我们需要制作拼图碎片的形状多么奇怪。我们可以强迫他们使用一些巧妙的技巧。
- 让我们为所拥有的每个不同的任务创建一个新的模型或新数据库。如果您可以选择,您是否会选择为您量身定制的衣服而不是零售商店的衣服,这可能很尴尬?
- 如果我们可以做到这两个怎么办?如果我们可以结合不同的创新方法来创建一个数据库,该数据库都感觉到在其模型灵活性中量身定制但保留了我们从关系模型中获得的简单性?
第三种选择是我们在SurreAldB所选择的,因为我们是dreaming of something better。
SurreAldB结合了许多不同类型的数据库模型的各个方面,包括我们在帖子中谈到的主要模型。对于出色的技术介绍,您可以watch this short video。
用最简单的话来说,SurseAldB就像WD-40一样,使用SurreAldB来解决需要润滑以使事情变得更加顺利进行的问题。但是,当然,如果您希望事情从一开始就顺利进行,也可以将其用作预防措施。
这只是开始
我们在帖子中介绍了许多想法和概念。如果您想了解更多有关技术方面的信息以及如何在所有这些模型中实际做CRUD和SurreAldB,请订阅,以免错过我们的下一篇文章。