Definition of data abstraction and data abstraction layers
What is the definition of data abstraction, and what are the primary data abstraction layers we should be concerned about?

    Requires Free Membership to View

    When you register, you'll begin receiving targeted emails from my team of award-winning writers. Our goal is to keep you informed on the hottest data and information management trends today.

    Hannah Smalltree, Editorial Director

    By submitting your registration information to SearchDataManagement.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchDataManagement.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

Data abstraction is amazingly useful because it allows humans to understand and build complex systems like databases.

A good place to start understanding the definition of data abstraction is to think about the way the word 'abstract' is used when we talk about a long document. The abstract is the shortened, simplified form. We often read it to get an overview before reading the entire paper. (Actually we often read it INSTEAD of reading the paper, but that's another issue.)

Now think about designing a brand new, complex database system. One way to design the database is to sit down and start writing code. You start at one end and keep writing until the database is finished. In practice there are very few (probably zero) people who can do this; the problem is too complex.

So, we create a simple written description of the database that the users have asked for, which is an abstraction of the database. Then we add a little detail to that, making it into another abstraction, but a somewhat more detailed one. We keep on adding detail until finally it is finished. There is no more detail to add; the abstraction has turned into the thing itself.

The three formal abstraction layers we usually use are:

 

  • User model: How the user describes the database
  • Logical model: More formal, more detail – often rendered as an entity relationship (ER) model
  • Physical model: More geeky detail added – indexing, data types etc.

Data abstraction is simply a way of turning a complex problem into a manageable one.

This was first published in September 2008