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 as well as 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 a further development of a notation used
in
the SSADM^{1} software design methodology
and described in a book^{2} by Richard Barker and sometime described as the the Barker-Ellis notation.

There are lots of books and many many web pages describing entity modelling but key differentiating features of the technique as described here are

- the distinction between composition and reference and the top-down layout of diagrams,
- the concept of the scope of a relationship,
- the incorporation of the pullback concept from category theory,
- right first time database design and the elimination of the normalisation step from relational data design.

On this site you will find:

Perspective —* An Introductory Perspective* that seeks to locate entity modelling so that it is not seen as an isolated discipline.
Entity modelling evolved in the 1960s an 70s as an abstract way to describe
databases (more
specifically the structure of databases), and so it is, but its utility goes
further than this as described here.

Tutorial Part One —* The Entity Modelling Tutorial Part One - Entities, Relationships and Attributes* which introduces from first principles a good part of the basic notation.

English Sentence Structure —* An Extended Example - the Structure of English Sentences* which is an extended example of modelling using the notation introduced upto this
point.

Tutorial Part Two —* The Entity Modelling Tutorial Part Two - Advanced Topics including Relationship Scope* which is a tutorial describing use of the notation for modelling
and introducing the important concept of relationship scope.

Blog —* A Blog on Entity Modelling, Data Modelling and Logic.* Some further thoughts on data modelling, entity modelling and logic.

The Author —*About the Author.*