延伸亲子关系

发布于 2024-07-12 22:35:50 字数 289 浏览 3 评论 0原文

给定下面给出的单表设计,如何最好地查询以下内容

  • 给定一个民间 ID 的大家庭成员集合
  • 给定两个民间 ID 的共同祖先集合
  • 给定一个民间 ID 的后代集合

*Bonus 第一个堂兄弟姐妹,两次被移除,给出一个民俗 ID

表民俗

FolkID (PK)
MotherID (FK to folkid)
FatherID (FK to folkid)
Name
Gender

Given the one-table design given below how would the following best be queried

  • The set of extended family members given a folk id
  • The set of common ancestors given two folk ids
  • The set of descendants given a folk id

*Bonus 1st cousins, twice removed given a folk id

Table Folk

FolkID (PK)
MotherID (FK to folkid)
FatherID (FK to folkid)
Name
Gender

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

看透却不说透 2024-07-19 22:35:50

有人必须构建一个家谱应用程序吗?
我前段时间使用 XML 和 XPath 做了类似的事情:

<Persons>
     <Person ID="1" Name="Minu eesnimi" Surname="Minu perekonnanimi" Picture="0" Sex="M">
          <Event Name="Birth" Prefix="" Location="Tallinn" Date="14.01.1963"><![CDATA["Ilusal jaanuarihommikul"]]>
          </Event>
          <Event Name="Death" Prefix="" Location="" Date=""/>
          <Father ID="2" Type="Päris"/>
          <Mother ID="3" Type="Päris"/>
          <Spouse ID="4"/>
        </Person>
...

String XPath="child::*/child::Person[child::Father[@ID=\""+String(ID)
+"\"] 和孩子::母亲[@ID=\""+String(配偶)+"\"]]";
ETC。

Someone has to build a familytree application?
I did something similar some time ago, using XML and XPath:

<Persons>
     <Person ID="1" Name="Minu eesnimi" Surname="Minu perekonnanimi" Picture="0" Sex="M">
          <Event Name="Birth" Prefix="" Location="Tallinn" Date="14.01.1963"><![CDATA["Ilusal jaanuarihommikul"]]>
          </Event>
          <Event Name="Death" Prefix="" Location="" Date=""/>
          <Father ID="2" Type="Päris"/>
          <Mother ID="3" Type="Päris"/>
          <Spouse ID="4"/>
        </Person>
...

String XPath="child::*/child::Person[child::Father[@ID=\""+String(ID)
+"\"] and child::Mother[@ID=\""+String(Spouse)+"\"]]";
etc.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文