我在问一个关于 XML 数据库如何工作的问题,但我将给出一个我理解的关于标准关系数据库的示例,希望人们能够解释它是如何在 XML 数据库上工作的。
假设我们的数据有:
Countries
Businesses
Employees
在关系数据库中,您可能会执行以下操作:
COUNTRY_BUSINESS_TAB: COUNTRY_ID, BUSINESS_ID
BUSINESS_EMPLOYEES_TAB: BUSINESS_ID, EMPLOYEE_ID
让我们忘记为 ID 提供有意义的名称,而直接根据 ID 工作。
现在,假设我们要按员工搜索,这很简单,我们输入一个索引EMPLOYEE_ID
,BUSINESS_EMPLOYEES_TAB
我们可以快速获取员工工作地点的业务 ID。一旦建立了索引,就不需要进行全表扫描。
现在让我们改为说数据是 XML 格式的。在顶层,标签中有很多国家/地区 ID。作为子标签,有企业 ID。作为它们的子标签,还有员工 ID。
XML 数据库能否在不扫描整个文档的情况下快速找到员工工作的所有地方?
我问是因为我有很多 XML 数据,我正在考虑将其解析并放入 SQL 数据库,但我现在正在考虑将其直接放入 XML 数据库,如BaseX,并使用 XQuery 而不是 SQL . 我只需要一个解释或简单的参考来阅读我自己关于如何在 XML 数据库中解决这个问题。