Datamorphosis logo for Garden.

Garden Case Study

One of our avocations here at Datamorphosis is gardening. Gardening can involve a fair amount of detailed information management so we can monitor successes and failures of various things we are growing over the years. So we developed a model to help us clarify and understand our garden information requirements. As we got into it we decided to formalize the model and use the garden example in a case study. We used the model to design a Garden Database and to deploy it using ddl generated by the modeling tool. The idea was to illustrate the application of data modeling methods to a fairly simple problem.   Like most "simple" problems it turned out to be complex enough to be interesting. Our initial assumption was that the model would be about plants in a fixed place in a garden.

First, it's not about plants, it is about plantings. A planting is one or more starts (seeds, etc) for a cultivar from a lot (packet, etc) planted on a specified date in some kind of container. Second, it turns out that plantings rarely start in a garden. They often start in germination trays under lights. And their location may change from the utility room where they germinate to other locations to harden. They may be transplanted from their original germination container to larger containers. And finally they may be transplanted not to a garden per se but to any of several specific garden beds where the bed itself is the container.

Garden Core Model Core Submodel

These basic entities form the heart of the Garden model. So far, it is still pretty simple and straightforward. This simple model illustrates our initial take on what gardening is about. First there are cultivars which we obtain in lots consisting of packets of seeds or boxes of seedlings. We take starts from a lot and plant them in containers as plantings.

We reviewed our tentative model against a nursery catalog and discovered that cultivars are always described as members of a family group such as Peas, Corn, Lettuce etc., so we added a Family entity to conform with standard usage. Nursery catalogs also specify what they are selling (seeds, seedlings, etc. aka planting units) and how they are packaged (packet, bundle, etc. aka lot units). So we included appropriate reference entities in the initial model. We colored the reference entities blue to distinguish them from the transaction related entities. Both Family and Cultivar are colored as reference entities because they have so little activity. Also, some Lots consist of seeds harvested from existing plantings. This a special case because we want to monitor germination rates for seeds we produce ourselves. The only difference between these Lots and others is that we monitor where the seeds came from so we model Child Lots as subtypes of Lot. All this is included in our core submodel which you can view by clicking on the image.

© 2023 Datamorphosis Inc. - P.O. Box 11498 Bainbridge Island WA 98110 - (206) 842-1100