Criando junção espacial “Muitos para um”

10

Estou tentando criar o que chamo de associação "muitos para um". Não sei se esse seria o termo correto ou não. Eu tenho uma tabela que possui números de conta exclusivos para casas móveis (ou seja, - M1007970) por número de conta de pacote (R0003285). (Muitas casas móveis por parcela - muitas para uma.) Preciso associar esta tabela à nossa geometria da parcela - e ainda ter apenas um polígono por parcela.

Portanto, por exemplo, a tabela pode ter três linhas que tenham os números de conta residencial móvel M1007370 em uma linha, M1007371 em outra e outra com M1059370, mas todos têm o mesmo número de lote R0032585. Nossa geometria de parcela só teria o mesmo campo de R0032585.

Ao ingressar, tenho 12.088 registros de residências móveis e 44.103 parcelas. Se eu "mantenho todos os registros", tenho 44.103 registros com apenas 7.947 números de contas de residências móveis (dos 12.088 originais). Se eu me unir com base em "manter apenas registros correspondentes", acabarei com apenas 7.947 registros no total.

Eu fiz isso com sucesso no passado e criei um modelo. Neste modelo, eu uso a tabela para que as casas móveis ingressem na camada de parcelas (.lyr - a única maneira de você poder / poder ingressar em um modelo) com base no número da conta de parcela. Copio os recursos mantendo apenas registros correspondentes em um geodatabase de arquivo. A partir do geodatabase do arquivo, anexo-o ao nosso sistema SDE. No momento, isso parou de funcionar por razões que não consigo entender, pois nada mudou.

Talvez alguém possa transmitir melhor do que eu o que estou tentando fazer, e se isso for chamado de algo que não seja um relacionamento muitos para um (não acredito que seja um para muitos ...).

Evan
fonte

Respostas:

9

Às vezes é confuso, mas é realmente uma questão de perspectiva. Consulte este diagrama ( deste tópico ) para obter uma referência:

Diagrama de relacionamento

Este é um exemplo de cinco relacionamentos (e três cardinalidades diferentes ).

  1. Um para muitos: encomendas estão relacionadas à tabela ParcelToOwner em um relacionamento de um para muitos; uma parcela pode ter muitos proprietários (propriedade parcial).
  2. Muitos-para-um: a tabela ParcelToOwner está relacionada a encomendas em um relacionamento muitos-para-um; muitos proprietários possuem (pelo menos uma porcentagem de) uma parcela.
  3. Muitos para um: a tabela ParcelToOwner está relacionada aos Proprietários em um relacionamento muitos para um; muitas parcelas podem pertencer (pelo menos parcialmente) a um proprietário.
  4. Um para muitos: os proprietários estão relacionados à tabela ParcelToOwner em um relacionamento um para muitos; um proprietário pode possuir muitas parcelas (novamente, pelo menos parcialmente)
  5. Muitos-para-muitos: encomendas estão relacionadas aos Proprietários em um relacionamento muitos-para-muitos; muitas parcelas podem ser (pelo menos parcialmente) pertencentes a muitos proprietários e muitos proprietários podem possuir (pelo menos parcialmente) muitas parcelas. Isso é expresso através da tabela ParcelToOwner e dos relacionamentos mencionados acima. A maioria dos DBMSs não pode expressar um relacionamento muitos-para-muitos sem uma tabela intermediária ( origem ), portanto, esse design.

Como você pode ver, se um relacionamento é um para muitos ou muitos para um depende de como você o vê.

Tudo o que foi dito, a maneira mais fácil de realizar o que você está procurando é criar uma tabela de consultas que crie muitos pacotes idênticos, um para cada casa móvel. Veja esta postagem no blog para obter mais detalhes: Uma dica rápida sobre como realizar uma associação 1: M

Se todos os seus dados estiverem em um geodatabase da empresa, você também poderá usar uma Camada de Consulta para fazer a mesma coisa em tempo real (sem classe de recurso intermediário).

blah238
fonte