ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] Is there something I missed?

To: "[ontolog-forum] " <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "Schiffel, Jeffrey A" <jeffrey.a.schiffel@xxxxxxxxxx>
Date: Mon, 2 Feb 2009 17:36:24 -0600
Message-id: <ECF42862FCA16D41BFA98F8C45F0955405723CB6@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Pat,    (01)

Please see below.    (02)

[JS, originally]
> I'm not certain I know what you mean. In an entity-relationship isn't 
> the relation the entire row, not just one column? The entity is the 
> name of the table. The names of the columns are the identifiers of an 
> n-ary relation. Each row is an instance of the n-ary relation. Or am I    (03)

> missing something?
> 
[[PC]] It is possible to create tables in that form, but I have not seen
one.  The way you describe it is confusing - if the "entity" is the name
of the table, how can the rows be instances of "the" relation???  How do
you know *what* relation??  Do you mean that the table represents a
relation?
Yes, that is possible, but I have only seen that described, and it is
not the method used in the actual databases I have encountered.  In the
few dozen databases I have had an occasion to examine ( very limited
experience), there are tables such as "person", representing a type (aka
class), and each row of the table represents an instance (an individual
person).  One column will often be an identifier (though it doesn't have
to be - all of the columns may serve together as the "primary key", but
identifiers are useful to serve as foreign keys).  Then each column (and
there may be many) represents an attribute of that individual - such as
height, weight, mother, father, facial hair, home telephone number,
SSnumber, etc.  The combination of instance identifier, column name, and
cell value represents one instance of a relation.  In these cases, the
"entity" is the row.  Each column represents one relation on that
entity.    (04)

[JS again]
Yes, I agree, but with these points. The table column names are the
attributes of the table. They are the elements in the relation. Say the
relation is Person. The column names then are Person(height, weight,
SSN, ...) just as you say. The rows are instances of the relation. So
what's the table name represent? Clearly, it is the relation. But it
also is the name of the entity type (Person, in this case). The
difference I make is that the entity names the table (it also names the
relation), and the elements are attributes.    (05)

An attribute, however, may also be an entity. In this case, that
attribute may also get its own table. If Person(height, weight, SSN,
department_worked), then there may also be a table Department(manager,
dept_code, ...). This works for tables made up of joint foreign keys
that are created to normalize an otherwise messy table.    (06)

-- Jeff Schiffel    (07)

_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (08)

<Prev in Thread] Current Thread [Next in Thread>