Re: On formal HAS-A definition

From: Nilone <reaanb_at_gmail.com>
Date: Sat, 22 May 2010 03:41:15 -0700 (PDT)
Message-ID: <99d09f9d-ce38-4d74-884d-34854f724096_at_k25g2000prh.googlegroups.com>


On May 22, 12:26 am, r..._at_raampje.lan (Reinier Post) wrote:
>
> I am referring to the notions of E/R model and IS-A I've
> detailed here before, from the textbook by Silberschatz et al.:
>
>  http://www.db-book.com/

My studies this year include Operating System Concepts by Silberschatz et al (a different et al, though). They wrote quite comprehensively.

>
> They avoid considering tuple-valued domains.  Instead, they
> define entities (to be precise: entity sets) as relations identified
> entirely by their own attributes, and relationships (to be precise:
> relationship sets) as relations defined entirely by their foreign
> key attributes, which foreign keys are all primary keys of
> entities.

Entities, in general, contain identifying attributes (e.g. SSN) and non-identifying attributes (e.g. birthdate). It sounds as if they include both identifying and non-identifying attributes in the same "relation". If so, I disagree with that approach. As I see it, the identifying attributes define one relation, and each non-identifying attribute defines a relation from the identity of the entity to the identity of another entity (e.g. a date).

> Definied in this way, entities and relationships
> are particular types of relations in relational schemas.

I, too, think that entities and relationships define relations, but I equate an entity with its identity only, and view all other attributes as observations (more relations) upon the entity, not components of it.

> However, this definition only applies to E/R diagrams in which
> all attributes and identifications have been fully specified,
> not to incomplete ones in which foreign key relationships may
> be specified prior to the entity's identifying attributes.

I don't understand the reason for this qualification.

>
> It is not a mistake, but a modeling decision.  One may wish to express
> that two relations share a common part, prior to or independent of the
> exact attributes of that part.

I can understand that two entities can share a part, but when two relations share an attribute, that just means they describe the same domain.

> For instance, in an E/R model we may
> wish to express that both persons and companies have addresses, that
> these addresses are the same type of entity, and that addresses are
> not atomic domain values, but tuples in a relation, prior to specifying
> any further details of addresses.

I interpret this as:

Person = [ ... ]

Company = [ ... ]

Address = [ ... ]

PersonAddress = [ x : Person, y : Address ]

CompanyAddress = [ x : Company, y : Address ]

which says very little about how to implement it in SQL.

> In a Silberschatz et al. E/R model,
> this can be expressed by making Address an entity (set) and Person and
> Company relationship (set)s.  These models are subsequently elaborated
> into relational models by detailing the exact attributes of all entities
> and relationships concerned.

I suspect "relational models" here means "SQL schemas". I disagree that the model as described can be called relational, in the mathematical sense of the word relational.

> In more general techniques such as ORM
> we don't need to categorize all relations as either relationship
> (set) or entity (set), but can specify arbirary identification
> relations between relations.  The identification relations become
> foreign keys once all attributes have been specified in full.
>
> Similarly, in an E/R or ORM (or similar) model one may wish to say
> that a particular relation has the same primary key as some other
> relation, whether or not that primary key has been specified
> any further.  That is IS-A.

I'll have to study ORM properly some time.

>
> >> >A relation is not a domain.
>
> >> THat is irrelevant for the IS-A I'm discussing.
>
> >My apologies for jumping to conclusions.  I would like to understand
> >the IS-A you're discussing.  I'll continue reading.
>
> I've been on a short vacation.  I'm not sure how to explain these things
> effectively.

I often find that I learn much in trying to explain contradicting thoughts. I appreciate the discussion, whether we agree or not.

> The ideas aren't exactly new, mine, unusual, or rocket
> science, but when I bring them up here people tend respond by saying
> I'm a "moron" who "can't reason abstractly", etc. so something must be
> wrong with what I say about them.

This group, like the mathematics it values, tends to distinguish sharply. However, I keep in mind the relation between observer and observation, and don't incorporate such observations into myself as an entity, nor do I make such dispositional observations anymore. They contradict my point of view and interfere with learning. Received on Sat May 22 2010 - 12:41:15 CEST

Original text of this message