Entity-relationship model
From Wikipedia, the free encyclopedia
Categories: Wikipedia articles needing context | Wikipedia introduction cleanup | Data modeling diagrams
When computer users and programmers need to communicate, sometimes it's helpful for them to use a combined language, like Spanglish or Franglaise. Entity Relationship (ER) modeling is all about getting database users, designers, and maintainers to understand one another clearly. For database users who want a simple, straightforward explanation, read pp. 171-175 of Chapter 20, Inside Relational Databases, 2nd Edition, by Mark Whitehorn and Bill Marklyn. It's written in an extremely readable -- and fairly amusing -- style. An Entity-relationship model is used in modern database software engineering to illustrate the logical structure of a database. An Entity-relationship model is a relational schema database modeling method used to model a system and its requirements in a top-down approach. This approach is commonly used in relational (RDBMS) database design. The diagrams created using this method are called ER diagrams. An entity-relationship model (ERM) is an abstract conceptual representation of structured data; entity-relationship modeling is the process of generating these models. The end-product of the modeling process is an entity-relationship diagram (ERD) or ER diagram, a type of conceptual data model or semantic data model. ER diagrams were originally proposed in 1976 by Dr. Pin-Shan (Peter) Chen (陳品山). Many variants have appeared since then. The first stage of information system design uses these models during the requirements analysis to describe information needs or the type of information that is to be stored in a database. 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 modeling. There are a range of notations more typically employed in logical and physical database design, including information engineering, IDEF1x (ICAM DEFinition Language) and dimensional modeling.
ConnectionImage:Erd-entity-relationship-example1.svg
Two related entities
An entity represents a discrete object. Entities can be thought of as nouns. Examples: a computer, an employee, a song, a mathematical theorem. Entities are represented as rectangles. A relationship captures how two or more entities are related to one another. Relationships can be thought of as verbs, linking two or more nouns. Examples: an owns relationship between a company and a computer, a supervises relationship between an employee and a department, a performs relationship between an artist and a song, a proved relationship between a mathematician and a theorem. Relationships are represented as diamonds, connected by lines to each of the entities in the relationship. The model's linguistic aspect described above is utilized in the database query language ERROL. Entities and relationships can both have attributes. Examples: an employee entity might have an SSN attribute; the proved relationship may have a date attribute. Attributes are represented as ellipses connected to their owning entity sets by a line. Every entity (unless it is a weak entity) must have a minimal set of uniquely identifying attributes, which is called the entity's primary key. Entity-relationship diagrams don't show single entities or single instances of relations. Rather, they show entity sets and relationship sets. Example: a particular song is an entity. The collection of all songs in a database is an entity set. The eaten relationship between a child and her lunch is a single relationship. The set of all such child-lunch relationships in a database is a relationship set. Lines are drawn between entity sets and the relationship sets they are involved in. If all entities in an entity set must participate in the relationship set, a thick or double line is drawn. This is called a participation constraint. If each entity of the entity set can participate in at most one relationship in the relationship set, an arrow is drawn from the entity set to the relationship set. This is called a key constraint. To indicate that each entity in the entity set is involved in exactly one relationship, a thick arrow is drawn. Associative entity is used to solve the problem of two entities with a many-to-many relationship [1]. Unary Relationships - a unary relationship is a relationship between the rows of a single table. Alternative diagramming conventionsCrow's FeetImage:ERD-artist-performs-song.svg
Two related entities shown using Crow's Foot notation
The "Crow's Foot" notation, more formally known as Barker's Notation, after Richard Barker, represents relationships with connecting lines between entities, and pairs of symbols at the ends of those lines to represent the cardinality of the relationship. Three symbols are used to represent cardinality:
These symbols are used in pairs to represent the four types of cardinality that an entity may have in a relationship.
These are notations of a side in the ER diagrams You can see an example of the crow's foot notation in the diagram to the right. In the diagram, the following facts are detailed:
This notation is gaining acceptance through common usage in Oracle texts and in tools such as Visio, PowerDesigner and Dia. Crow's foot notation has the following benefits:
See also
Proprietary ER diagramming tools
Free software ER diagramming toolsTools that can interpret and generate ER models, SQL and do database analysis.
Free software Diagram toolsThese are tools that can't create ER diagrams but just draw the shapes without having any knowledge of what they mean or generating SQL.
References
External links
es:Modelo entidad-relación fr:Modèle entité-relation ko:개체-관계 모델 it:Modello E-R nl:Entity-relationshipmodel ja:実体関連モデル pl:Entity Relationship Diagram pt:Diagrama entidade relacionamento ru:ER-модель данных sr:Модел објекти-везе th:แบบจำลองความสัมพันธ์เอนทิตี |



