How to force two entities to point to the same lookup value 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. |