[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: For those interested in the CRM/Entity management
- Subject: Re: For those interested in the CRM/Entity management
- From: "Joshua D. Drake" <..hidden..>
- Date: Wed, 30 May 2007 10:49:04 -0700
David Tangye wrote:
On 5/30/07, *Chris Travers* <..hidden..
<mailto:..hidden..>> wrote:
Ok. Think of an entity as a "legal person" (corporate or natural) and
a contact as a "natural person."
Yes, I assume that a 'Contact' is a contact for an Entity. So Chris
Travers can be the contact for Chris Travers. As a physical design issue
you might consider Name on Contact to be NULL, or conversely redundantly
store the same data value for Name on Entity and Contact.
Actually an Entity is considered the "common name". Not the legal name.
A person or a company is where you would derive the legal person. For
example:
Entity: Josh Drake
Person: Joshua David Drake
The idea is that each entity has one
primary class and may have many auxiliary classes. So an entity can
be a customer, a vendor, etc. all at once.
Fine. You just need to decide on a similar physical design issue as
above, once you get to the physical model, ie do you store the primary
class in the intersect table to Class as well as in the Entity table.
Primary class is defined by the entity_class column that is a foreign
key. E.g; that defines the entity as a Vendor.
Secondary classes are defined by a many to many look up table and thusly
you can have a Vendor, who sometimes is a customer.
> 2. The term and term fragment "class" (assuming it means "our way of
> classifying the entities") might be better understood using the term
> and term fragment "role". Term fragments class/group/type are all
> shallow terms in entity/logical modelling. What we want to know
is WHY
> we are classifying/grouping/typifying an entity.
Think of possible classes as any of (lead, customer, vendor, member,
any that might be added later).
As long as the later values are mutually exclusive, otherwise it is
merging types of classifications into one modelling entity (called
'class'), and is going to cause grief. In fact its a basic no-no in
modelling.
I tend to think of "role" as being
somethign that defines what something defines what something does,
Role is for security not for definition of types of entities. Thus I
agree with Chris above.
Yes, like 'Sell', ie a vendor, or 'Buy' ie a customer. That is what I am
saying.
Except that it is not. Sell is a task performed just as Buy is. A vendor
or customer is a class of entity.
I do not think Class is a term that application end-users would so
readily relate to. Then again, I am probably continuing to think of
end-users as not being software-techoes, and this is a difference I
think we have argued before.
At the end of the day I am sure you will build an application that makes
sense to yourself.
And others except you ;). This designed has been vetted already with
customers.
Sincerely,
Joshua D. Drake
Cheers
David
--
The Last Great Frontier is in Your Mind
------------------------------------------------------------------------
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
------------------------------------------------------------------------
_______________________________________________
Ledger-smb-devel mailing list
..hidden..
https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel
--
=== The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
Providing the most comprehensive PostgreSQL solutions since 1997
http://www.commandprompt.com/
Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate
PostgreSQL Replication: http://www.commandprompt.com/products/