I have just read On the Logical Difference Between Model and Implementation by C.J.Date. It contains some pertinent ideas in my quest for understanding database modelling.
First off, Date gives two (2) definitions of Data Model:
Definition: A Data Model (first sense) is an abstract, self-contained, logical definition of the objects, operators, and so forth. that together constitute the abstract machine with which the users interact. The objects allow us to model the structure of data. The operators allow us to model its behaviour. (Date 2004, 52) (Italics and emphasis in original)
And the second definition is:
Definition: A Data Model (second sense) is a model of the persistent data of some particular enterprise. (Date 2004, 53) (Italics and emphasis in original)
What I have been calling the conceptual data model is the second sense of Data Model. It is a solution to a specific problem using the Data Model in the first sense as programming language (Date 2004, 53).
This criticism of Date’s allows me to say that the database design models presented in Churcher (2007), Flemming and Von Halle (1989), Hernandez (2003), Mannino (2004), and Oppel (2009) are wrong in that they produce a database model and then consider to use the relational model, or a hierarchic model, or a network model.
My understanding of Date (2004) is that the database modelling consists of the following two (2) steps:
- Choice of data model (first sense)
- Produce a data model (second sense) for the enterprise using the data model (first sense)
In that method, the above quoted authors all follow this approach with the majority choosing the Entity-Relationship model as their choice of data model (first sense). The exception is Churcher (2007) who chose Uniform Modelling Language instead.
The choices for Data Model (first sense) are:
|Data Model (first sense)||Authors|
|Relational Data Model||Date (2004)|
|Uniform Modelling Language||Churcher (2007)|
|Entity-Relationship Model||Flemming and Von Halle (1989)
Churcher, Clare (2007), Beginning Database Design, APress: USA.
Date, C.J. (2004), ‘On the Logical Difference Between Model and Implementation’, in Date, C.J. (Ed.), Date on Database: Writings 2000-2006 (2006), APress: USA.
Flemming, Candice C. and Von Halle, Barbara (1989), Handbook of relational database design, Addison-Wesley, USA.
Hernandez, Michael James (2003), Database Design for Mere Mortals, Addison-Wesley: USA.
Mannino, Michael V. (2004), Database design, application development, and administration, 2nd Ed., McGraw Hill Companies, USA.
Oppel, Andrew J. (2009), Databases: a beginner’s guide, McGraw-Hill: USA.