Talk:Entity–relationship model

From Wikipedia, the free encyclopedia
Jump to: navigation, search
          This article is of interest to the following WikiProjects:
WikiProject Databases / Computer science  (Rated C-class, High-importance)
WikiProject icon This article is within the scope of WikiProject Databases, a collaborative effort to improve the coverage of database related articles on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
C-Class article C  This article has been rated as C-Class on the project's quality scale.
 High  This article has been rated as High-importance on the project's importance scale.
Taskforce icon
This article is supported by WikiProject Computer science (marked as High-importance).
 
WikiProject Systems (Rated Start-class, High-importance)
WikiProject icon This article is within the scope of WikiProject Systems, which collaborates on articles related to systems and systems science.
Start-Class article Start  This article has been rated as Start-Class on the project's quality scale.
 High  This article has been rated as High-importance on the project's importance scale.
Taskforce icon
This article is within the field of Scientific modeling.
 

Third sentence very unclear[edit]

"...for instance, your entry in the database could point to several entries for each of the phone numbers that are yours" I can't understand what this is trying to say. First off, what does it mean "your entry". --206.87.81.34 (talk) 08:08, 2 November 2012 (UTC)

Prevalence of Crow's Foot Notation[edit]

In 13 years doing database work in the United States, I've Foot notation everywhere. This part needs a citation: "Usage of Chen notation is more prevalent in the United States, while Crow's Foot notation is used primarily in the UK."

205.173.24.4 (talk) 18:58, 17 November 2010 (UTC)

This part needs a citation: "Usage of Chen notation is more prevalent in the United States, while Crow's Foot notation is used primarily in the UK and Australasia." — Preceding unsigned comment added by Kdf9andtd1a (talkcontribs) 02:32, 15 July 2011 (UTC)

Common Symbols Section Needs Work[edit]

I must say that I agree at least on the lack of clarity of the first sentence. Either its meaning is wrong or it is poorly written. Whichever it is, the first sentence of the introduction is misleading to the least. 194.221.74.7 08:54, 8 June 2006 (UTC)

I agree - calling an entity a 'discrete object is not very accurate, but then again, what would be a more accurate term? Rp 10:20, 10 July 2006 (UTC)

I'm not sure about a relationship having an attribute. How can this convert into a logical model?--Nick 18:11, 4 March 2006 (UTC)

You have a good point there - I think conversion from ER model to logical relational model must be treated if only to make the point that the ER model is not an informal drawing technique but has a sound formal basis. Rp 10:20, 10 July 2006 (UTC)

Another issue is the (universal) confusion between entities and entity sets, relationships and relationship sets. This article dutifully explains the "correct" use of the terms, but before it does so has already used them "incorrectly" (i.e. how everybody uses them in practice) quite a few times. So either the terms e. set and r. set should be omitted or a more thorough clarification is in order. Rp 12:17, 10 July 2006 (UTC)

Symbols[edit]

Any chance someone could mock up a set of images showing what these symbols are supposed to look like? Describing them is all well and good, but a picture can be worth a thousand words.  :) Thanks, Eirikr 03:45, 8 Apr 2005 (UTC)

I've added a first example diagram. I'd like to include some more images but I'm having trouble deciding which examples would best clarify some of the text. Also, I'm wondering if it'd make any sense to upload the original Dia files and refer to them from the Image:erd-*.png nodes for if anyone else wants to change something in the coloring or whatnot... --BigSmoke 16:27, 12 Jun 2005 (UTC)

Agreed. Just for fun: Can we get an ERD of the wiki that wikipedia et al. use?

Diagrams and ER 2004[edit]

As far as I know there are multiple ways of drawing ER diagrams. I use arrows. Yet the article implies that''''Bold text' there's only this one way.

Where's the explanation/links about ER 2004? --Khokkanen 12:53, 10 June 2006 (UTC)

I have added a section entitled Alternative diagramming conventions with a diagram and explanation for Crow's Feet notation. I encourage you all to post up similar descriptions of the notations you prefer. See also Diagram is not standard section below. --Matthew 1130 13:05, 30 December 2006 (UTC)
That's not the classical Crow's Foot notation, it's IDEF1X. -- EmmetCaulfield 11:20, 6 November 2007 (UTC)

Diagram is not standard[edit]

This diagram is not remotely similar to the methods used by nearly all of the major ER tools in use today. IDEF1X is far and away a more common mechanism, as are derivatives of that method that vary primarily in the symbols used to indicate n-ary relationships.

I suggest we replace this article with one that is similar to the article referenced by the IDEF1X link (US Navy, I think). This article is absolutely useless for practitioners and students of ER models. User:nickmalik 11:47 15 Oct 2006 {PDT)

I strongly disagree. Since the article's subject is the Entity-Relationship Model it should use the classical notation. Any other choice would be somewhat arbitrary as there are many tools and many dialects and none of them is really predominant. Most (database) textbooks I know use the classical notation. -- Jan Hidders 21:39, 15 October 2006 (UTC)
I suppose we should use Roman Numerals for math articles since they are a more "classical representation". I have been involved with data modeling for nearly 20 years and have never seen an ER diagram like that. I agree that IDEF1X is generally considered the best representation. —The preceding unsigned comment was added by 74.242.64.129 (talk) 19:54, 17 December 2006 (UTC).

What about the cardinalities of relationships? I thought these were annotated by numbers on the arcs of the relationships?Jam2001 12:50, 18 October 2006 (UTC)

Yes, that is correct. Why? -- Jan Hidders 21:29, 18 October 2006 (UTC)


I have added a section entitled Alternative diagramming conventions with a diagram and explanation for Crow's Feet notation. I encourage you all to post up similar descriptions of the notations you prefer.

I suspect we should replace the Artist-Song relationship with a Product-Recommendation relationship, because Artist-Song is really a many-to-many relationship if we are going to be true to the real world, and we need a one-to-many relationship to best illustrate the diagramming convention. My one concern is whether the editor who originally created the Artist-Song diagram can modify it to Product-Recommendation? Matthew 1130 12:53, 19 December 2006 (UTC)

If I have the support of other Wikipedians here, I'd be happy to refactor the Common symbols section, putting the "Crow's Feet" notation at the top until such time as we have a more appropriate notation available. Please let me know. Matthew 1130 12:37, 19 December 2006 (UTC)


The problem is that there are at least half-a-dozen different diagrammatic notations, which people call "ERDs". Proponents of IDEF(1X), Crow's Foot, Chen-style, and at least two others that I can draw but can't name, will insist that their style is the "one true ERD". The Chen style (which *is* the original) is distinguished from the others by representing relationship types explicitly as "first class objects" (nodes) rather than as lines (edges). AFAICT, every diagram in any of the other (non-Chen) styles of "ERD" is isomorphic to a relational schema and, therefore, to a diagram in any of the other styles. In other words, any non-Chen "ERD" can be converted to a non-Chen "ERD" in one of the other styles by a simple relabeling and no "mapping procedure" is needed to obtain a relational schema; they are, therefore, merely alternative representations of relational schemata. There is information loss in mapping from a Chen-style ERD to a relational schema (e.g. compound attributes are flattened), so it *is* different and, IMHO, operates at a somewhat higher level of abstraction. The assertion that the Chen-style diagram "is not standard" is simply false: it may not be your favourite style (e.g. IDEF(1X)), but it is a perfectly standard Chen-style (i.e. "original") ERD and these are used for pedagogic purposes in textbooks (c.f. Elmasri & Navathe) and university courses (at least two that I know of in two different countries) all over the world. -- EmmetCaulfield 11:43, 6 November 2007 (UTC)

No, the Chen style is NOT the original. Consultants at Scicon and CACI in the UK were using a kind of crow's foot notation in the early 1970s. But they didn't write academic papers about it, so it's hard to prove. ER modelling was invented by practitioners, not by Chen; Chen's contribution was to formalize the ideas and introduce them to an academic audience. Mhkay (talk) 07:33, 8 April 2009 (UTC)

THE EXAMPLE DIAGRAM IS WRONG!!!![edit]

I'm almost positive that the character should run into the creep instantiation and not the creep? Could someone verify this? Epachamo 23:02, 3 November 2006 (UTC)

What in the world is "creep instantiation"??? I've never heard of it and got no hits on Google when I searched for it. --Matthew 1130 13:08, 30 December 2006 (UTC)
The example diagram is not wrong. My group and I designed this ER diagram and I photoshopped it up. What we had in mind was that the creeps themselves would be molds for individual instantiations. For a simple example, think of Super Mario Brothers. There's a bunch of Goomba's running around, and they all look the same, but they're not the same one - they are all in different locations, and can be dealt with individually. The Goomba's in this example are Creep Instantiations, while the concept of a Goomba itself is a Creep. As to the term "creep instantiation", of course it's not real, we made it up for the project. ~ [ Matthew Tardiff 18:47, 30 December 2006 (UTC) ]
I think the issue here is that Super Mario Brothers is outside the problem domain for a number of us wikipedians here (and for a large number of visitors too). Finding a problem domain that is relatable for everyone is a high priority, do you have a preference from the ideas listed below, or perhaps another idea for a suitable problem domain:
  • Customer, Sales Rep, Sales Order, Sales Order Item, Product.
  • Borrower, Library, Section, Book, Book Category, Category, Loan, Loan Item.
  • Student, Degree, Degree Subject, Subject, Subject Instance, Course, Course Item, Lecturer, Lecturer Subject.
  • Artist, Album, Album Song, Song, Composer.
-- Matthew 1130 13:09, 31 December 2006 (UTC)
Super Mario Brothers was not the issue I was bringing up. I personally think the current diagram is a great example. Everybody can relate to games. Epachamo 18:23, 10 January 2007 (UTC)
On the contrary Epachmo, it's mostly those in your demographic and culture who relate to these games. The people who read Wikipedia are very diverse. People who are likely to read this particular article would easily include project managers, domain experts, chief financial officers, business analysts and software testers, men and women from 18 to 65 years, many of whom would be unfamiliar with computer games. I'm thinking to proceed with the Sales problem domain from the paragraph above, which I suspect is the area that people from most cultures and backgrounds would be able to relate to.
BTW, we can retain your diagram too. If you're game to reproduce the same diagram using a few different notations, it could become a very useful cross reference.
-- Matthew 1130 09:42, 11 January 2007 (UTC)
PS. Sorry, I just realised I'd taken over your section and your original question isn't answered yet.
I've recently drawn up a few ERDs for Business Process Modeling, although clearly not as adequate as the Sales domain I'll try and get them up using several different notations for cross-reference. --Guillaume (talk) 12:38, 11 January 2008 (UTC)
I totaly agree with Epachamo that it would make better sense that a Character should run into and Instance of a creep and not the Creep's "concept". --Guillaume (talk) 12:38, 11 January 2008 (UTC)

I think there was some misunderstanding here. A character would indeed run into an instance of a creep during the game - but that's not what this database is storing. This database is storing each type of creep which the character has encountered. -- Matthew Tardiff (12.199.176.12 (talk) 21:47, 20 August 2009 (UTC))

That makes more sense. I think the confusion comes from the phrase "runs into". It would be better if instead it read, Character "Has encountered this type of" Creep or something like that. Epachamo (talk) 21:01, 22 September 2009 (UTC)

Model -vs- Method[edit]

I doubt that an Entity-relationship model can be called a data model. It is a method to design data models. --Udo Altmann 13:42, 18 Oct 2004 (UTC)

If it were a method it would be called the Entity-Relationshp Method. The researchers at the ER 2004 would be highly amazed by your claim that the ER model is not a data model. -- Jan Hidders 11:05, 19 Oct 2004 (UTC)
Sorry for again starting a method discussion. The introduction sounds as if the ERModel is a data model for a data model - a meta model - which for me has an implicit methodological aspect. I think this was, what caused my discomfort. Wouldn't it be simplier (and still correct) to say "A Entity-Relationship model is a high-level description of a conceptual data model. Entity-Relationship models include graphical notations for representing such data models in the form of entity-relationship diagrams". --Udo Altmann 09:24, 1 Nov 2004 (UTC)
It would be incomplete. As already explained, the ER model is a meta model (with a graphical notation and some semantics), so that is of course what the introduction should explain. Why are you uncomfortable with that? I also fail to see why you connect that with a methodological aspect because that link is very very weak. There is no fixed method to arrive at your model and there is no fixed method to go from your ER diagram to your relational model, and, as was already explained, the scope of the ER model is much wider than just a method to arrive at your relational model. So what then is it exactly that you mean with this mysterious "methodological aspect"? It's still as if you want to believe that the ER model is a method. Please don't. Apart from being incorrect that view is much too narrow and does unjustice to the ER model. :-) -- Jan Hidders 13:53, 2 Nov 2004 (UTC)

relation vs. relationship[edit]

I was consulting this entry in order to learn about how the terms relation vs. relationship are used.

Unfortunately, after reading the entry I was even more confused, because the "Common symbols" section seems to use both words interchangeably:

"Relationships can be thought of as verbs. Examples: an owns relation between a company and a computer ..."

Is this uncertainty inherent in those words? Or is there any consensus on how to distinguish these three levels:

  • an individual tuple (a row in a table)
  • a set of tuples (a table filled with rows)
  • a type of sets of tuples (a table definition - what is actually drawn in a ER-diagram)

87.162.24.12 16:15, 21 January 2007 (UTC)


You are correct ... the Common symbols section needs a fair bit of work. I've made the correction, but it still needs more work another day.

To put it into common language, if your brother is a "relation" (aka "entity"), then you have a "relationship" with him, keeping in mind that this is a rather rough analogy.

A tuple is the correct term, and probably should be mentioned on the article somewhere, although I usually prefer the term row or record because it reaches a wider audience.

Thanks,
Matthew 1130 12:47, 22 January 2007 (UTC)

ER diagramming tools - Linkfarm[edit]

The software currently listed is mostly shareware. Can this list cleaned up?? Most of the software doesn't even draw real (E)ER! They are *DATABASE* design tools, (E)ER is a particular modeling language. --ThG 14:22, 13 January 2007 (UTC)

I agree, it would be good to separate the shareware -vs- commericial offerings in two separate subsections in ER diagramming tools. Do we have a volunteer to figure this out?
ThG, what precisely do you mean by "not even drawing real ER"? ER is not a particular modelling language, there are many different notations for ER. Was there any specific products in the list that you are concerned don't belong?
-- Matthew 1130 10:01, 14 January 2007 (UTC)
Well, ER is a particular modelling language. Anyway, I should've been more specific: ER itself sux, the real modeling language is known as EER (Extended ER or Enhanced ER), which includes leak entities, unions, derivations, etc). I'll go through the software list again and get back to you.
--ThG 19:40, 18 January 2007 (UTC)

I removed all the external links. It was becoming quite a linkfarm, violating WP:EL and WP:NOT#REPOSITORY . --Ronz 02:50, 17 February 2007 (UTC)

It's a shame because this one in particular was really good, and it's totally free and easily accessible from anywhere with an internet connection, unlike the others. You would however be technically right in that it is a relation schema designer and not an (E)ER diagram designer. --Wizgha 18:15, 18 February 2007 (UTC)
Here's the external links that were deleted from Entity-relationship model#ER diagramming tools. They look like real players in the market. Asking for volunteers to create a separate wikipedia pages for them so they can be relisted (refactored - content removed per WP:TALK):
Matthew 1130 13:52, 26 February 2007 (UTC)

The "ER diagramming tools" section is becoming a linkfarm, with the inappropriate external links. The section may be large enough to become a separate article as well. For now, I'm removing the external links per WP:NOT#REPOSITORY. --Ronz 15:49, 19 March 2007 (UTC)

Here are the (refactored per WP:TALK) latest deleted links, calling volunteers to create wikipedia pages for these products:

-- Matthew 1130 15:41, 8 August 2007 (UTC)

While creating these articles, please keep in mind WP:CORP. Thanks! --Ronz 19:29, 8 August 2007 (UTC)


I've cleaned up the links yet again, removing linkspam and entries that don't have their own articles. --Ronz (talk) 23:05, 19 November 2007 (UTC)


I have put the folowing text in Ronz talk page:

Hello Ronz,


I undid your removal of the non-notable softwares in Entity-Relationshiup Diagram page, because it has already helped me and I belive other users in finding a solution that can be adequate for creating this diagram with an open-source solution. I was the initial person who divided the list in proprietary and open source software as I was trying to find a software that fullfill my need, and as I expected, many other people contributed with solutions and finally I dicovered Power*Architect which has recently became open-source. I am a System Analyst of a major brazilian governament company and my division has adopted this software for it´s use after these events. So I think is really helpful, and ask you to leave it. As you may already know, there isn´t any open-source solution in this area with the recent exception I told you. Our best hope is Power*Architect and brModelo. Please don´t remove this list. Other softwares may appear and this page is my (and others) first source of information.
You me reach me on nt777@hotmail.com

Nelson Teixeira —Preceding unsigned comment added by 201.70.139.207 (talk) 02:02, 6 December 2007 (UTC)

To which Ronz responded:

Please discuss this on the article talk page. There are a couple of ways where something like this could be made to work, but it's going to take more than this I'm afraid. --Ronz (talk) 02:14, 6 December 2007 (UTC)

Ok Ronz, I´m kinda new on Wikipedia editing. What would be the right way to do it ?

Nelson --Nt777 (talk) 17:06, 11 December 2007 (UTC)

Not bad at all. Quoting is a pain. I changed the formatting slightly, moved your signature to the end, and introduced the response. --Ronz (talk) 00:58, 12 December 2007 (UTC)
The solution to this problem is to find some inclusion criteria that we can all agree to, per WP:LIST. The simplest and most common inclusion criteria is to only include entries in the list that have their own Wikipedia articles. However, another simple way it to simply find a reliable source that provides a list for us to use. --Ronz (talk) 01:03, 12 December 2007 (UTC)

Ronz, I´ll try to find a realiable source in the next couple of days. Would you please leave the list online in the meantime ? And thank you for your information.

Nelson --Nt777 (talk) 17:06, 11 December 2007 (UTC)

Ronz, you cleaned up the links once again. Can we please have a written statement on the criteria for including links here? Otherwise we'll keep going back and forth on this without any real progress. Rp (talk) 10:02, 1 November 2011 (UTC)

Broken Links[edit]

The link to Dr. Chen's paper in the references section is broken.

The link to Richard Barker references a page about a Hartlepool FC player Richie Barker User:NigelThomas —Preceding unsigned comment added by 212.58.233.129 (talk) 14:31, 7 January 2008 (UTC)

Crow feet image problem[edit]

I fixed the image of the crow feet, with the vertical line and the O being the wrong way round and uploaded the new version. Bencoder 17:16, 13 May 2007 (UTC)

Beginning[edit]

The beginning of the article doesn't look encyclopedic. May I suggest: "ERM is a technique for the structure design of data on databases" or something like that? It would say the same it does now, but in a different order... Magdalena B. 12:28, 9 July 2007 (UTC)

It might also be helpful to provide a bit more context to somebody very new to the subject. For example, you might add something very basic such as, "Data models can become complicated quickly. An ERM is a tool that helps the designer to visualize and improve the design"... Bizerk44 (talk) 14:32, 23 November 2007 (UTC)

The beginning of the article is misleading. ERM's history begins with Charlie Bachman's database diagrams and from there to Barrie Leigh's data modelling at IBM in 1971 and on to at least three threads: Tony Carter and Ian Palmer at CACI, London, Clive Finkelstein in Australia and Peter Chen in the USA. The ERM deliverable was both a verbal model and diagrammatic representation of the terms describing a domain. Clive may have known of Barry Leigh's work through working within IBM. Software engineering emerged from a NATO conference and while it probably now embraces ERM's these days, it had a different focus back then? — Preceding unsigned comment added by Kdf9andtd1a (talkcontribs) 04:04, 15 July 2011 (UTC)

Visio Free software??[edit]

Visio is mentioned as a free tool to create diagramms, but the Link directs to Microsoft Visio. Is there a free tool with the same name? (I can't find one) —Preceding unsigned comment added by 138.232.248.27 (talk) 02:56, 16 December 2007 (UTC)


gliffy.com ? — Preceding unsigned comment added by 137.195.15.10 (talk) 15:18, 27 February 2014 (UTC)

Rationale for removing Information Engineering from database sentence in introduction[edit]

According to the Information Engineering article, "Information Engineering ... is an approach to designing and developing information systems". It's not therefore an example of a notation "more typically employed in logical and physical database design". The IE methodology does use entity-relationship diagrams, and I've added a wikilink to it in the Crow's Foot section to replace the wikilink in the introduction. --Northernhenge (talk) 09:50, 11 April 2008 (UTC)

List of linkspam (again) trimmed to a normal size[edit]

Some wereks ago I trimmed a long list of software programs supporting supporting Entity-relationship models, see here, to the following normal size text:

There are lot of ER diagramming tools. Some of the proprietary ER diagramming tools are Avolution, ConceptDraw, ER/Studio, ERwin, DeZign for Databases, MEGA International, OmniGraffle, Oracle Designer, PowerDesigner, Rational Rose, RISE Editor, SmartDraw, Sparx Enterprise Architect, SQLyog, Toad Data Modeler, Microsoft Visio, and Visual Paradigm
Some free software ER diagramming tools that can interpret and generate ER models, SQL and do database analysis are MySQL Workbench and StarUML. Some free software diagram tools which can't create ER diagrams but just draw the shapes without having any knowledge of what they mean or generating SQL are Kivio and Dia (software)

Now I resored it again, but I don't understand, why it was removed here in the first place? There shouldn't be a list of over 50 tools, half of it not even notable enough to have a Wikipedia article of it's own. Lists like that are an invitation to keep spamming this article, with every new unknown tools. This is not acceptable in Wikipedia. -- Marcel Douwe Dekker (talk) 15:49, 7 November 2008 (UTC)

Bachmann diagram[edit]

Can anyone justify the Bachmann diagram? I definitely recall that in Bachmann diagrams, the arrow-head goes from "owner" to "member", that is from the "1" end of a relationship to the "many" end: I remember people criticising it for that. And I don't know what these open and solid circles are doing on the line. Arguably it doesn't really have a place here anyway, because the Codasyl model was never presented to the world as an ER model or as a data modelling technique (as destinct from a database model).

Mhkay (talk) 07:39, 8 April 2009 (UTC)

another diagram[edit]

I made another diagram and put it here: commons:File:Mea.png

Wooptoo (talk) 17:55, 30 May 2009 (UTC)

Crow's foot example - incorrect?[edit]

According to http://rapidapplicationdevelopment.blogspot.com/2007/06/entity-relationship-diagram-example.html (not a reliable source, I know)

the crow's foot notation for person - location should be the other way around.

LOCATION has zero-to-many PERSONS born there.

PERSON has one and only one birthplace.

ERD Representation.svg

Now I've confused myself to the extent that I can't decipher the artist-performs-song pic.

ERD-artist-performs-song.svg

So confused. Enlightened ones, take corrective measures if you please. No need to reply to this, I probably won't read the reply. Primary key (talk) 17:49, 12 June 2009 (UTC)

The notation looks fine to me. Libcub (talk) 03:38, 13 June 2009 (UTC)

Entity Relationship Modelling Principles[edit]

I was stunned to see such a strange example of an ERD! I came to Wikipedia for some clarity and went away dumbfounded. There is so much detailed, and sometimes erroneous, disagreement that, if this discourse is held to be a serious source for producing ERDs, then Heaven help data modelling! —Preceding unsigned comment added by Vortigern one (talkcontribs) 17:19, 18 November 2009 (UTC)

Can you be more specific on your confusion? Dumbfounding people is not the goal of Wikipedia articles, but they can't ignore the fact that these languages, like all languages, have dialects and complicated family relationships. Rp (talk) 08:53, 26 March 2010 (UTC)

Comparison with UML class diagrams[edit]

The fact that StarUML, a UML modeling tool, was listed in this article as a ER modelling tool for two years suggests that either I'm unaware of StarUML's true capabilities or it would be worthwhile to add a section explaining the differences between ER models and UML class models in detail. Mind if I add such a section? Rp (talk) 08:53, 26 March 2010 (UTC)

ER model versus ERA model[edit]

I'm guessing "ERA model" is just a more uncommon name for "ER model"? The reason I ask is that a newsgroup I read had a post with someone asking for an "ERA modeler", which I looked up and found this entry on Encyclopedia.com. But I was unable to find an entry for ERA model or Entity-Relationship-Attribute on Wikipedia. I've created both those pages and redirected them to here. But I just wanted to make sure there wasn't some hidden distinction between an ER model and an ERA model. Otherwise, I guess ERA diagram should probably redirect here as well.--Subversive Sound (talk) 17:44, 13 May 2010 (UTC)

yeah, Entity-Relationship-Attribute model is pretty much the same. Entities and relationships have attributes - that's where the data's stored. When it comes time to make a real database, all the relationships are described with attributes too. Often, every entity has an integer ID - 1, 2, .... like the Person table could have an id field (attribute) named id. And another entity that has a relationship with that entity just points to the entity by storing the integer ID, like a phone record might have a field named person_id that points to the person who owns it. OsamaBinLogin (talk) 20:40, 25 July 2012 (UTC)

Overall Wrongness[edit]

The overview has recently been updated so the following comments are no longer significant! April 2012 — Preceding unsigned comment added by 208.44.95.13 (talk) 18:41, 9 April 2012 (UTC)

Not so. The overview is rubbish. The recent edits have made it worse. Far too many ignorant people have contributed to this page. Mhkay (talk) 18:53, 9 April 2012 (UTC)

Everything in the overview is wrong. There is no "first stage" of IS design. Different teams start different ways. ER diagrams are primarily intended for representing existing databases, not for conceptual modeling and requirements analysis. ER is a modeling grammar, not a technique. You can only describe one ontology with an ER diagram, that is, one in which the world is composed of entities and relationships. The discussion of mapping conceptual to logical data models is deeply misleading - there is no evidence that most teams bother with such an abstract process. The classical notation is not for conceptual modeling - people didn't even realize that ER could be bastardized into a conceptual modeling grammar until well after this notation was developed.

I will make a note to return and try to fix this in a few weeks, depending on reaction to this entry.

Paul Ralph (Lancaster University) (talk) 23:24, 12 January 2011 (UTC)

You will need to further quality your "wrong". The approach to distinguish separate design phases, in which a conceptual, logical and physical model are created in turn, is common in database design courses. It is not universally taught or followed, but that does not make it "wrong". I do agree that it is wrong for this article to be so casual and take it for granted, but isn't exactly the only text on database design that does this. As to the difference between grammar and technique, I think this is a matter of definitions: your "grammar" is another person's "technique". Anyhow, there is much room for improvement. Looking forward to your improvements or suggestions for them. Rp (talk) 16:02, 26 January 2011 (UTC)
"People didn't even realize that ER could be bastardized into a conceptual modeling grammar until well after this notation was developed." I know it's tough to ask you to prove a negative, but I wonder if you can explain why you think this? The consultants I was working with in the mid 1970s certainly considered that they were formalising notations for conceptual modelling that were independent of logical database design. Also, it's unclear what you mean by "bastardized". You claim that ER "is" a grammar, then you say the grammar is a "bastardization" of ER. Mhkay (talk) 16:14, 26 January 2011 (UTC)

"ER is a modeling grammar, not a technique. You can only describe one ontology with an ER diagram, ..." Sounds to me like a lot of big words. You should confine all these higher abstractions to another section, where I and most programmers can conveniently skip over them. Because, although they are concepts involved with ER diagrams, knowing them will rarely help one understand what they are - more likely, one is learning the meaning of 'modeling grammar' and 'ontology'.

My experience as a professional programmer tells me that most databases are designed like one of the following:

  1. They just hack. As with the flowcharts that describe simple IF statements, all these clumsy diagrams have been tossed out.
  1. Management displays a commitment to ER diagrams and UML modeling. But nobody draws such diagrams, and they all just hack as in #1.
  1. Management displays a commitment to ER diagrams and UML modeling, and everything is designed with big fanfare and lots of effort into a big ER diagram. The ER diagram is faithfully transcribed into SQL tables and what not. The first few times there's changes, they go back and pencil in stuff in the ER diagram. But after six months, everybody is just hacking as in #1.

That's the way it seems to work. A programmer says to herself, "OK for each Foo, are there many Bars? For each Bar, are there many Foos?" Then the answer is obvious and fields are added to tables as the software evolves. No ER diagram is even visualized, although sometimes in sticky cases, entities are drawn like single database rows with individual fields, with relationship arrows coming out of the specific field that they inhabit, scribbled quickly on a piece of scrap paper in red ink. The relationships are always many-to-one. — Preceding unsigned comment added by OsamaBinLogin (talkcontribs) 21:04, 25 July 2012 (UTC)

REQUIRES A TOTAL REWRITE[edit]

The article starts from the wrong premise. It is based on Peter Chen's view of this topic. Much original thinking had already taken place within IBM and some London based consultancies, to my knowledge and probably elsewhere too. In the interests of clarity it would help to recognise the history of the topic, which the article has failed to do.

The history below is much better than nothing:

History ER Diagrams were first introduced by Charles Bachman. "Bachman Diagrams" described data structures, however, he did however go further and recognised the need to model at a higher level of abstraction.

“… entity to mean a particular object being considered; the term entity class will mean an entire group of entities which are sufficiently similar, in terms of attributes that describe them, to be considered collectively … entity set … associates a group of entities in one entity class with one entity of a different entity class in a subordinate relationship” page 4 of "Bachman, C. W. (1969) Data Structure Diagrams. DATA BASE 1(2): 4-10"

See a fuller discussion of the whole topic of Bachman and Chen diagramming in "The Entity Relationship Model And Practical Data Modelling By Steve Hitchman 2004, Journal of Conceptual Modeling, April 2004".

ER diagrams were popularised by Dr. Pin-Shan (Peter) Chen in 1976, but he drew on the previous work of his colleagues, one of whom was Charles Bachman.

I think Chen is usually credited as the originator because he was the first person to have an article on entity-relationship models published in the academic literature; he was also the first to formalize them. The earlier work (by people like Ian Palmer of Scicon) was practical consultancy and it's now very hard to find citations. Mhkay (talk) 18:58, 9 April 2012 (UTC)

Mention should also be made of J. Barrie Leigh "Mr. Leigh began his interest in E-R modeling techniques as a systems engineer for IBM in the UK, developing his first E-R diagram in 1971 for an annuity system of Royal Insurance. He was a recognized leader of transactional and database systems design for IBM, in the insurance industry. He evangelized the use of distributed intelligence and distributed database architectures throughout the 1970’s." See meeting notice for DAMA Philadelphi/Delaware Valley 10th January, 2007. While at CACI, London he worked with a number of key professionals including Ian Palmer, Rosemary Rock-Evans, Richard Barker and Keith Short all of whom made significant contributions to this field. — Preceding unsigned comment added by Kdf9andtd1a (talkcontribs) 22:39, 14 August 2011 (UTC)

Wait a minute: Bachman diagram and Data structure diagram (which is what Bachman named his diagrams when he introduced them in 1969) have their own article(s); you may want to start there, e.g. by merging them. I do agree that a more unified perspective on database diagramming and information diagramming is necessary, but in IT we all know only the languages we've been taught, even if the neighbours use a different one to say the same things. So I'm not sure a single article would suffice. However at least some notes on developments and more crosslinking would be in order. Rp (talk) 22:58, 17 August 2011 (UTC)

Problems with 'Cardinalities' sub-section[edit]

The sub-section on 'Cardinalities' assumes much information not provided within the article, and uses the following terms without explanation or motivation:

  • cardinality,
  • look-across,
  • same-side,
  • minimum cardinality,
  • optionality,
  • maximum cardinality,
  • crows foot (sic),
  • n-ary relationship,
  • order (of relationship),
  • degree,
  • transformation,
  • extension,
  • mechanism,
  • simple mechanism.

And the two asides in parentheses only compound the jargon problem ...

The whole section 'Relationships, roles and cardinalities' smacks of either original research or personal opinion. At the very least, it needs some citations to support its contentions.

If the whole article is seen as an intelligent layman's overview of E-R modelling, the material presented throughout (but not in this sub-section) is quite hard enough. This sub-section on 'Cardinalities' is pitched at completely the wrong level.

As a seasoned ADP | EDP | DP | Computing | IT | ICT professional, I ask myself: What problem is the sub-section on 'Cardinalities' trying to solve? I can only conclude it's driving towards the quote from Feinerer, referencing Hartmann:

'Problems arise if we operate under the look-across semantics as used for UML associations ... different transformations fail.'

This surely is, at once, both too abstract and too low-level a consideration for the "intelligent layman" who has read the previous material?

If all the sub-section manages to say is that "look-across semantics don't work", or "... don't properly represent the meanings of the relations between entities", shouldn't the article then say what we DO about it?

For the present, I suggest scrapping all the text under the sub-heading "Cardinalities" and replacing it with an explanation of:

  • what the term 'cardinality' means in E-R models, and
  • why we choose to represent all possible (finite mathematical) cardinalities by only the values 0, 1 and M(any).

yoyo (talk) 17:38, 8 April 2012 (UTC)

Early History[edit]

I started using Entity Modeling in approximately 1974 at the City of Westminster in London. This was based on work at ICL by Harry Ellis and David Gradwell et al. David Gradwell may well be able to provide even earlier history. A lot of the pioneers were related to the Data Dictionary Working Group within the British Computer Society at the time. This predated the Chen paper but Chen was usually considered the academic father of ER modeling simply because he published one of the first papers on the subject and it was very influential. His use of Relationships as first class objects was generally rejected at the time, as it didn't prove very useful for the practicioners. It supports n-ary relationships and the databases of the time didn't have much use for such relationships.

The techniques and notation used in ER modeling were developed by the database practicioners of the time. The problem that was being addressed was the inflexibility of CODASYL databases, such as DMS1100 (Univac) and IDMS which I think was used by ICL, hence their interest in ER modeling. You had to get the schema right as it was very difficult to alter it once the database was in production. This lead to the use of ER modeling as a basis for database design so that the schema would be well designed initially.

After Westminster, I joined CACI in the Netherlands and participated in the development of ER modeling with Ian Palmer, David Gradwell, Bernie Benetto and others. We introduced concepts and notation for entity subtypes and supertypes, time based data (ways to model dynamic data), relationship optionality and inclusive/exclusive relationships. At the time, CACI had two database cunsultancy offices in Europe, one in the UK and one in the Netherlands and they worked closely together on ER modeling. After that came Richard Barker, Rosemary Rock-Evans and others at CACI who documented the approach. From there it moved to James Martin Associates and then to Oracle.

Bachman's early work may have had some influence on ER modeling but it would have had to have been very early and relatively limited as we considered his approach more of a different and rival approach at the time. — Preceding unsigned comment added by Djwdjw123 (talkcontribs) 23:47, 7 November 2012 (UTC)

Limitations[edit]

For many systems, the possible changes to the information contained are nontrivial and important enough to warrant explicit specification. - Could you elaborate more? Sumdumboot (talk) 05:15, 28 March 2013 (UTC)

While this section is called Limitations, its bulleted list includes a wider range of content. See for example the items that simply highlight various extensions (or outright alternatives, like Anchor Modeling and EER). I'd expect the points to directly state the limitation of ER modeling and then identify the extension or alternative as a solution to the described limitation. As is it looks more like a random list of additional information than a list of limitations. The alternative would be to simply rename this section. Rszrama (talk) 20:16, 8 May 2013 (UTC)

Crows foot notation external link[edit]

Does anyone else feel like the resource linked to from the external links section is poor quality? The information is helpful but the formatting and readability issues seem to detract from the ability for a normal user to find the page useful. Any suggestions for a better resource? Bhanks (talk) 20:49, 9 July 2013 (UTC)

I left in the poorly formatted resource but deleted a page that had a bunch of affiliate links at the bottom and also a resource that 404ed. I also added a diagramming tool that is free that I like to use. Bhanks (talk) 21:11, 9 July 2013 (UTC)

The tool you like to use has been appropriately removed as spam. --Ronz (talk) 19:46, 17 July 2013 (UTC)

Lead sentence structure[edit]

Which is preferable for the lead sentence?

A. In software engineering, an entity–relationship model (ER model) is a data model for describing the data or information aspects of a business domain or its process requirements, in an abstract way that lends itself to ultimately being implemented in a database such as a relational database.

or some thing like:

B. An entity–relationship model (ER model) is a data model used in software engineering for describing the data or information aspects of a business domain or its process requirements, in an abstract way that lends itself to ultimately being implemented in a database such as a relational database.

Jojalozzo 18:01, 11 March 2014 (UTC)

  • B. - I prefer to place the most important aspect of the article, the topic, at the start of the lead sentence. I think the only time it's better to put something else first is when there are other usages of the term in other domains and we need to make sure the reader knows at the very start which domain we are talking about. In this case there are no other domains in which ER models occur so there is no need to emphasize the domain as is done in A. Jojalozzo 18:01, 11 March 2014 (UTC)