Re: domain questionnaire

From: Jan Hidders <hidders_at_REMOVE.THIS.win.tue.nl>
Date: 25 Feb 2001 16:11:40 GMT
Message-ID: <97bars$rgr$1_at_news.tue.nl>


Scot A. Becker wrote:
> Hi Jan,

Hello Scot,

Before I begin with my remarks, first let me say that I'm a big fan of ORM and think it's one of the best data models around. So if I may sound a bit critical it's not because I'm trying to show that ORM is just another dialect of the ER model. I know it may have sounded as if that is what I said but all I said was that "it can be roughly described" as a dialect. So let me add to this that it is certainly not the case that ORM is *just* another dialect. There is really much more to it than that.

> > As far as the absence of attributes is concened, I am still not
> > very sure whether that is really true. In some sense ORM does have
> > attributes but they call them fact types between lexical and
> > non-lecial object types, but these are drawn in the same way as
> > other fact types. So in that sense you only have relationships/fact
> > types and no attributes.
>
> ORM's distinction of LOTs (lexical object types) and NOLOTs
> (non-lexical object types) -- or better yet, 'entity' types and
> 'value' types -- has more to do with the reference scheme of the
> object type than its relative importance (entity or attribute, in ER
> parlance).

Which can be bug and a feature IMHO. I remember talking to some system analysts who thought it was great that they wouldn't have these lengthy discussions anymore about whether something was an attribute or an entity. But others disagreed and said that this was exactly what they didn't like about it because now their schemas would be cluttered with these relatively unimportant attributes.

> In fact, because ORM value types cannot play functional roles, and it
> is functional roles that determine mapping, ORM value types can never
> map to ER entities, only as ER attributes. However, the converse is
> not true.

I'm afraid you've lost me here. What does it mean that 'value types cannot play functional roles'? Surely there can be fact types between entity types and value types? I don't even see a reason to forbid fact types between value types.

And why do you say that I cannot map value types to ER entities? I don't see what the use of such a mapping would be, but that is something else than saying that it cannot be done.

> Take for example, "Person(SSN) is of Sex(Code)". Both are ORM entity
> types.

Are they? I think you could also argue that 'sex code' is a value type and there is a fact type "Person(SSN) has Sex-code()". This is very similar to (if not in fact the same to) the discussion in ER about wheter there should be an entity type Sex with attribute 'code' or whether 'sex code' should be an attribute of the entity type Person.

> Now let's add another fact, "Sex(Code) abbreviates Sex Name()". Sex
> Name() is the un-abbreviated string (e.g. "Male, "Female") ORM value
> type.

Well, when using an ER model I would add an extra derived attribute 'sex name' to 'Person' and indicate how it is derived. That's not something that would rob me of my lunch time. :-)

Kind regards,

-- 
  Jan Hidders
Received on Sun Feb 25 2001 - 17:11:40 CET

Original text of this message