Re: How to force two entities to point to the same lookup value

From: DA Morgan <damorgan_at_psoug.org>
Date: Sat, 12 Aug 2006 12:16:52 -0700
Message-ID: <1155410208.658334_at_bubbleator.drizzle.com>


Bob Badour wrote:

> DA Morgan wrote:

>> Giraffe wrote:
>>
>>> Hi all,
>>>
>>> Please bear with me I've tried to make my question as terse as possible,
>>> whilst not appearing confusing (hopefully I've not failed in this
>>> regard).
>>>
>>> I'm trying to store a Chart configuration in an Oracle database
>>> (although I'm hoping that my choice of database will not lead to a
>>> solution specific to it, since so far my database is not platform, or
>>> database specific).
>>>
>>> One of these chart entities has two or more axes (one x and at least one
>>> y) related to it, and each axis relates to zero or more plot entities
>>> (which store plot information such as plot type, line or columns/bars
>>> etc). these plot entities relate to a specific item of data that can be
>>> plotted (and relates to a Unit table).
>>>
>>> So far I have
>>>
>>> relations-> Chart (1-3) Axis (0-many) Plot (Many-1) DataItem
>>>
>>> (I'm assuming I've got this relationship right)
>>>
>>> How can I now insert a relationship with a Unit entity so that I can
>>> ensure that Axis and Plot can refer to any unit in the unit relation *so
>>> long as its the same Unit*. I'd like to enforce at a relational level a
>>> limitation so that any number of plots can be configured for a specific
>>> axis so long as they are all of the same unit. For instance income and
>>> outgoings can both be related to an axis since they share the same unit
>>> of currency. But weight and income cannot be plots that relate to one
>>> axis since there are two units here and an axis can refer to only one
>>> unit.
>>>
>>> It's easy to enforce this in my application but I was hoping to somehow
>>> put in some kind of constraint at the database level to stop people
>>> setting up charts with an axis that allows income, weight, and time to
>>> all be plotted on the same axis.
>>>
>>> Perhaps someone has stored a chart configuration in a database before
>>> and can offer me some insight.
>>>
>>> Many thanks,
>>>
>>> Giraffe.
>>
>>
>> Trying to be platform neutral is a recipe for unscalable and lousy
>> performance. Build 95% of the product to be neutral and then, as Oracle
>> does, build a comptability layer that allows you to use best practices
>> on the system.
>>
>> If you want charting don't reinvent the wheel. Look to what you've
>> already purchase: Oracle Spatial.
>>
>> http://www.oracle.com/pls/db102/ranked?word=SDO
>
> Ugh! Are you seriously recommending the network data model?

No!

-- 
Daniel A. Morgan
University of Washington
damorgan_at_x.washington.edu
(replace x with u to respond)
Puget Sound Oracle Users Group
www.psoug.org
Received on Sat Aug 12 2006 - 21:16:52 CEST

Original text of this message