• kenambrose (12/12/2007)


    Hi Troy,

    Good series! I'd like to suggest that you include a bit more "real life" stucture to the model. Just enough to make the examples more "logically" realistic.

    For example, there must be attributes that would be specific to different species (dog vs. cat). Otherwise why bother modeling them as subtypes? What would be the usefullness of modeling them as subtypes if they had no distinguishing attributes? Such distinguishing attributes are crucial to the rational and usefullness for modeling a subtype.

    I'm sure we could all easily think of a few more typical data modeling "patterns" that appear repeatedly in real world work and that also typically are not handled well by many developers. Another would be optional attributes.

    The missing model elements actually make the example more difficult to understand, in my opinion, due to incompleteness.

    Thanks,

    Ken

    Hi Ken;

    Thank you for the comments... you're spot on.

    If you check the first article, (http://www.sqlservercentral.com/articles/Data+Modeling/61526/), you will see a little more information on the rules surrounding the Dog and Cat subtypes. For this example, the additional information of interest for a Dog is whether or not it's registered with the AKC, and for a Cat, whether or not it's been declawed.

    Given the assumption that the conceptual model is complete with respect to the jurisdiction and universe of discourse, we can conclude that for any other particular species, there is no additional information of interest -- hence only specifying Dog and Cat as subtypes of Pet.

    The 5th (and last) article in the series, due to be published in 3-4 weeks, will look at how we can model and implement the entity supertype/subtype "pattern" in SQL Server.

    In my opinion, the 3rd article (to be published this coming Monday, the 17th) is where things start to get really interesting for those that already have substantial modeling experience.

    Enjoy!

    TroyK