Home > Uncategorized > Data Modeling

Data Modeling

Here is a very good Data Modeling 101 article, http://www.agiledata.org/essays/dataModeling101.html. I agree with the author that every IT professional, including application developers, database developers, data analyst, database administrators, should have some basic understanding of data modeling.

The article also tries to compare data modeling with object modeling using UML (in software development).

Data modeling essentially concerns about 3 goals: identify entities, identify attributes, and identify relationships. To accomplish these 3 goals, the author suggests the following tasks that can be 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

Here is how the article defines the data normalization rules:

First normal form (1NF)

An entity type is in 1NF when it contains no repeating groups of data (meaning that we need primary key for each independent entity. In another word, we need to create 1-to-1 relationship).

Second normal form (2NF)

An entity type is in 2NF when it is in 1NF and when all of its non-key attributes are fully dependent on its primary key (meaning that we need to create foreign keys on the parent entities for the children entities or dependent entities. In another word, we need to create 1-to-many relationship).

Third normal form (3NF)

An entity type is in 3NF when it is in 2NF and when all of its attributes are directly dependent on the primary key (meaning that we need to create many-to-1 relationship).

Categories: Uncategorized

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: