Resources‎ > ‎Modeling‎ > ‎

Data Modeling

Data Modeling is a way to create a conceptual representation of data structures ( tables ) that should exist in a database or targeted to be placed into a database.  The is a significant and powerful way to visualize and communicate the business requirements.

The data model visually represents the soul of the data, business rules that govern the data and how it is connect together in the database.  A data model can be comprised of two different designs and they are Logical and Physical.

The data model helps the functional and technical teams in designing the database.  The data model also allows the teams to create validation tests to make sure that business rules are enforced.

The concept of data modeling can be better understood if we compare the development cycle of a database to the construction of a house. For example a company is planning to build a wood cabin (database) and the company calls a building architect (data modeler) and gathers it's building requirements (business requirements).  The building architect (data modeler) develops the plan (data model) and gives it to the company. Finally the  company calls in engineers (DBA) to construct the cabin(database).

Reason(s) for a developing a Data Model:
  • A new application for storing data is needed.
    • OLTP - Online Transaction Processing
    • ODS - Operational Data Store
    • Data Warehouse
    • Data Mart
  • Rewriting a data model from an existing system that may need to change for
    • Business requirements
    • New data items
    • Performance Improvements
    • Incorrect existing data model
    • Database has no data model
Different Types of Database Model(s)
Model Type Description 
 HierarchicalThis data model employs a tree-like structure in which the data relationship is analogous to a parent-child relationship.  In this model, a parent can have more than one child, but a child can not have more than one parent. Data relationships in this model are assimilated into various levels in while files are arranged in layers or tiers, and data is accessed through predefined relationships.  The model enhances efficiency, provides greater control over a database, and simultaneously reduces redundancy in the database.
 NetworkThis data model is based on the connectivity of data relationships, where multiple computers are used and information is stored and shared.  It provides two alternative views of a database - schema and subschema.  Schema is a complete logical view of the database, and subschema is a subordinate view of the database.  Further, data relationships result in reduced redundancy.
RelationalThe data model stores logically related data consistently in the form of related tables.  These tables are linked through common fields or columns.  The data stored is independent of files and is managed by a central database engine that processes queries and manipulates data.  Every row of data contains an identification key that identifies data uniquely and helps in reducing redundancy.

Advantages and Significance of a Data Model
  • Make sure that all requirements supplied by the functional team are completed and accurately exist.
  • The model is detailed enough to be used by the technical team so that they can build the physical database
  • Can be used to communicate business rules within the organization
  • Information contained in the model will be used to design business rules, relational tables, referential integrity (primary [PK] and foreign [FK] keys), stored procedures, and triggers