Introduction to Object-Role Modeling

Category: General
Reviewed by: artificer   
Reviewed on: Jun 19 2006
» Discuss this topic ( Posts)

The purpose of this tutorial is to introduce you to information modeling and show you why it plays such a substantial role in creating databases for business domains. In later tutorials, we will delve more into the semantics of Object-Role Modeling (ORM) and its role within information modeling, but let's first start off with the basics. There are three main fields which benefit from information modeling: object-oriented programming design, database design, and XML schema design. Here we'll be focusing more on database design than anything else, but be aware that there are other applications out there.

Designing a database involves using information like that to create a model of the business domain, or universe of discourse. For example, in the following example, the UoD includes patients and their respective temperatures. Have a look:

Say you're a doctor at a local hospital, and one of the nurses hands you a piece of paper with a chart filled with numbers on it. Along one axis reads "Temperature," and along the other reads "Patients." You pinpoint one row-column intersection and see the numbers 203 and 100. You're puzzled, so you ask what the two numbers mean. She tells you that patient #203 has a temperature of 100. Still, there is confusion, and you ask her about the temperature. “Fahrenheit, of course,” she says. In almost all fields where data is critical, there is a serious lack of attention paid to information like this, and it just goes to show that data entered into a computer (like 203 and 100) is useless if we do not keep their semantics straight (Patient with Patient# 203 has a Temperature of 100°F).

Computers do not give any other meaning to data other than what we tell it (and even that is very limited). For example, in a database, information like “203” and “100” could very well be used to describe the same type of data. Keeping semantics straight is critically important, and we must be sure to clearly define what each piece of data we need to store actually means in the grand scheme of an application.

Next we'll cover why database design is so critical to get right on the first try in today's world where information is being stored for just about everything.