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 データベースに入れることを考えていましたが、現在、BaseXのような XML データベースに直接入れて、SQL の代わりに XQuery を使用することを検討しています。 . この問題が XML データベースでどのように解決されているかについての説明、または参考文献があれば十分です。