Reglas de negocio vs las reglas de integridad de datos
Cuando el modelo de la base de datos, especificar la lógica de negocio en dos espacios:
una. Las reglas de integridad de datos. Esto incluye, entre otros, tener una columna de enteros de modo que los usuarios no serán capaces de entrar en las cadenas.
b. El dominio de la empresa, reglas. Esto incluye la posibilidad de cheque/único/restricciones de clave externa en columnas por lo que no será posible almacenar valores duplicados o ilegal de valores.
Creo que es una opción válida para el uso de la geodatabase dominios a establecer las reglas para el dominio de la empresa, sin embargo debe tener en cuenta que dichas reglas son realmente ayudantes sólo como que no exponga cualquier restricción en la tabla de base de datos en sí. Por otro lado, te gustaría que tu geodatabase jugando un papel central en la definición de las reglas de negocio para ArcGIS usuarios finales.
Posible solución
Aquí es lo que ha funcionado para mí la mejor de los últimos años. Supongamos que tenemos una clase de entidad Roads
(almacenados como una tabla de base de datos) que almacena información acerca de los caminos y tiene al menos una columna llamada Type
.
- Crear una nueva tabla de base de datos llamado
RoadType
con dos columnas, Id
y Description
.
- Rellenar esta tabla de acuerdo a su negocio las reglas de dominio (por carretera puede ser mayor, menor, carretera, autopista, autopista, rampa tipo). Así, se tiene por ejemplo 10 filas en esta tabla.
- Crear una clave externa conexión de la
Roads
clase de entidad Type
columna RoadType
tabla Id
de columna. Esto significa que no será posible definir una función como un tipo de vía de un valor que no está en la Id
de columna.
- Ahora utiliza este
RoadType
tabla para crear una geodatabase de dominio (se puede hacer en arcpy
si usted se siente cómodo con las secuencias de comandos o usando GP de herramientas).
Ventajas de la solución
Mantener su dominio de la empresa, reglas en una simple tabla de base de datos disponibles para otras aplicaciones que puede trabajar con SQL y ellos no tienen que trabajar con XML (como cuando uno está tratando de obtener información acerca de la geodatabase dominios utilizando la llanura de SQL). Si su tabla de base de datos serán editados por otras aplicaciones que no son conscientes de la geodatabase de ArcGIS dominios (tal vez usted tiene un no-espacial de la operación por lotes de carga de datos en el Roads
clase de entidad de cada noche), usted puede estar seguro de que la integridad de los datos se hará cumplir.
Usted todavía está utilizando la geodatabase dominios para los usuarios de ArcGIS que son de editar los datos de un cliente rico como ArcMap y cuando la función de edición de atributos, van a ver las opciones disponibles para un campo que tiene un dominio asociado con él. Esto es realmente útil.
Cuando usted encuentra que usted debe agregar un nuevo tipo de carretera, se trata de escribir un breve fragmento de código SQL que se va a insertar nuevas filas en la RoadType
tabla y, a continuación, utilizando arcpy
a actualizar la geodatabase de dominio en consecuencia.
Esto hace que el mantenimiento de la geodatabase dominios de muy fácil en caso de que usted se mueva de su base de datos a otra base de datos donde no se dispone de Esri geodatabase corporativa habilitada, la integridad de los datos reglas se seguirán aplicando. También, si usted va a cargar la base de datos de las tablas en una nueva geodatabase corporativa, siempre puede crear una geodatabase de dominio a través de la RoadType
tabla desde su tabla de reglas de negocio (RoadType
) después de su clase de entidad.
QA/QC para el uso de ArcGIS
Uno también quisiera realizar diversas QA/QC de operaciones en el negocio de datos. No-espacial de la integridad de los datos puede ser aplicado con bastante facilidad, como se describe anteriormente. Sin embargo, la comprobación de la integridad del espacio puede ser mucho más difícil de realizar. Aunque uno podría escribir SQL con Oracle Spatial o ST_Geometry funciones, me gustaría sugerir el uso de herramientas de ArcGIS para esto.
Usted puede utilizar varias herramientas de QA/QC que puede hacer un montón de cheques en forma automatizada. Es importante tener en cuenta que usted puede programar sus módulos de Python para ejecutar en un momento determinado utilizando el Programador de Tareas de Windows.
Topología de Geodatabase (también puede utilizar el GP de herramientas tales como Validate Topology
y Export Topology Errors
como parte de su secuencia de comandos de Python).
Datos de Revisor extensión proporciona una gran cantidad de cheques. De nuevo, usted puede fácilmente programar una tarea tal como se especifica aquí, en la página de Ayuda.
Personalizado de secuencias de comandos de Python que de donde usted puede utilizar el poder de la arcpy
para generar informes sobre el QA/QC hecho y edición de datos según sea necesario.