Data models

Data model

A data model shows the client’s information needs and business processes through entities, relationships and data required within the system.  It complements the data flow diagram which shows how the data is processed.  Data models can be conceptual (high level entities and relationships to document business concepts or high level requirements), logical (more detailed information on entities, attributes and relationships by often expanding the conceptual model to include attributes, columns, fields and keys) or physical (how data is stored and managed in an application).
Data models are diagrams supported by textual descriptions.  They can include people, places, things, concepts, attributes and relationships.  Textual descriptions are usually included in a data dictionary.

Entity Relationship Diagram (ERD)

The ERD is a data model diagram that includes entities (a noun, event or concept that describes an important concept to the business that can be uniquely identified), relationships (associations between entities, usually a verb) and attributes (information about the entities that typically end up as data fields in the database).  The diagram is an abstract, conceptual representation of data.

Cardinality within an ERD refers to the maximum number of times an instance in one entity can be associated with instances in the related entity.  Modality refers to the minimum number of times an instance in one entity can be associated with an instance in the related entity.

Modality Symbol
zero or more double line
1 and only 1 (exactly 1) single line
1 or more triple branch at end of line

A sample ERD: 

Example entity relationship diagram - see long description.

Class diagram

class diagram describes the structure of a system by showing the system’s classes (represent main objects and/or interactions in the application), their attributes, operations (methods), and the relationships (include association, inheritance and aggregation) among the classes.  These diagrams are mainly used for object oriented modeling.


A sample class diagram:

Example class diagram - see long description.

Data dictionary

data dictionary is often referred to as a metadata repository.  It is a repository of information about the data included in the system.  This information includes meaning, relationships to other data, origin, usage and format.  It can also include characteristics such as edits and defaults. The data dictionary defines the basic organization of the database.