Geodatabase Design and Documentation
I've been looking for a better way to design, diagram, and document my geodatabase designs.
Visio is my tool of choice for database design. It is easy to use and allows me to visualize and demonstrate the capabilities and limitations of my data model before actually creating the geodatabase. Using Visio, I can generate a UML schema and export it to XMI. From there, it is possible to generate all of the objects that exist in the data model into a geodatabase. There are other tools available, in addition to Visio. I haven't yet experimented with them, though.
For diagramming geodatabases that weren't designed in Visio, I use Geodatabase Diagrammer
, which is available for download on ArcScripts
. This sweet little utility allows you to export a diagram straight out of a geodatabase (with the newest release, it supports both personal and enterprise) into Visio. It was initially developed as an internal ESRI tool, but was released to the public to help in the documentation of geodatabases. One problem that the tool has, though, is that it uses the default ESRI layout for the diagrams - which probably isn't that big of a deal for most. Another weakness that I see is that, like Geodatabase Designer 2, you have to export the entire geodatabase schema. This likely isn't much of a problem with personal geodatabases (or maybe it is for some???), but it can be a pain to export an entire SDE geodatabase schema out and then pick through the Visio model to get just
the elements that you want in your diagram. I usually have more than one "data model" in my enterprise geodatabases, and would like to be able to select the feature classes that are associated with a particular model and get only those relationships classes and related tables that are tied to the model.
For documentation of geodatabases, I use Richie Carmichael's (ESRI) Geodatabase Designer 2
, and it works well for what it was designed to do. It allows you to import and export Geodatabase XML schemas and documents all of the tables (spatial and otherwise), subtypes, domains, relationships, and networks that exist in a geodatabase in both HTML and XML. One shortcoming that the tool has is the fact that, like the geodatabase diagrammer, you cannot pick and choose "parts" of a geodatabase to export. On the positive side, though, this is obviously a valuable tool. It would be really valuable if I could figure out how to convert the XML into a Visio model. If only we could reverse engineer an SDE geodatabase!
Bottomline from what I've found is that if you didn't use UML to initially design your geodatabase, there is no single tool or method that will allow you to easily diagram your model. If you, however, did design your initial data model in Visio, you can then use that model as a visual tool and generate your geodatabase from it. To document all of the contents of the model, use Geodatabase Designer 2.
I would love to hear about other methods of designing and documenting geodatabases. Any ideas?
Listening to Neil Young - After the Gold Rush...