Re: ER design problem

From: mAsterdam <mAsterdam_at_vrijdag.org>
Date: Fri, 10 Feb 2006 00:40:53 +0100
Message-ID: <43ebd2f4$0$24373$e4fe514c_at_news.xs4all.nl>


garhone wrote:
> I apologize for not being clear. I'm new at this.
>

>>A record-of-call - what exactly is that?

>
> When an outgoing call is made, my client wants to record the
> characteristics of that call, such as date of call, time of call,
> phone, project it belongs to., etc.
> When a call belongs to a particular project, it will have defined
> attributes, which calls belonging to a different project may not have.
> The client also wants to record the attributes associated with the call
> (see below for an example).

Could you give a content (attribute values) example which is understandable by
the user, the domain expert?

>>Do you mean that every project calls once a day or that every call is about a new  project?

>
> Each outgoing call belongs to a particular project. A project may have
> multiple calls a day.
Ok.
>>Hmm. Strange. Project A has NO business_type, project C has NO region

>
> That is correct.
> For example, calls for project A may have region values such as "East",
> "West", "Central".
> Calls for project D may have language values such as "English",
> "French", "Spanish".

Is this the language the call was made in? For instance you can't switch languages after 5 minutes?

> But, calls for project A would not have any language values and project
> D would not have any region values.
> I hesitate to make an entity that looks like:
>
> Record-of-Call
> ProjectID|Date|Time|Phone|Region|Language...
> -------------------------------------------------------
> A|20060201|1200|1111111111|East| |...
> A|20060201|1400|2222222222|West| |...
> D|20060102|0700|3333333333| |French|...
> D|20060201|1100|4444444444| |Spanish|...
> ...
> where there are different projects have different attributes, all
> lumped together in one entity.
> Project A calls would not have any values for budget, business_type,
> number_of_deals, and language (lots of empty values).

Or non-values - do I hear NULLs?
Just pick a random message from c.d.t. and there is a good chance its topic is NULL-related.

You are talking ER-modeling. If I remember correctly, part of the definition of an entity is its list of attributes. Another list of attributes ===> another entity.

The way you describe the problem at this time, you are going to define a different call entity for every project. Before I'ld go that way I would do some more interviewing/research, looking for similarities.

> One suggestion pitched to me was
> Record-of-Call
> RecordID|ProjectID|Date|Time|Phone|...
> -------------------------------------------------------
> 1|A|20060201|1200|1111111111|...
> 2|A|20060201|1400|2222222222|...
> 3|D|20060102|0700|3333333333|...
> 4|D|20060201|1100|4444444444|...
>
> ProjectA
> ---------------------------------------------------
> RecordID|Region|...
> 1|East|...
> 2|West|...

Is this the region where the call is made? Sorry, I really don't see what it is supposed to mean.

>
> ProjectD
> ---------------------------------------------------
> RecordID|Language|...
> 3|French|...
> 4|Spanish|...

Same here.

> I'm not sure if this is the best way to go, because every new project
> requires a new entity.

Multiple attributelists in multiple entities out :-)

>> Why? Can/should a current call associated with project
>> contain another region than 
>> a previous call?

>
> I'm not sure what you mean by this ... can you elaborate?

I'm just trying to understand what the meaning of your data is. Received on Fri Feb 10 2006 - 00:40:53 CET

Original text of this message