Entity-relationship model
Encyclopedia
In software engineering
Software engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...

, an entity-relationship model (ERM) is an abstract and conceptual representation of data
Data
The term data refers to qualitative or quantitative attributes of a variable or set of variables. Data are typically the results of measurements and can be the basis of graphs, images, or observations of a set of variables. Data are often viewed as the lowest level of abstraction from which...

. Entity-relationship modeling is a database model
Database model
A database model is the theoretical foundation of a database and fundamentally determines in which manner data can be stored, organized, and manipulated in a database system. It thereby defines the infrastructure offered by a particular database system...

ing method, used to produce a type of conceptual schema
Conceptual schema
A conceptual schema or conceptual data model is a map of concepts and their relationships. This describes the semantics of an organization and represents a series of assertions about its nature...

 or semantic data model
Semantic data model
A semantic data model in software engineering has various meanings:# It is a conceptual data model in which semantic information is included. This means that the model describes the meaning of its instances...

 of a system, often a relational database
Relational database
A relational database is a database that conforms to relational model theory. The software used in a relational database is called a relational database management system . Colloquial use of the term "relational database" may refer to the RDBMS software, or the relational database itself...

, and its requirements in a top-down fashion. Diagrams created by this process are called entity-relationship diagrams, ER diagrams, or ERDs.

This article refers to the techniques proposed in Peter Chen
Peter Chen
Dr. Peter Pin-Shan Chen is an American computer scientist and Professor of Computer Science at Louisiana State University, who is known for the development of Entity-Relationship Modeling in 1976.- Biography :...

's 1976 paper. However, variants of the idea existed previously, and have been devised subsequently.

Overview

The first stage of information system
Information system
An information system - or application landscape - is any combination of information technology and people's activities that support operations, management, and decision making. In a very broad sense, the term information system is frequently used to refer to the interaction between people,...

 design uses these models during the requirements analysis
Requirements analysis
Requirements analysis in systems engineering and software engineering, encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product, taking account of the possibly conflicting requirements of the various stakeholders, such as beneficiaries or users...

 to describe information needs or the type of information
Information
Information in its most restricted technical sense is a message or collection of messages that consists of an ordered sequence of symbols, or it is the meaning that can be interpreted from such a message or collection of messages. Information can be recorded or transmitted. It can be recorded as...

 that is to be stored in a database
Database
A database is an organized collection of data for one or more purposes, usually in digital form. The data are typically organized to model relevant aspects of reality , in a way that supports processes requiring this information...

. The data modeling
Data modeling
Data modeling in software engineering is the process of creating a data model for an information system by applying formal data modeling techniques.- Overview :...

 technique can be used to describe any ontology
Ontology (computer science)
In computer science and information science, an ontology formally represents knowledge as a set of concepts within a domain, and the relationships between those concepts. It can be used to reason about the entities within that domain and may be used to describe the domain.In theory, an ontology is...

 (i.e. an overview and classifications of used terms and their relationships) for a certain 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
Logical data model
A logical data model in systems engineering is a representation of an organization's data, organized in terms of entities and relationships and is independent of any particular data management technology.- Overview :...

, such as the relational model
Relational model
The relational model for database management is a database model based on first-order predicate logic, first formulated and proposed in 1969 by Edgar F...

; 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".

The building blocks: entities, relationships, and attributes

An entity
Entity
An entity is something that has a distinct, separate existence, although it need not be a material existence. In particular, abstractions and legal fictions are usually regarded as entities. In general, there is also no presumption that an entity is animate.An entity could be viewed as a set...

 may be defined as a thing which is recognized as being capable of an independent existence and which can be uniquely identified. An entity is an abstraction from the complexities of some domain. When we speak of an entity we normally speak of some aspect of the real world which can be distinguished from other aspects of the real world.

An entity may be a physical object such as a house or a car, an event such as a house sale or a car service, or a concept such as a customer transaction or order. Although the term entity is the one most commonly used, following Chen we should really distinguish between an entity and an entity-type. An entity-type is a category. An entity, strictly speaking, is an instance of a given entity-type. There are usually many instances of an entity-type. Because the term entity-type is somewhat cumbersome, most people tend to use the term entity as a synonym for this term.

Entities can be thought of as noun
Noun
In linguistics, a noun is a member of a large, open lexical category whose members can occur as the main word in the subject of a clause, the object of a verb, or the object of a preposition .Lexical categories are defined in terms of how their members combine with other kinds of...

s. Examples: a computer, an employee, a song, a mathematical theorem.

A relationship captures how two or more entities are related to one another. Relationships can be thought of as verb
Verb
A verb, from the Latin verbum meaning word, is a word that in syntax conveys an action , or a state of being . In the usual description of English, the basic form, with or without the particle to, is the infinitive...

s, 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.

The model's linguistic aspect described above is utilized in the declarative database query language
Query language
Query languages are computer languages used to make queries into databases and information systems.Broadly, query languages can be classified according to whether they are database query languages or information retrieval query languages...

 ERROL
ERROL
ERROL is a declarative database query and manipulation language for the Entity-relationship model . It is applicable to any data model on which ERM can be mapped, virtually any general purpose database data model...

, which mimics natural language
Natural language
In the philosophy of language, a natural language is any language which arises in an unpremeditated fashion as the result of the innate facility for language possessed by the human intellect. A natural language is typically used for communication, and may be spoken, signed, or written...

 constructs. ERROL's semantics
Semantics
Semantics is the study of meaning. It focuses on the relation between signifiers, such as words, phrases, signs and symbols, and what they stand for, their denotata....

 and implementation are based on Reshaped relational algebra (RRA), a relational algebra which is adapted to the ERM and captures its linguistic aspect.

Entities and relationships can both have attributes. Examples: an employee entity might have a Social Security Number (SSN) attribute; the proved relationship may have a date attribute.

Every entity (unless it is a weak entity
Weak entity
In a relational database, a Weak Entity is an entity that cannot be uniquely identified by its attributes alone; therefore, it must use a foreign key in conjunction with its attributes to create a primary key...

) 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.
In other words, a relationship set corresponds to a relation in mathematics
Relation (mathematics)
In set theory and logic, a relation is a property that assigns truth values to k-tuples of individuals. Typically, the property describes a possible connection between the components of a k-tuple...

, while a relationship corresponds to a member of the relation.

Certain cardinality constraint
Cardinality (data modeling)
In data modeling, the cardinality of one data table with respect to another data table is a critical aspect of database design. Relationships between data tables define cardinality when explaining how each table links to another....

s on relationship sets may be indicated as well.

Relationships, roles and cardinalities

In Chen's original paper he gives an example of a relationship and its roles. He describes a relationship "marriage" and its two roles "husband" and "wife".

A person plays the role of husband in a marriage (relationship) and another person plays the role of wife in the (same) marriage. These words are nouns. That is no surprise, naming things requires a noun.

However as is quite usual with new ideas, many eagerly appropriated the new terminology but then applied it to their own old ideas. Thus the lines, arrows and crows-feet of their diagrams owed more to the earlier Bachman diagrams than to Chen's relationship diamonds. And they similarly misunderstood other important concepts.

In particular, it became fashionable (now almost to the point of exclusivity) to "name" relationships and roles as verbs or phrases.

Relationship Names

A relationship expressed with a verb that implies direction, makes it impossible to discuss the model using correct English. Examples are:
  • the song and the performer are related by a 'performs'
  • the husband and wife are related by an 'is-married-to'.


Expressing the relationships with a noun resolves this:
  • the song and the performer are related by a 'performance'
  • the husband and wife are related by a 'marriage'.

Role naming

It has also become prevalent to name roles with phrases e.g. is-the-owner-of and is-owned-by etc. Correct nouns in this case are "owner" and "possession". Thus "person plays the role of owner" and "car plays the role of possession" rather than "person plays the role of is-the-owner-of" etc.

The use of nouns has direct benefit when generating physical implementations from semantic models. When a person has two relationships with car then it is possible to very simply generate names such as "owner_person" and "driver_person" which are immediately meaningful.

Cardinalities

However some modifications to the original specification are beneficial. Chen described look-across cardinalities. UML perpetuates this. (As an aside, the Barker-Ellis
Barker's Notation
Barker's notation refers to the ERD notation developed by Richard Barker, Ian Palmer, Harry Ellis et al. whilst working at the British consulting firm CACI around 1981. The notation was adopted by Barker when he joined Oracle and is effectively defined in his book Entity Relationship Modelling as...

 notation used in Oracle Designer, uses same-side for minimum cardinality (analogous to optionality) and role, but look-across for maximum cardinality (the crows foot)).

Other authors (Merise
Merise
Merise is a general-purpose modeling methodology in the field of information systems development, software engineering and project management...

, Elmasri & Navathe amongst others) prefer same-side for roles and both minimum and maximum cardinalities. Recent researchers (Feinerer, Dullea et. alia ) have shown that this is more coherent when applied to n-ary relationships of order >2.

In Dullea et. alia "An analysis of structural validity in entity-relationship modeling" one reads "A 'look across' notation such as used in the UML does not effectively represent the semantics of participation constraints imposed on relationships where the degree is higher than binary."

In Feinerer it says "Problems arise if we operate under the look-across semantics as used for UML associations. Hartmann investigates this situation and shows how and why different transformations fail." (Although the "reduction" mentioned is spurious as the two diagrams 3.4 and 3.5 are in fact the same) and also "As we will see on the next few pages, the look-across interpretation introduces several difficulties which prevent the extension of simple mechanisms from binary to n-ary associations."

Semantic Modelling

The father of ER modelling said in his seminal paper: "The entity-relationship model adopts the more natural view that the real world consists of entities and relationships. It incorporates some of the important semantic information about the real world." He is here in accord with philosophic and theoretical traditions from the time of the Ancient Greek philosophers: Socrates, Plato and Aristotle (428 BC) through to modern epistemology, semiotics
Semiotics
Semiotics, also called semiotic studies or semiology, is the study of signs and sign processes , indication, designation, likeness, analogy, metaphor, symbolism, signification, and communication...

 and logic
First-order logic
First-order logic is a formal logical system used in mathematics, philosophy, linguistics, and computer science. It goes by many names, including: first-order predicate calculus, the lower predicate calculus, quantification theory, and predicate logic...

 of Pierce, Frege
Gottlob Frege
Friedrich Ludwig Gottlob Frege was a German mathematician, logician and philosopher. He is considered to be one of the founders of modern logic, and made major contributions to the foundations of mathematics. He is generally considered to be the father of analytic philosophy, for his writings on...

 and Russell
Bertrand Russell
Bertrand Arthur William Russell, 3rd Earl Russell, OM, FRS was a British philosopher, logician, mathematician, historian, and social critic. At various points in his life he considered himself a liberal, a socialist, and a pacifist, but he also admitted that he had never been any of these things...

.
Plato
Plato
Plato , was a Classical Greek philosopher, mathematician, student of Socrates, writer of philosophical dialogues, and founder of the Academy in Athens, the first institution of higher learning in the Western world. Along with his mentor, Socrates, and his student, Aristotle, Plato helped to lay the...

 himself associates knowledge with the apprehension of unchanging Forms (The forms, according to Socrates, are roughly speaking archetypes or abstract representations of the many types of things, and properties) and their relationships to one another.
In his original 1976 article Chen explicitly contrasts Entity-Relationship diagrams with record modelling techniques: "The data structure diagram
Bachman diagram
Bachman diagrams are diagrams which are used to design the data using a network or relational "logical" model, separating the data model from the way the data is stored in the system. The model is named after database pioneer Charles Bachman, and mostly used in computer software design...

 is a representation of the organisation of records and is not an exact representation of entities and relationships."
Several other authors also support his program:

Kent in "Data and Reality" : "One thing we ought to have clear in our minds at the outset of a modelling endeavour is whether we are intent on describing a portion of "reality" (some human enterprise) or a data processing activity."

Abrial
Jean-Raymond Abrial
Jean-Raymond Abrial is a French computer scientist and inventor of the Z and B formal methods.J.-R. Abrial is the father of the Z notation , during his time at the Programming Research Group within the Oxford University Computing Laboratory, and later the B-Method , two leading...

 in "Data Semantics" : "... the so called "logical" definition and manipulation of data are still influenced (sometimes unconsciously) by the "physical" storage and retrieval mechanisms currently available on computer systems."

Stamper: "They pretend to describe entity types, but the vocabulary is from data processing: fields, data items, values. Naming rules don't reflect the conventions we use for naming people and things; they reflect instead techniques for locating records in files."

In Jackson's
Jackson Structured Programming
Jackson Structured Programming or JSP is a method for structured programming based on correspondences between data stream structure and program structure...

 words: "The developer begins by creating a model of the reality with which the system is concerned, the reality which furnishes its [the system's] subject matter ..."

Elmasri, Navathe: "The ER model concepts are designed to be closer to the user’s perception of data and are not meant to describe the way in which data will be stored in the computer."

A semantic model is a model of concepts, it is sometimes called a "platform independent model". It is an intensional model. At the latest since Carnap
Rudolf Carnap
Rudolf Carnap was an influential German-born philosopher who was active in Europe before 1935 and in the United States thereafter. He was a major member of the Vienna Circle and an advocate of logical positivism....

, it is well known that: "...the full meaning of a concept is constituted by two aspects, its intension and its extension. The first part comprises the embedding of a concept in the world of concepts as a whole, i.e. the totality of all relations to other concepts. The second part establishes the referential meaning of the concept, i.e. its counterpart in the real or in a possible world". An extensional model is that which maps to the elements of a particular methodology or technology, and is thus a "platform specific model". The UML specification explicitly states that associations in class models are extensional and this is in fact self evident by considering the extensive array of additional "adornments" provided by the specification over and above those provided by any of the prior candidate "semantic modelling languages"."UML as a Data Modeling Notation, Part 2"

Diagramming conventions

Chen's notation for entity-relationship modeling uses rectangles to represent entities, and diamonds to represent relationships appropriate for first-class object
First-class object
In programming language design, a first-class citizen , in the context of a particular programming language, is an entity that can be constructed at run-time, passed as a parameter, returned from a subroutine, or assigned into a variable...

s: they can have attributes and relationships of their own.
Entity sets are drawn as rectangles, relationship sets as diamonds.
If an entity set participates in a relationship set, they are connected with a line.

Attributes are drawn as ovals and are connected with a line to exactly one entity or relationship set.

Cardinality constraints are expressed as follows:
  • a double line indicates a participation constraint, totality
    Total relation
    In mathematics, a binary relation R over a set X is total if for all a and b in X, a is related to b or b is related to a .In mathematical notation, this is\forall a, b \in X,\ a R b \or b R a....

     or surjectivity
    Surjective function
    In mathematics, a function f from a set X to a set Y is surjective , or a surjection, if every element y in Y has a corresponding element x in X so that f = y...

    : all entities in the entity set must participate in at least one relationship in the relationship set;
  • an arrow from entity set to relationship set indicates a key constraint
    Unique key
    In relational database design, a unique key can uniquely identify each row in a table, and is closely related to the Superkey concept. A unique key comprises a single column or a set of columns. No two distinct rows in a table can have the same value in those columns if NULL values are not used...

    , i.e. injectivity: each entity of the entity set can participate in at most one relationship in the relationship set;
  • a thick line indicates both, i.e. bijectivity
    Bijection
    A bijection is a function giving an exact pairing of the elements of two sets. A bijection from the set X to the set Y has an inverse function from Y to X. If X and Y are finite sets, then the existence of a bijection means they have the same number of elements...

    : each entity in the entity set is involved in exactly one relationship.
  • an underlined name of an attribute indicates that it is a key
    Unique key
    In relational database design, a unique key can uniquely identify each row in a table, and is closely related to the Superkey concept. A unique key comprises a single column or a set of columns. No two distinct rows in a table can have the same value in those columns if NULL values are not used...

    : two different entities or relationships with this attribute always have different values for this attribute.


Attributes are often omitted as they can clutter up a diagram; other diagram techniques often list entity attributes within the rectangles drawn for entity sets.

Related diagramming convention techniques:
  • Bachman notation
    Bachman diagram
    Bachman diagrams are diagrams which are used to design the data using a network or relational "logical" model, separating the data model from the way the data is stored in the system. The model is named after database pioneer Charles Bachman, and mostly used in computer software design...

  • EXPRESS
  • IDEF1X
    IDEF1X
    IDEF1X is a data modeling language for the developing of semantic data models. IDEF1X is used to produce a graphical information model which represents the structure and semantics of information within an environment or system.IDEF1X permits the construction of semantic data models which may serve...

  • Martin notation
    James Martin (author)
    James Martin is a British Information Technology consultant and author, who was nominated for a Pulitzer prize for his book, The Wired Society: A Challenge for Tomorrow .- Biography :...

  • (min, max)-notation of Jean-Raymond Abrial
    Jean-Raymond Abrial
    Jean-Raymond Abrial is a French computer scientist and inventor of the Z and B formal methods.J.-R. Abrial is the father of the Z notation , during his time at the Programming Research Group within the Oxford University Computing Laboratory, and later the B-Method , two leading...

     in 1974
  • UML
    Unified Modeling Language
    Unified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...

     class diagrams
  • Merise
    Merise
    Merise is a general-purpose modeling methodology in the field of information systems development, software engineering and project management...


Crow's Foot Notation

Crow's Foot notation is used in Barker's Notation
Barker's Notation
Barker's notation refers to the ERD notation developed by Richard Barker, Ian Palmer, Harry Ellis et al. whilst working at the British consulting firm CACI around 1981. The notation was adopted by Barker when he joined Oracle and is effectively defined in his book Entity Relationship Modelling as...

, SSADM
Structured Systems Analysis and Design Method
Structured systems analysis and design method is a systems approach to the analysis and design of information systems. SSADM was produced for the Central Computer and Telecommunications Agency , a UK government office concerned with the use of technology in government, from 1980 onwards.- Overview...

 and Information Engineering
Information engineering
Information engineering or information engineering methodology in software engineering is an approach to designing and developing information systems.-Overview:...

. Crow's Foot diagrams represent entities as boxes, and relationships as lines between the boxes. Different shapes at the ends of these lines represent the cardinality of the relationship.

Crow's Foot notation was used in the 1980s by the consultancy practice CACI
CACI
CACI International Inc is a professional services and information technology company headquartered in Arlington, Virginia. CACI is a member of the Fortune 1000 Largest Companies and the Russell 2000 index. The company has approximately 13,700 employees in over 120 offices in the U.S. and...

. Many of the consultants at CACI (including Richard Barker) subsequently moved to Oracle
Oracle Corporation
Oracle Corporation is an American multinational computer technology corporation that specializes in developing and marketing hardware systems and enterprise software products – particularly database management systems...

 UK, where they developed the early versions of Oracle's CASE
Computer-aided software engineering
Computer-aided software engineering is the scientific application of a set of tools and methods to a software system which is meant to result in high-quality, defect-free, and maintainable software products...

 tools, introducing the notation to a wider audience. The following tools use Crow's Foot notation: ARIS
Architecture of Integrated Information Systems
ARIS is an approach to enterprise modeling. It offers methods for analyzing processes and taking a holistic view of process design, management, work flow, and application processing....

, System Architect
System Architect (software)
IBM Rational System Architect is an enterprise architecture tool that is used by the business and technology departments of corporations and government agencies to model their business operations and the systems, applications, and databases that support them...

, Visio
Microsoft Visio
Microsoft Visio , formerly known as Microsoft Office Visio, is a commercial diagramming program for Microsoft Windows that uses vector graphics to create diagrams.- Features :...

, PowerDesigner
PowerDesigner
PowerDesigner is a collaborative enterprise modelling tool produced by Sybase. PowerDesigner runs under Microsoft Windows as a native application, and runs under Eclipse through a plugin. PowerDesigner supports model-driven architecture software design. PowerDesigner uses the .pdm file...

, Toad Data Modeler
TOAD (software)
Toad is a software application from Quest Software used for development and administration of various relational databases using SQL.- Supported databases and environments :...

, DeZign for Databases
DeZign for Databases
DeZign for Databases is a database design and data modeling tool for multiple database platforms . It can be used to create, maintain and document new or existing database systems. The tool uses Entity-relationship diagram...

, Devgems Data Modeler
Devgems Data Modeler
Devgems Data Modeler is a database design software targeting multiple database systems . It is used by data modelers, database administrators and software developers to create and manage database models and integrate with existing software development tools like CodeGear Delphi.-Key Features:*...

, OmniGraffle
OmniGraffle
OmniGraffle is a diagramming application made by The Omni Group. OmniGraffle is built only for Mac OS X and the iPad. It may be used to create diagrams, flow charts, org charts, and illustrations. It features a drag-and-drop WYSIWYG interface...

, MySQL Workbench
MySQL Workbench
MySQL Workbench is a visual database design tool that integrates SQL development, administration, database design, creation and maintenance into a single integrated development environment for the MySQL database system...

 and SQL Developer Data Modeler
Oracle SQL Developer
In computing, Oracle SQL Developer is an Integrated development environment for working with SQL in Oracle databases. Oracle Corporation provides this product free; it uses the Java Development Kit.- Features :...

. CA's ICASE tool, CA Gen aka Information Engineering Facility also uses this notation.

ER diagramming tools

There are many ER diagramming tools. Some free software ER diagramming tools that can interpret and generate ER models and SQL and do database analysis are MySQL Workbench
MySQL Workbench
MySQL Workbench is a visual database design tool that integrates SQL development, administration, database design, creation and maintenance into a single integrated development environment for the MySQL database system...

 (formerly DBDesigner), and Open ModelSphere
Open ModelSphere
Open ModelSphere is a data, process and UML modeling tool written in Java and released under the open source GPL License. It provides support for forward and reverse engineering between UML and relational schemas.-History:...

 (open-source). A freeware ER tool that can generate database and application layer code (webservices) is the RISE Editor
RISE Editor
The RISE Editor is a free information modeling tool for information system development based on model driven development. Functionality includes automatic interface composition, database generation and updates, data insertion, programming interface publishing and web service generation. The...

.

Some of the proprietary ER diagramming tools are Avolution
Avolution
Avolution is a global provider of Enterprise Architecture, Enterprise Modeling and Process Modeling software with offices based in Sydney - Australia, Oxford - UK and the Washington Metropolitan Area - USA...

, dbForge Studio for MySQL
DbForge Studio for MySQL
dbForge Studio for MySQL is a software application created by Devart for developing and administrating the popular Relational Database Management System MySQL.-Editions :...

, ER/Studio
ER/Studio
ER/Studio is data architecture and database design software developed by Embarcadero Technologies. It works across multiple database platforms and is used by data architects, data modelers, database administrators and business analysts to create and manage database designs, document and reuse data...

, ERwin
CA ERwin Data Modeler
CA ERwin Data Modeler is a software tool for data modeling of custom developed information systems, including databases of transactional systems and data marts...

, MEGA International
MEGA International
MEGA International is a software vendor producing products in the areas of Business Process, Enterprise Architecture, Governance, Risk Management, and Compliance, IT Planning, IT Systems Analysis and Design, Enterprise Risk Management, Operational Risk Management, Internal Audit and Compliance, and...

, ModelRight
ModelRight
ModelRight is a database design and data modeling tool developed by ModelRight Inc. It is used by data modelers, database developers and database architects to create, visualize, and document their databases as an Entity Relationship Diagram .-Features:...

, OmniGraffle, Oracle Designer
Oracle Designer
Oracle Designer is Oracle's CASE tool for designing an information system and generating it. After generating the information system one is able to edit the generated code with Oracle Developer Suite-Components of Oracle Designer:Business Process Modelling...

, PowerDesigner, Rational Rose, Sparx Enterprise Architect, SQLyog
SQLyog
SQLyog is a GUI tool for the RDBMS MySQL. It is developed by Webyog, Inc. based out of Bangalore, India and Santa Clara, California.-History:...

, System Architect, Toad Data Modeler
Toad Data Modeler
Toad Data Modeler is a database design tool allowing users to visually create, maintain and document new or existing database systems. It was previously called "CASE Studio 2" before it was acquired from Charonware by Quest Software in 2006...

, and Visual Paradigm.

Some free software diagram tools just draw the shapes without having any knowledge of what they mean, nor do they generate SQL. These include yEd
YEd
yEd is a freely available, general-purpose diagramming software with amulti-document interface.It is a cross-platform application written in Java that runs on Windows, Linux, Mac OS, or any platform that supports the JVM....

, LucidChart
LucidChart
LucidChart is a web-based diagramming software. This software is notable because it is built on web standards such as HTML5 and Javascript and provides real-time collaboration for the creation of graphical content...

, Kivio
Kivio
Calligra Flow, formerly known as Kivio, is a free diagramming software that is part of Calligra Suite, an integrated graphic art and office suite by KDE.-Description:...

, and Dia.

See also

  • Associative entity
    Associative Entities
    An associative entity is an element of the Entity-relationship model. The database relational model does not offer direct support to many-to-many relationships, even though such relationships happen frequently in normal usage. The solution to this problem is the creation of another table to hold...

  • Database design
    Database design
    Database design is the process of producing a detailed data model of a database. This logical data model contains all the needed logical and physical design choices and physical storage parameters needed to generate a design in a Data Definition Language, which can then be used to create a database...

  • Data structure diagram
    Data structure diagram
    A Data Structure Diagram is a data model used to describe conceptual data models by providing graphical notations which document entities and their relationships, and the constraints that binds them....

  • Enhanced Entity-Relationship Model
    Enhanced Entity-Relationship Model
    In computer science, the enhanced entity-relationship model is a high-level or conceptual data model incorporating extensions to the original entity-relationship model, used in the design of databases....

  • Object Role Modeling
    Object role modeling
    Object Role Modeling is a method for conceptual modeling, and can be used as a tool for information and rules analysis, ontological analysis, and data modeling in the field of software engineering.- Overview :...

  • Three schema approach
    Three schema approach
    The three-schema approach, or the Three Schema Concept, in software engineering is an approach to building information systems and systems information management from the 1970s...

  • Value range structure diagrams
  • Comparison of Data Modeling Tools
    Comparison of data modeling tools
    This article is a comparison of data modeling tools which are notable, including standalone, conventional data modeling tools and modeling tools supporting data modeling as part of a larger modeling environment.- General :- Features :- See also :...


Further reading

  • Richard Barker (1990). CASE Method: Tasks and Deliverables. Wokingham, England: Addison-Wesley.
  • Paul Beynon-Davies (2004). Database Systems. Houndmills, Basingstoke, UK: Palgrave
  • 1976. "The Entity-Relationship Model--Toward a Unified View of Data". In: ACM Transactions on Database Systems 1/1/1976 ACM-Press ISSN 0362-5915, S. 9–36

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK