创建空间“一对多”联接


10

我正在尝试创建所谓的“一对多”联接。我不知道那是否是正确的术语。我有一个表,其中每个包裹帐号(R0003285)都有用于移动房屋的唯一帐号(即-M1007970)。(每个宗地有许多移动房屋-多对一。)我需要将此表加入到我们的宗地几何图形中-而且每个宗地仍然只有一个多边形。

因此,例如,该表可能具有三行,其中一行具有移动房屋帐号M1007370,另一行具有M1007371,另一行具有M1059370,但是所有包裹的编号均相同。我们的宗地几何形状将仅具有R0032585的相同字段。

加入时,我有12088个移动房屋记录和44103个包裹。如果我“保留所有记录”,那么我有44,103条记录,其中只有7,947个移动房屋帐号(原始值为12,088个)。如果我根据“仅保留匹配的记录”加入,最终我总共只有7,947条记录。

我过去已经成功完成并创建了一个模型。在此模型中,我使用表格将活动房屋根据包裹帐号连接到包裹层(.lyr-您可以/可以加入模型的唯一方法)。我将仅保留匹配记录的要素复制到文件地理数据库中。然后,从文件地理数据库中将其附加到我们的SDE系统中。目前,由于我无法理解的原因而退出了工作,因为一切都没有改变。

也许某人可以传达出比我想做的更好的东西,并且如果它被称为不是一对多关系的东西(我不认为这是一对多的关系...)。

Answers:


9

有时会令人困惑,但这实际上是一个观点问题。请参阅此图(来自本主题)作为参考:

关系图

这是五个关系(和三个不同基数)的示例。

  1. 一对多:宗地以一对多关系与ParcelToOwner表相关;一个地块可能有许多所有者(部分所有权)。
  2. 多对一: ParcelToOwner表与多对一关系中的宗地相关。许多所有者拥有(至少占一定比例)包裹。
  3. 多对一: ParcelToOwner表与所有者具有多对一关系;一个所有者可能拥有(至少部分地)许多包裹。
  4. 一对多:所有者以一对多关系与ParcelToOwner表相关;一个所有者可能拥有许多包裹(再次,至少部分拥有)
  5. 多对多:宗地与所有者之间存在多对多关系;许多所有者可能(至少部分地)拥有许多包裹,许多所有者可能(至少部分地)拥有许多包裹。这通过ParcelToOwner表和上述关系表示。如果没有中介表(),大多数DBMS不能表达多对多关系,因此采用这种设计。

如您所见,关系是一对多还是多对一取决于您如何看待它。

综上所述,完成您要寻找的内容的最简单方法是创建一个查询表,该创建许多相同的地块,每个移动房屋一个。有关更多详细信息,请参见此博客文章: 有关执行1:M连接的快速提示

如果所有数据都在企业级地理数据库中,则还可以使用查询图层即时执行相同的操作(无中间要素类)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.