Entity Modelling

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.

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 SSADM^{1} software design methodology
and which is described in a book by Richard Barker^{2}. This is sometimes described as the the Barker-Ellis notation and
it is used in a number of data modelling tools inclduing Oracle's SQL Developer data
Modeler.

Compared to the many of books, web pages and lecture notes on this subject, key differentiating features of the presentation here are

- we describe concepts from afresh and, as part of the deal, neither rely on nor promote some established terminology which we judge to be not fit for purpose,
- a distinction is made between composition relationships and reference relationships,
- diagrams are laid out top-down,
- there is the concept of the scope of a relationship which is then utilised in data design and code generation,
- database design is right first time — the normalisation step from relational data design is eliminated,
- the pullback concept from category theory is incorporated and feeds into code generation.

These differences in approach represent a significant and valuable^{3}
change from established practice.

Perspective —*
Entity Modelling — An Introductory Perspective*

Tutorial Part One —*
The Entity Modelling Tutorial Part One — Entities, Relationships and Attributes*

Examples One —*
Examples and applications of the notation of Tutorial One*

Tutorial Part Two —*
Entity Modelling Tutorial Part Two - Representing Data*

Blog —*
Data Modelling, Entity Modelling and Logic*

ER Script Software —*
ER Script — Concept to Code*

Theory —*
The mathematics of dependent types, category theory and entity modelling*

The Author —*
About the Author*