¿Usar o no usar las clases de relación?

12

Estoy construyendo una base de datos del gobierno a partir de una gran cantidad de datos. Ahora estoy siguiendo el enfoque estándar del Modelo de datos del gobierno local de ESRI, pero modificado para adaptarse a las necesidades y deseos de un gobierno específico.

Me di cuenta de que en el Modelo de datos del gobierno local, ESRI usa muchas clases de relación. He usado clases de relación en el pasado, pero tienden a alejarme de ellas. Esto se debe a que generalmente no veo una razón por la que quisiera atributos sobre una forma en una tabla separada de la clase de entidad.

Para casi todos los datos que estoy reuniendo, todavía no puedo ver una razón para esto. Para Parcel Fabric puedo ver algunas razones en las que sería útil, pero aún así creo que sería mejor mantener los atributos directamente en la clase de entidad.

Ahora, para que quede claro, voy a usar clases de relación para hacer referencia a clases de entidad a clases de entidad, esta pregunta se especifica más por qué almacenaría datos en una tabla no espacial que podría almacenarse fácilmente en una clase de entidad.

De todos modos, gracias por cualquier comentario amigos!

Cody Brown
fuente

Respuestas:

17

La razón por la que las personas organizan datos en tablas separadas se debe a los principios de normalización de la base de datos (siga el enlace, toda la justificación está ahí). Dicho esto, las clases de relación ESRI son una implementación a nivel de GeoDatabase de esos principios. Honestamente, yo , personalmente, sólo los utilizan en dos casos:

  • cuando tiene algunos datos que están normalizados en la base de datos y desea aprovechar las herramientas de edición de ArcMap. ArcMap le permite (posiblemente) atravesar fácilmente las relaciones en sus herramientas .

  • cuando está utilizando una abstracción de GeoDatabase que necesita el mensaje de GeoDatabase (por ejemplo , anotación vinculada a características, clases de características personalizadas, etc.).

Aunque las personas pueden afirmar que la integridad referencial es uno de los beneficios, la verdad es que se puede eludir con una solicitud de SQL, por lo que el beneficio de esto realmente depende del flujo de trabajo que tenga para modificar eso (es decir, ¿las personas usan solo ArcMap para edit vs do people también edita con consultas SQL o herramientas que no son ESRI).

Ragi Yaser Burhum
fuente
2
Wow, gran respuesta. El gran gran mundo de la teoría de bases de datos me ha sorprendido. Muchas gracias por la entrada!
Cody Brown
8

Piense en el panorama general: los datos SIG son solo un medio para un fin para la mayoría de las personas, especialmente cuando se trata de entidades gubernamentales. Mi experiencia ha sido que las clases de relación son principalmente útiles (y apropiadas) cuando necesita incorporar datos no espaciales con uno: muchas relaciones con sus datos espaciales, especialmente si provienen de una fuente externa o cambian constantemente . Algunos ejemplos del mundo real que he encontrado con entidades gubernamentales pueden ayudar a ilustrar esto:

  • Almacenar múltiples registros no espaciales sobre una característica (por ejemplo, registros de inspección mensuales para un hidrante o válvula)
  • Hacer referencia a registros relacionados de una fuente de datos que no controla (por ejemplo, leer registros de mantenimiento de la base de datos de un programa de gestión de activos de terceros)
brichins
fuente