DataWarehousingGuide.com

Custom Search
 

Home arrow Tutorials arrow What is data modeling?
What is data modeling? Print E-mail

This article is a brief introduction to data modeling skills. After reading this article, the reader don’t need to be an expert at data modeling, but should be prepared to be involved in the creation of such a model, be able to read an existing data model, understand when and when not to create a data model, and appreciate fundamental data design techniques.

Data modeling - Table of contents

  • What is data modeling?
  • How are Data Models designed in Practice?
  • How to identify the data?
  • Techniques for data modeling

What is data modeling?

Data modeling is the analysis of data objects that are used in a business or other context and the identification of the relationships among these data objects. Data modeling is a first step in doing object-oriented programming. As a result of data modeling, you can then define the classes that provide the templates for program objects.

A simple approach to creating a data model that allows you to visualize the model is to draw a square (or any other symbol) to represent each individual data item that you know about (for example, a product or a product price) and then to express relationships between each of these data items with words such as "is part of" or "is used by" or "uses" and so forth. From such a total description, you can create a set of classes and subclasses that define all the general relationships. These then become the templates for objects that, when executed as a program, handle the variables of new transactions and other activities in a way that effectively represents the real world.

Several differing approaches or methodologies to data modeling and its notation have recently been combined into the Unified Modeling Language (UML), which is expected to become a standard modeling language.

How are Data Models designed in Practice?

Before arriving at the final data model suitable for the project certain elementary steps are followed. Following 3 methods are commonly used while designing data model.

Conceptual data models

These models, sometimes called domain models, are typically used to explore domain concepts with project stakeholders. On Agile teams high-level conceptual models are often created as part of your initial requirements envisioning efforts as they are used to explore the high-level static business structures and concepts. On traditional teams conceptual data models are often created as the precursor to LDMs or as alternatives to LDMs.

Logical data models (LDMs)

LDMs are used to explore the domain concepts, and their relationships, of your problem domain. This could be done for the scope of a single project or for your entire enterprise. LDMs depict the logical entity types, typically referred to simply as entity types, the data attributes describing those entities, and the relationships between the entities. LDMs are rarely used on Agile projects although often are on traditional projects (where they rarely seem to add much value in practice).

Physical data models (PDMs)

PDMs are used to design the internal schema of a database, depicting the data tables, the data columns of those tables, and the relationships between the tables. PDMs often prove to be useful on both Agile and traditional projects and as a result the focus of this article is on physical modeling.

How to identify the data?

It is critical for an application developer to have a grasp of the fundamentals of data modeling so they can not only read data models but also work effectively with Agile DBAs who are responsible for the data-oriented aspects of your project. Your goal reading this section is not to learn how to become a data modeler, instead it is simply to gain an appreciation of what is involved.

The following tasks are performed in an iterative manner:

  • Identify entity types
  • Identify attributes
  • Apply naming conventions
  • Identify relationships
  • Apply data model patterns
  • Assign keys
  • Normalize to reduce data redundancy
  • Denormalize to improve performance

Techniques for data modeling

Several techniques have been developed for the design of data models. While these methodologies guide data modelers in their work, two different people using the same methodology will often come up with very different results. Most notable are:

  • Bachman diagrams
  • Barker's Notation
  • Crow Feet Notation (Information Engineering) James martin & Clive Finkestein
  • Business rules or business rules approach
  • EBNF Grammars
  • Entity-relationship model
  • IDEF
  • Object-relational mapping
  • Object Role Modeling (ORM) or Nijssen's Information Analysis Method (NIAM)
  • RM/T
  • Semantic data modeling
 

[+]
  • Narrow screen resolution
  • Wide screen resolution
  • Auto width resolution
  • Increase font size
  • Decrease font size
  • Default font size
  • default color
  • blue color
  • green color