Re: Recursive join - blind alley?

From: Mike Sherrill <MSherrillnonono_at_compuserve.com>
Date: Wed, 07 Jan 2004 06:41:08 -0500
Message-ID: <8crnvvkid5f7cvfdu4m4u04ou8mdma9j1m_at_4ax.com>


On Tue, 6 Jan 2004 00:19:46 -0000, "Mike MacSween" <mike.macsween.nospam_at_btinternet.com> wrote:

>> >This will be an orchestral management system. Musicians and other staff
>> >being booked/paid for jobs.
>> >
>> >A job may contain other jobs, e.g:
>> >
>> >World Tour contains
>> >US leg and Europe leg (and others)
>> >US leg contains State tours (and others)
>> >New Jersey tour contains Hoboken concert (and others)
>> >Hoboken concert contains dress rehearsal, 1st show, 2nd show
>>
>> I'd just observe that a world tour is probably a tour, not a job.
>> Whatever a job is. A tour isn't a leg. A leg isn't a job.
>
>As you aren't sure what a job is then I don't know how you can state that a
>world tour isn't one.

The fact you speak of these things using different names for them is one clue.

If a world tour were a job, and a leg were a job, and a state tour were a job, and a concert were a job, and a dress rehearsal were a job, and a show were a job, everything would be a job. That's a second clue--it's relatively rare for "everything" to be a "whatever you like".

But if everything really is a job in the real world, you either have only *one* kind of thingy--a job--or job is a supertype, and tours, legs, and so on are its subtypes.

A third possibility is that "job" might not be anything at all--just a shorthand way of talking about things rather than a thing itself.

You can tell which one of these three apply by ferreting out the attributes of a tour, a leg, a rehearsal, and so on. Then reconcile the attributes.

>It's perfectly clear what a job is.

It's not clear to me. A world tour seems to have different attributes than a dress rehearsal.

>This looks like the sort of thing that could be modelled using
>some sort of hierachical structure.

That's possible. But there are other structures, and "hierarchical" doesn't imply "recursive".

>You seem to have other ideas. Perhaps
>you could let me know what they are.

Imagine the simplest thing that does something useful. That exercise will often steer you toward the essential feature.

 "Fred Flintstone asks Barney Rubble
  to perform
  at the Bedrock City Hall
  on 06-Jul-2004 at 7:00 pm."

Tours, legs, and such seem like convenient ways to aggregate performances. But, as convenient as they might be, they don't seem essential to me. That's another clue.

>> >To account for the variability I imagined a recursive join.
>>
>> What else did you imagine?
>
>What does that mean? I imagined what I said I imagined. A recursive join.

I mean, did you imagine anything besides a recursive join? What else did you try? For example, did you model a "tour" or "performance" (or "cancelled performance")?

-- 
Mike Sherrill
Information Management Systems
Received on Wed Jan 07 2004 - 12:41:08 CET

Original text of this message