Database Answers

Home Ask a Question Careers Contact us Data Models First Timers Search Site Map

  Tutorial on Data Modelling the Real World

My 'Clients and Fees' Data Model is used in a Tutorial on ASP.NET Development,by Scott Guthrie, a General Manager in the Microsoft Developer Division.
It is presented as the solution to this problem - "You are building a web application, and are trying to figure out how to best model the particular database schema you need for the application".

The rest of this Page describes my new Tutorial based on a new and unique Approach I am developing, and I would be very pleased to have your Comments.

My Approach is a 'Top-Down' approach, based on understanding a Generic Model that can apply to any situation in the Real World and then applying this Model to the specific area that you are interested in.
In this way, you will learn the underlying principles and be able to think like a Data Modeller.
This Approach is facilitated by a number of 'Off-the-Shelf' Data Models combined with a set of Rules that helps you understand how to extend these Models.
In addition to the Generic Models list below, I have created some for Specific kinds of Real Worlds, including Entertainment and Insurance, which are listed on a separate page.

These are the Steps to follow in my Real World Data Modelling Approach :-
Step 1) Start by understanding the Generic Model of the Real World.

  • Most situations have People and Events, and usually have Organizations.
  • Sometimes you might include Interactions,(like CRM), Reservations and Transactions.
  • I have a range of appropriate Generic Models that you can use as your starting point.
  • Use the Data Model Search Facility to identify the ones that you need,(pay particular attention to the ones marked (T) for Tutorial.
  • Print them and then rename the Entities to reflect your requirements.

Step 2) Review the Entities shown in the list on this Page and decide which you need.
Step 3) Use the Model Search Page to check the Entities and identify the relevant 'Kick-Start' Models.
Step 4) Print the 'Kick-Start' Models and combine the appropriate Entities to create your own Model.
Step 5) Optionally, forward the results to me for my review.

This Table shows the Generic Entities which I think are adequate to model any aspect of the Real World...

  Here is my current Thinking,(please add your comments)

Addresses A Generic Approach, used in Customers and Addresses.
Activities Any Activity involving a group of people, eg Committees and Projects.
Assets Physical things, that can be seen and touched, like Cars and Equipment.
For example,Athletics Events, Customer Calls, Reservations, and Student Exams.
Always required, but usually replaced by Sub-Types of Organizations & People.
People Almost always required, for example, Lawyers and Students.
Products Shown with Customers, Products and Orders.
Reservations Here's a Generic Starting Point
Roles A Party can play a Role, such as Customer.
Services Shown with Customers, Services and Orders.
Transactions For example, Credit Card Transactions.

Home Ask a Question Careers Contact us Data Models First Timers Search Site Map