www.entitymodelling.org - entity modelling introduced from first principles - relational database design theory and practice - dependent type theory
This website is an online book, part written as yet, in which entity modelling and data design, both relational and hierarchical, are described from first principles so as to harmonise with and benefit from mathematical type theory and category theory. It features a new theory of relational design supported by open source software implementing the physical data design transformation and other model transformations accompanied by code generators to support a variety of programming languages.
I give the reader the challenge, as I have given myself, of understanding and articulating entity modelling and the whole business of representation of the world in data from first principles and without reliance, recourse or reference to any particular technology - neither any programming language nor any database system. I wish the reader to be open to the discovery of previously unrecognised patterns of concepts and data in their own areas and of a kind that can be exploited in database design and software development.
Entity modelling is saying what is and doing so purposefully— it's a technique and a notation for describing and communicating what is in the world and we set out to present it here from first principles. It enables the representation of conceptual models; its practitioners represent types of entity as labelled boxes and relationships as annotated connections between boxes:
There is no standard notation for entity modelling - different authors use different diagramming styles and models are variously known as entity models, entity-relationship (ER) models or entity relationship attribute (ERA) models. This site promotes a notation that is an extension of the data modelling notation used in the SSADM1 software design methodology and which is described in a book by Richard Barker2. This is sometimes described as the Barker-Ellis notation and it is used in a number of data modelling tools including Oracle's SQL Developer Data Modeler.
Compared to the many books, web pages and lecture notes on this subject, key differentiating features of the presentation here are
These differences in approach represent a significant and valuable3 change from established practice.
Tutorial Part One —
Examples One —
Tutorial Part Two —
ER Script Software —
The Author —