我曾经认为架构是数据库本身之前的“上包装”对象。我是说DB.schema.<what_ever_object_name_under_schema>。好了,目录“包装器”现在很混乱。为什么我们需要目录?出于什么目的,究竟应该使用目录?
3 回答
波斯汪
TA贡献1811条经验 获得超4个赞
从关系的角度来看:
除其他事项外,目录是保存所有各种模式(外部,概念,内部)和所有对应映射(外部/概念,概念/内部)的地方。
换句话说,目录包含有关系统本身感兴趣的各种对象的详细信息(有时称为描述符信息或元数据)。
例如,优化器使用有关索引和其他物理存储结构的目录信息以及许多其他信息来帮助它决定如何实现用户请求。同样,安全子系统首先使用有关用户和安全约束的目录信息来批准或拒绝此类请求。
数据库系统简介,第7版,CJ Date,第69-70页。
从SQL标准的角度来看:
目录是在SQL环境中命名为架构的集合。SQL环境包含零个或多个目录。目录包含一个或多个模式,但始终包含一个名为INFORMATION_SCHEMA的模式,该模式包含信息模式的视图和域。
数据库语言SQL,(DIS 9075的建议修订文本),第45页
从SQL的角度来看:
目录通常是数据库的同义词。在大多数SQL dbms中,如果查询information_schema视图,则会发现“ table_catalog”列中的值映射到数据库的名称。
如果您发现使用目录的平台比这三个定义中的任何一个都更广泛,则它可能是指比数据库更广泛的东西-数据库集群,服务器或服务器集群。但我对此表示怀疑,因为您会在平台的文档中轻松找到这一点。
添加回答
举报
0/150
提交
取消