数据库和数据结构有什么区别?

17

我们进行的主要操作是数据结构中的插入、删除和搜索,这些操作也可以使用数据库查询来完成。那么,数据结构的用途是什么?

它与数据库相比有何独特之处?


你认为数据库是如何实现的? - Falmarri
另一个重要的操作是更新或修改。常用的缩写是CRUD(创建,读取,更新,删除); 你也可以把它想象成ISUD(插入,选择,更新和删除)。 - B. Clay Shannon-B. Crow Raven
1
我知道数据库是使用各种数据结构实现的,但我的问题是,我们需要外部数据结构吗?我承认像栈、队列这样的数据结构在编程方面很有用,但在树、列表等情况下,它们会在数据库中执行CRUD操作。 - Jegan Babu
8个回答

7

数据结构展示了问题中的对象如何被建模和组织。

  • 例如,你的购物物品被线性地组织成一个数组;
  • 你公司的组织架构被建模成一棵树;
  • Facebook的连接被组织成一个巨大的图形。

数据结构解决的问题是如何逻辑地对现实世界中的对象进行建模,以便我们可以通过计算方式解决问题。

数据库是关于信息如何持久化的。如果需要,数据结构中的数据可以被持久化到数据库中,也可能不需要。


3
起初这似乎是一个非常愚蠢的问题,但实际上并不是。答案可能会颠覆你的世界(也可能不会)。所以让我们分而治之地回答这个问题。 数据结构 简单来说,
“数据结构是一种专门的格式,用于组织和存储数据。任何数据结构都旨在根据特定目的组织数据,以便根据需要使用,通常存储在RAM中。”
- 维基百科 数据库 “数据库是一个有组织的数据集合。它是存储在硬盘上的数据库对象的集合。”
- 维基百科 误解 说实话,将数据结构这个术语应用于驻留在Ram(又称主存储器)中的结构是一个误解,完全不正确。是的,通常数据结构存在于Ram中,但它们也可以存在于Hard Disk(又称二级存储器)中。不要再这么歧视了! 相似性和差异 数据库本质上只是存储在硬盘上的数据库对象的集合。数据库管理系统使用数据库来满足自己的目的。为了让自己完全清楚,此处的数据库对象指的是模式、表、视图、索引、用户等等。有很多数据库对象。每个对象都可以使用一个或多个数据结构来实现。
例如,Btree/Btree+索引是使用Btree数据结构实现的。基于散列的索引显然将使用哈希表来将键解析为地址。可以说,数据库是不同数据结构的集合。这些类型可以根据技术和操作系统而有所不同。

1

数据库是一组表格(可能还包括存储过程、函数、视图等)的集合。

但是,现在我们先保持简单。每个表格都有一个表结构,定义了可以放置什么内容。对于 No-SQL 数据库来说,情况有所不同,因为它们更加灵活。但是,现在我们还是保持简单。

数据库可以被命名为任何名称,比如“鸭嘴兽”。它可以包含许多表格,例如“野生鸭嘴兽”和“圈养鸭嘴兽”等。

其中一个表格可能具有以下结构:

Name            Data Type
-------------------------
ID              int
Name            VarChar
Weight          Float
PoisonToeLength Float

0

数据结构是计算机中的内存,而数据库则是存储。数据结构是易失性内存,而数据库则是非易失性内存。


0

在我看来,数据库是一个术语,用于指代一组记录,这些记录可以是任何东西,例如库存数据、用户数据等。现在,我们如何将其存储在计算机上是另一个技术问题。根据用例,我可以使用链表、数组、树、图等来存储我的记录。因此,数据结构是给这些结构体的一个技术术语。简而言之,数据库更多地是商业术语或民间传说术语,而数据结构是一个技术术语,用于指代记录的集合。


0

数据库数据结构的主要区别在于,数据库是一组存储在永久内存中并进行管理的数据,而数据结构是一种在临时内存中高效存储和排列数据的方式。 总体而言,数据是原始且未经加工的事实。


目前你的回答不够清晰,请编辑并添加更多细节,以帮助其他人理解它如何回答问题。你可以在帮助中心找到有关如何撰写好答案的更多信息。 - Community

0

数据结构是您的数据组织方式的逻辑表示。而数据库是一种中间件,可帮助您将数据存储到文件系统中。

假设您在一家社交网络公司工作。直观地说,社交网络是一个图形(数据结构)。您可以在此应用图形算法来解决实际问题。同时,这个图形中的数据必须被持久化存储在某个地方,以便您可以读取/写入它们。与其编写代码将它们保存到文件中,图形数据库可以帮助您完成这项任务。

一个是逻辑的,另一个是中间件(与物理紧密相关)。


0

数据库是存储数据的概念视图,就像将Excel表格、CSV文件存储在数据集中,这些数据集以永久性方式存储数据,而数据结构是将数据存储到内存中的逻辑表示,例如数组、图等以临时性方式存储数据。

数据结构是实现数据库或数据存储的基本要求。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接