BaseX 文档使用“集合”一词的方式使其含义不清楚。集合只是数据库的另一种说法,还是一个独特的结构?如果是后者,使用什么命令来操作集合?
最佳答案
关于集合和数据库
XQuery documentation不谈论数据库,而是集合 - 因此有名称集合以符合规范。然而,规范没有定义集合是什么,这是依赖于实现的。而其他系统like Marklogic allow multiple collections in a database ,BaseX 将一个集合视为一个数据库。
In BaseX, a database is a pretty light-weight concept and can be compared to a collection. It contains an arbitrary number of resources, addressed by their unique database path.
连接来自多个集合/数据库的文档是一种简单且廉价的操作,因此可以按照对您来说合理的接缝进行分割。实际上,使用多个数据库而不是一个数据库可以对并发性产生积极影响。
在 BaseX 中管理数据库
数据库使用 BaseX Commands 进行管理.
最感兴趣的是
-
CREATE DB [name] ([input])
:使用给定名称和输入文档或 XML 片段创建一个新数据库 -
OPEN [name]
:打开数据库作为默认集合 -
DROP DB [name]
:删除数据库
使用 XQuery 管理数据库
对于某些操作,还有 BaseX 特定的 XQuery-functions in the Database Module ,但使用它们在某种程度上受到 XQuery Update 的 Pending Update List 的限制。 .
免责声明:我在某种程度上参与了 BaseX 团队的工作。
关于xquery - 在BaseX中,数据库和集合有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17554987/