User:Matthew 1130/ER Draft

Interesting prior versions of this article:
 * Revision by original author 4282526 as at 21:03, 25 June 2004.
 * User:Jan Hidders did first major revision 4302059 as at 10:39, 27 June 2004.
 * Dia images uploaded by User:Bigsmoke 24126573 as at 02:31, 27 September 2005.
 * GERMs & BERMs 24156906 as at 13:34, 27 September 2005 and 10658916 as at 23:18, 14 February 2005.
 * Multi-valued attributes 45692627 as at 11:39, 27 March 2006.
 * Sample game ER diagram added by User:Mattrix 46650540 as at 22:02, 2 April 2006]. This user didn't do anything else for the article.
 * Participation constraint 56153624 as at 16:33, 31 May 2006.

Note that Tony Drewry is a self-promoted author, who listed his own article in the External Links section on 7 Dec 2006. His article needs to be verified for quality.

Ideas:
 * A "weak entity" is also referred to as a "dependent child".

Introduction
Databases are used to store structured data. The structure of this data, together with other constraints, can be designed using a variety of techniques, one of which is called entity-relationship modelling or ERM.

The objective of the ERM process is to produce an entity-relationship diagram (ERD) which identifies data objects, relationships between those objects, and describes cardinality rules for a given problem domain, which are verifiable by selected domain experts. Data modeling requires a graphical notation for representing such data models. An ERD is a type of conceptual data model or semantic data model. This provides:
 * A basis for further requirements analysis and definition of use cases relating to the defined entities, in conjunction with domain experts.
 * Cardinality rules for initial drafts of the logical and physical database designs.
 * Documentation for software developers to understand a broad overview of the relationships between various types of data in a system.

The first stage of information system design uses these models to describe information needs or the type of information that is to be stored in a database during the requirements analysis. The data modeling technique can be used to describe any ontology (i.e. an overview and classifications of used terms and their relationships) for a certain universe of discourse (i.e. area of interest). In the case of the design of an information system that is based on a database, the conceptual data model is, at a later stage (usually called logical design), mapped to a logical data model, such as the relational model; this in turn is mapped to a physical model during physical design. Note that sometimes, both of these phases are referred to as "physical design".

There are a number of conventions for entity-relationship diagrams (ERDs). The classical notation is described in the remainder of this article, and mainly relates to conceptual modelling. There are a range of notations more typically employed in logical and physical database design, including information engineering, IDEF1x (ICAM DEFinition Language) and dimensional modelling.