3

我正在使用树在 SQL 中对本体建模,以指示概念之间的关系。我的问题是如何在不复制概念的情况下消除图形/树中的概念歧义。

例如。我有课程的概念:“空手道”,“帆船”(可以从教练那里学到的课程)和地方:“健身房”,“船俱乐部”可以参加这些课程。在图中它将是:

gym        boat club
   has     has
     courses
   of        of
karate    sailing

我如何建模这个图表以避免船俱乐部有空手道课程并且不重复课程的概念?

谢谢!

4

2 回答 2

2

我会扭转整个数据架构,并将其视为一个图表。为所有概念(节点)——健身房、船俱乐部、课程、空手道、帆船——和另一个表创建它们之间的链接(顶点)。该表看起来像:

Links
  from (concept foreign key)
  to (concept foreign key)
  link_type (has/of/etc)

在内存中构建所有信息可能需要更多的 SQL,但此模式将简单地处理这些关系。

于 2011-02-22T19:18:37.780 回答
0

包含 Karate 和 Sailing 数据的表将包含其他两个表的主键作为外键。这将允许您拥有任意数量的每种数据类型,同时仍然能够遍历表以获取您的信息。

于 2011-02-22T19:12:47.773 回答