Thanks to all for you help and time.
After reading to replies, I think that perhaps a clean way of dealing 
with individual and company customers in a single table could be to 
leave them out of the "parties" tree altogether and relate them to 
the "parties" table without a generalization hierarchy, but one-to-
one from a "customers" table. For instance:

1) PARTIES TREE:
Parent:
PARTIES Attr: id, type

Subtypes of Parties (complete and disjoint):
INDIVIDUALS Attr: id, firstname, lastname, sex, language
JURENTITIES Attr: id, name, type

Subtypes of Individuals (complete and overlapping):
PERSONAL Attr: id, birthday 
BUSINESS Attr: id, title, specialization

2) CUSTOMERS TREE:
Parent:
CUSTOMERS Attr: partyid (references parties), taxid, billingaddress

Subtypes of customers (complete and overlapping):
SUBSCRIBERS Attr: partyid (references parties), startdate, enddate
SERVICE1USERS Attr: partyid (references parties), xxx
SERVICE2USERS Attr: partyid (references parties), xxx

3) OUTSIDE BOTH TREES:
PHONES Attr: id, number, areacode (relates M-M with parties)
ADDRESSES Attr: id, street,etc (relates M-M with parties)
EMAILS Attr: id, email (relates M-M with parties)
URLS Attr: id, url (relates M-M with parties)
The three would need an associative table separating them from the 
parties table, with a composite key

Am I going wrong somewhere?

Alberto

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to