我一直在尝试了解数据库系统的工作方式。通过互联网挖掘,我得到了以下图片。
- 需要数据库系统是因为我们需要一种方法来存储数据,主要是大规模的,以便我们可以轻松地对其进行更新、查询、删除、操作以及执行其他操作。传统的文件系统不是为此而设计的,无法达到目的。
- 我们可以通过不同的方式实现上述数据库系统,从而导致不同的数据模型,RDBMS 是最主要的一种。
- 有一个数据库管理系统,它是一个软件,有点像文件管理系统,它管理数据的创建、删除、插入等请求。SQLite。
- 我们使用数据库管理系统提供的接口和与数据库管理系统兼容的语言与数据库进行交互。例如。SQL。
我希望我到目前为止的理解是正确的。
现在,数据库管理系统与数据库交互,我无法理解究竟是什么数据库。我以前认为所有表的集合称为数据库,只是一个名称。但后来我发现有几个可能的数据库,并且可以像文件一样使用 DBMS 创建数据库。进一步的研究表明我数据库是一个文件。
我的疑问如下:
- 如果数据库是一个文件,它与普通文件有什么不同(在实现方面)?
- 我相信表格也是文件。但是表存储在数据库中。一个文件怎么能在一个文件中,并且两者都可以被认为是分开的。
- 不同数据模型的实现,例如将数据存储在 rdbms 中的关系,将数据存储在基于 OOP 的数据库系统中的对象,它们是在数据库管理系统还是数据库中实现的?
如果数据库不是一个文件,它究竟是什么?表、数据库和数据库管理系统在实现方面是如何相关的?
我试图找到这些问题的答案,但似乎这些内容并不多,而且我没有运气。另外,请解释它避免非常复杂的代码片段,因为我是一个分析