by Angela Guess
In a new article, Malcolm Chisholm discusses the concept of abstraction in terms of data management, stating, “A problem I had for a long time was thinking that abstraction signifies a single concept. I no longer think that it does, and believe that in data management it is used to refer to several quite different concepts. This realization has given me greater confidence in challenging the users of the term ‘abstraction’ to explain to me just what they mean. In this article, I concentrate on three common ways I have found ‘abstraction’ to be used.”
Chisholm goes on to define classical abstraction: “The medieval scholastics developed a view of abstraction that they refined from the logic they inherited from the ancient world. This type of abstraction involves forming general concepts from more specific ones. In data modeling speak, it involves a bottom-up methodology to build supertypes from subtypes.”
Next, Chisholm discusses aggregates: “Suppose I am hosting a dinner party and wondering about what to provide for dessert. Thinking about my guests, I know that Algernon likes peaches, Emma likes pears, Bertie likes cherries, and Camilla likes fruit salad. In a stroke of brilliance, I decide to make a fruit salad by mixing peaches, pears, and cherries… This is essentially what data modelers do in designs such as the party model. In its extreme form, the party model is a single entity type that holds information about all individuals and institutions that have some kind of relationship with the enterprise (e.g., as customers, employees, vendors, etc.). It is like a fruit salad of data.”
Finally, Chisholm discusses a third type of abstraction, modeling: “When we model something we are trying to represent something in a way that we can manipulate, in place of manipulating whatever is the object of the model. If I want to renovate my kitchen, I will create a model on paper of what I want the new kitchen layout to look like. I can try various designs, and discover problems and solutions in these designs. This is a lot more effective than actually launching into a building effort whereby I try out each idea by actually constructing it in the kitchen. This is what why we do data modeling – to design first and (hopefully) build once.”
See the full article for more in depth explanations of each form of abstraction.