Data Modelling Innovation


The following is a quick summary of the talk Jeremey attended Sep15/94 entitled "Data Modelling Essentials: Analysis, Design, and Innovation", given by Graeme Simsion from Simsion Bowles & Associates, Sydney, Australia (280 George Street, Sydney 2000; Tel (02) 232-2366, Fax (02) 232-3708; they also have offices in Melbourne and Canberra). It was an excellent talk about data modelling with a number of good ideas to "keep things in perspective".

Mr. Simsion has a book published (1994) by the same name, Canadian publisher is Nelson Canada, 102 Dodds Street, 1120 Birchmount Roac, Scarborough, Ontario, M1K 5G4. ISBN 1850328773.

Nine fundamental ideas:

1) Data modelling is DESIGN (i.e. not "analysis")

Analysis is the search for truth; design is the search for solutions. There is no one right solution (therefore a different solution is not necessarily "wrong"). Data modelling classifies and represents things; we all individually have different inherent classification systems. Creativity is relevant, vital, and appropriate for design activities; it's amenable to formal techniques; and it's manageable (e.g. creativity in building a bridge is OK; creative accounting is not). Data modelling is a solution, NOT a user requirement (a data model is one possible answer to the stated requirements). Because of the benefits of creativity, a data model should not necessarily be forced to conform to the corporate model.

2) Data modelling is IMPORTANT.

It is not a question of whether to data model, but how much time, money, who does the model. It's a short activity with a major impact - one doesn't build a house without a plan and building a system is no different. Well designed databases (from a good data model) have made the difference between companies who can adjust to meet changing market demands from those who went under because it simply took them too long to retool their systems.

3) Data modelling is a DISCIPLINE.

There is a need for professionals; specialists; and they should feel responsible for the design. (Accreditation is important ...jj)

4) Logical database design is the data modeller's job.

Primary key should be

  1. applicable (i.e. meets ALL instances; e.g. if you use a car's registration number as a primary key, how do you identify those cars that are not registered?)
  2. unique
  3. singular (i.e. only one of each instance defined in the database; Joe must not be both employee #2634 and #2698)
  4. stable *** most important

NOTE: surrogate keys are not panaceas.

DA and DBA have a shared responsibility for the gray area between the conceptual (logical) and internal (physical) design. Tradeoffs are required between business requirements and technical considerations. Data Administration must go to the level of programming to tell the programmers how to program the business; otherwise DA's specifications simply get coded around. (Note: this is equivalent to the Data Administration group being involved in process modelling, something the ISB committed to in the 1994 reorganization ...jj)

5) Pattern re-use is central to data modelling.

Experienced modellers re-use; novice modellers model from first principles. Modelling is about patterns; recognizing patterns from other sources often gives creative or innovative solutions.

6) The level of generalization is critical.

Picking the right level of generalization means picking where the business rules are enforced (i.e. in the data, or in the programming).

7) Subtypes help.

Especially for communication, comparing options, representing the rules... Generic data leads to generic functions - this means fewer screens, modules, reports which is less expensive. BUT, must adequately recognize any true differences, subtle and otherwise; be careful - users can get confused with more generic applications.

8) Corporate data modelling is different.

Having a clear purpose is vital. Why are you doing one? ("Distributed Jigsaw Championship" - each person take any 50 pieces, when everyone's finished we'll put the whole thing together!) Don't confuse a Corporate Data Model with corporate data management. Recognize the point of diminishing returns; draw an arbitrary line.

9) Data modelling isn't everything!!

Data modelling endeavors to enable change easily, in one of two ways:

  1. table driven values,
  2. programming changes (good data design makes programming changes easier).

However, there are other things out there... image, text, objects, rich pictures, dynamic models.... Know what the limits to data modelling are; know when to call for help externally (i.e. from other disciplines).