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

时间:2018-03-04 12:14:01

标签: database database-schema catalog

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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

其他问题

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

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

      我希望这有帮助!

      (来自this blogpost的图片,总结了有关此主题的大量有用信息)