Re: On formal HAS-A definition
Date: Sat, 22 May 2010 03:41:15 -0700 (PDT)
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.:
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, 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
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 - 05:41:15 CDT