Shane Hathaway wrote:
Roché Compaan wrote:
If you are that sure then the distinction is not that clear to me. I understood "relation" as the *definition* of a logical association between two objects and relationship as the association itself. Marriage is the relation, Peter's marriage to Susan is the relationship. Sure, there is some overlap with "relation" in relational theory but we describe the same thing: a logical association. When you use the word "relation" you are referring to it as a specific storage implementation: a table.
Well, perhaps I am incorrect in my thinking, but every discussion I can Google (heh, I finally used Google as a verb) that mentions both the entity-relationship model and the relational model explains it differently. First they introduce ERM then explain how to implement it using relations in a relational database. ERM seems to be described as the underlying model for relations.
FWIW... Wikipedia helped. http://www.wikipedia.org/wiki/ER_diagram http://www.wikipedia.org/wiki/Mathematical_relation http://www.wikipedia.org/wiki/Relational_model These pages don't mix up the two terms. From what I understand now, relation is simply the mathematical term for relationship. Most people think in terms of relationships since it's a useful, fuzzy term. For greater precision, mathematicians perform manipulations using relations. Also, I was incorrect in mixing "relation" and "table". The relational data model seems to define relation a little differently than the mathematical term, so it's better to just use the word "table" when that's what I mean. So here's what I was really trying to ask earlier: should we base the API on the entity-relationship model or on the relational model? The entity-relationship model is quite simple, allowing you to translate a drawing directly into code, but it limits the kinds of queries you can make. The relational model lets you formulate much more complex queries, but at a higher buy-in cost. I'm leaning toward the entity-relationship model, since one of the primary goals is simplicity. Besides, assuming we don't have to change ZODB in order to get either feature, we could have both someday if we needed them. By the way, I just learned that Ted Codd, the father of relational database technology, passed away two weeks ago. May he rest in peace. http://www.intelligententerprise.com/online_only/features/030425.shtml Shane