Re: Normalisation

From: Dan Guntermann <guntermann_at_verizon.net>
Date: Wed, 06 Jul 2005 07:35:14 GMT
Message-ID: <SQLye.7403$kh3.1415_at_trnddc03>


"Patsybulo" <pakaye_kirime_at_yahoo.co.uk> wrote in message news:dcec8114538c88960e8c0a798cf34e4c_at_localhost.talkaboutdatabases.com...
> Thanks Dan. I like your approach to my question. Since you have a good
> understanding of the topic, could you pls explain the major difference(s)
> between this model and the ER model? Secondly, from your explanation, you
> sounded like this model is better than the ER model. If this is true, why
> is it not widely used. A lot of people I know that are in the database
> business talk more about the ER model.
>
Hi Patsybulo,

Wow! I'm afraid I can't give decent coverage of the Conceptual Object Model and then highlight the major differences from the ER paradigm (with all its variants) in the time I have available. I'll try to at least give a little bit of information, but if you are really and truly interested, I might also suggest you try to get the textbook I mentioned. The 8th edition is quite expensive, but I've seen the 7th edition on the market online for as little as 16 cents.

David Kroenke writes the following concerning the distinction between the SOM and ER paradigms: "The E-R model and the semantic object model are like lenses through which the database developers look when studying and documenting the users' data. Bother lenses work, and they both ultimately result in in a database design. They use different lenses to form theat design, however, and because the lenses create different images, the designs they produce may not be exactly the same...(p. 73)."

He also writes on page 104 of his textbook that E-R and SOM are similar in that:

  1. both strive to model the structure of the things in the users' world and relationships among them.

Differences:

  1. E-R model uses the concept of entity as basic atoms, which are combined to form what E-R calls user views. The semantic object, on the other hand, is "a map of the essential structure of things the user considers important." According to the semantic object perspective, entities as defined in the E-R model, do not exist and furthermore, they are "semantically self-contained" or "semantically complete (p. 104).
  2. Semantic objects contain more metadata than do entities.

Also, Semantic Object Model diagrams attempt to capture the "picture" of the user's perception of an object in the work environment (p. 77).

Here is a very light overview of some of the constructs: * Semantic Object: "a named collection of attributes that sufficiently describes a distinct identity."
* Object Class: "name that distinguishes it from other classes and that corresponds to the names of the things it represents." * Attribute: elements that describe an object's characteristics. There are three types -- simple, group, and semantic object (also called semantic object links).
* Semantic Object Diagram: depiction that gives a visual representation of structure and relationships of objects.
* Cardinalities of attributes are given as subscripts in the semantic object diagram and are scoped in the context of the object depicted. * Object Identifier: one or more object attributes that *users* employ to identify object instances. In addition, the approach allows for group identifiers and identifiers might or might not be unique, depending on how users view their data (Kroenke uses a name alias as an example). * Attribute domain: "a description of an attriubte's possible values." (e.g. an enumerated list).
* Semantic Object View, which consists of the name of the object (being referenced) and a subset of attributes from that object. * Object Specificaton: consists of values indicating object name, property (attribute) name, min and max cardinality, ID status, and domain name.

Kroenke classifiies semantic objects into seven categories: 1. Simple object, which contains "only single-value, nonobject attributes." 2. Composite object, which contains "one or more multi-value, nonobject attributes."
3. Compound object, which contains "at least one object attribute." 4. Hybrid object, which is a semantic object containing combinations of objects of two types, such as one multi-value group attribute and a semantic object attribute.
5. Association object, which relates two (or more) objects and stores attributes peculiar to that relationship. 6. Parent/Subtype object, which corresponds to the classic conventions of super/sub-typing, even with ER. This includes exclusive and nested subtypes.
7. Archetype/Version object, which "produces other semantic objects that represent versions, releases, or editions..."

There is more, but I suspect that even writing this much will cause more confusion that clarity. I still recommend you get the book.

Concerning your second question, I really don't know why this particular methodology hasn't gained wide-spread acceptance. I can only guess, and that wouldn't do anyone justice.

HTH, Dan

References: Kroenke, D. (2000). "Database Processing -- Fundamentals, Design, and Implementation." (7th ed.). Prentice Hall: Upper Saddle River, NJ Received on Wed Jul 06 2005 - 09:35:14 CEST

Original text of this message