数据库中目录的用法是什么?如果我们的数据库没有目录会怎么样?

问题描述 投票:1回答:1

所以我知道目录是包含有关数据库和表等信息的地方,但我不明白这是什么用途?就好像我们的数据库没有目录那么会发生什么?

还有另外两个关于目录的问题:

1.does Catalog会提高查询速度吗?

2.它与数据独立性有什么关系?

database database-schema catalog
1个回答
0
投票

目录确实存储了数据库的所有数据,例如每个文件的结构,每个数据项的类型和存储格式以及对数据的各种约束。所有这些数据都称为元数据。

大多数数据库系统都需要该目录,因为系统引用目录来检索数据库的结构并解释用户的查询。

特定系统不需要元数据,它们被称为NOSQL系统。此类系统中的数据存储为自描述数据,其中包括一个结构中的数据项名称和数据值。

Additional questions

  1. 整个数据库系统始终引用目录,如下图所示。例如,当用户输入查询时,首先编译该查询,然后转到查询优化器。查询优化器关注重新排列和可能的操作重新排序,消除冗余以及在执行期间使用有效的搜索算法。这种优化的查询比移动到执行查询的运行时数据库处理器并在执行此操作时使用目录。它还可以将统计数据等数据存储到目录中,并且在本问题范围之外还可以执行许多其他操作。通常,您确实可以说使用目录可以提高查询的速度(至少在包含大量数据的大型数据库中)。

Component modules of a DBMS and their storage interactions

  1. 目录本身与数据独立性本身的概念无关。但是,在使用多级数据库管理系统时,目录还必须存储有关如何在各个级别之间映射请求和数据的信息。例如(在如下图所示的三模式体系结构中),如果用户在特定视图上使用它并为该视图写入查询,则必须将查询映射到整个概念模式的新查询,该查询在必须映射转向以与内部模式一起使用并检索存储的数据。

Three-schema architecture

我希望这有帮助!

(图片来自this blogpost,总结了很多关于这个主题的有用信息)

© www.soinside.com 2019 - 2024. All rights reserved.