www.entitymodelling.org - entity modelling introduced from first principles - relational database design theory and practice - dependent type theory
Entity modelling is 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. More usually, its purpose is given as the structuring of data to be stored in information systems; we extend the notation and describe its use in information systems development but we do not to take this use as the starting point for the presentation nor as a subsequent raison d'etre because to do either would be to hide a greater potential. We take the wider view that the purpose of an entity model is to provide a framework for knowledge and that entity modelling is a form of conceptual modelling - a technique for the elaboration of concepts. We describe the technique from first principles and relate to other meta-conceptual systems. We extend the notation from that commonly used in information systems development by the introduction of additional meta-conceptual machinary. This is done in a way heavily influenced by consideration of conceptual patterns brought to the fore in the branch of mathematics known as catagory theory.
To illustrate at the outset what we mean by conceptual modelling, consider the experience of reading into a new subject area and finding terms which seemingly have specific patterns of usage, and, it must be assumed, contextual meanings, but which patterns and meanings are unfamiliar to us. In so reading we are drawn into a systematic and iterative arrangement and a classification of the unfamiliar terms; in this process we will likely distinguish terms for individual things, for types or classes of things, for relations between things and also quantitative and adjectival terms. The mental process we follow will build for us a conceptual model. Entity modelling is a particular technique for expressing such models and, indeed, it is a technique and a notation used by information scientists seeking to represent and computerise the sometimes unfamiliar domains in which they work. When asked whether they understand a particular topic, an entity modeller might well affirm they do only if they can sketch an entity model that frames the topic.
Thinking about understanding a new area and its language, though 'things themselves' are the subjects of the text, the language is of the types of things, the relations among the different types of things and the properties that can meaningfully be attributed to them. This brings us to the three core elements of an entity model: entity types, relationships and attributes. In fact an entity model is little more than a structured list of such things.
The premises of Entity Modelling have in them a pragmatic answer to the question what is knowledge? Knowledge, according to the premises of Entity Modelling, is knowledge about things. For any 'thing' the knowledge that we can have of it is a sum of elementary pieces each of which is either the fact of an attribution, by which is meant a property a thing has inherent in itself, or else the fact of a relationship with another thing. More precisely, we can have knowledge of the type of a thing and knowing its type is to know both the kind of attributions which may be made of it and the relationships in which it may participate. This is the theory of knowledge according to the entity modeller; it is also the basis of information modelling and therefore it is a pragmatic view of what knowledge is - it is that which can be represented as information in a structured form suitable for representation in a computer system.