数据结构和数据库

时间:2014-08-06 08:49:38

标签: database data-structures

我最近完成了课程算法第一部分,因此学到了很多用于以适当方式存储数据的数据结构。

我意识到今天我们使用数据库而不是编写数据结构来维护数据。我们无法更改数据库使用的这些数据结构(或者我们可以)。因此,当我们选择永久存储时,我们总是会使用数据库(不会达到性能),还是他们两种方式组合使用?

2 个答案:

答案 0 :(得分:2)

数据库本身可理解地设计为在所有可能的条件下有效执行。这些数据库仅用于存储紧凑和庞大的数据。如果一个人有更简单,更少和最小的需求来存储和保存像小程序那样的数据,那么这些较小的数据结构可以在平面文件系统上轻松工作。

另外,我觉得你正在尝试比较利用数据结构的平面文件存储,并且在数据库的情况下,用户可以直接看到它们,你不能说他们实现的数据结构要保存该文件并执行数据操作操作,因为它们对用户不可见!

但是,数据库本身会执行散列,索引和其他数据结构来实现其数据存储技术。根据内部数据结构对它们进行有效编码,我们通常不会从前视图中找到外部数据结构。但是,他们在相同的技术上实施他们的数据库!

答案 1 :(得分:1)

您学习的数据结构(我猜),如List,Maps,Trees等,是现代Relational数据库的核心概念。

例如:

  1. B-tree用于许多数据库。 B+-tree用于许多众所周知的数据库以及NTFS等常见文件系统。
  2. SQLite uses B+ tree
  3. SQL Server uses heap or B-tree
  4. 大多数数据库使用这些数据结构的组合,有时实现自定义版本。这些都针对高性能进行了优化。

    对于永久存储,您可以使用文件系统手动实现您选择的任何数据结构,但这就像重新发明轮子一样