marklogic中的表连接表
问题描述:
我们如何连接两个表并执行查询?
marklogic中的表连接表
例如,
student1.xml
<Students>
<student>
<Id>10</Id>
<name>XYZ</name>
</student>
</Students>
student2.xml
<Students>
<student>
<Id>10</Id>
<roll>45</roll>
</student>
</Students>
我需要查询,我可以从两个以上得到的所有3个值像10,XYZ,45
xml文件。在NoSql中可能吗?如果是的话我该如何在MarkLogic中做到这一点? 任何方法都可以(REST,Java,Xquery ...)。
由于提前,
大地
答
这看起来像一个 “文档作为表” 的方法。但是MarkLogic是一个面向文档的数据库,所以最好将文档视为行。像这样创建文档:
<!-- document URI is "student/10" -->
<student>
<Id>10</Id>
<name>XYZ</name>
<roll>45</roll>
</student>
<!-- document URI is "student/17" -->
<student>
<Id>17</Id>
<name>fubar</name>
<roll>45</roll>
</student>
现在,你可以得到你需要了解与doc('student/10')
或doc('student/17')
学生的一切。这是一个面向文档的数据库擅长的,你应该发挥它的优势。
无论如何都有办法加入:例如MarkLogic Join Query和https://docs.marklogic.com/guide/sql。
我建议你首先阅读关于ML的基本介绍_before_问题或者你可以阅读ML文档。你应该自己决定一项技术(对于ML XQuery当然是明显的选择),并阅读一些概念。像“在NoSql中可能吗?”这样的问题真的没有意义,也不是特别有用。 – dirkk 2014-11-25 11:34:29
@dirkk是的,我明白,但一些博客发布,我们不能加入NoSql,因为它是基于文档的数据库。我着手使用XQuery和cts。 – 2014-11-25 12:20:16
当然,您可以将数据连接在一起。但忘记表格,表格是关系数据库的概念。正如你所看到的,你有XML文件而不是表格。另外,在这种情况下忘记“NoSQL” - 这甚至意味着什么?有那么多的NoSQL概念,ML就是其中之一。阅读关于XQuery的内容并告诉你更“具体”什么,并提出更具体的问题。 – dirkk 2014-11-25 12:28:48