Modeling question...

From: Volker Hetzer <>
Date: Tue, 08 Jul 2008 18:25:02 +0200
Message-ID: <g504d1$a8d$>

Not sure if this is the right group but I've come across a problem I'm at a loss to model properly. Here's the setup: A model contains three entities ("Level"s) describing projects:
- Project Family records, each referencing several
  • Project records (with different attributes), in turn referencing
  • Sub projects, with different attributes again. Those three Project levels are connected by straight forward 1 to n relationships. But the problem is that they all have a bunch of key/value pairs. So, a project family can have a key/value-pair StartDate=20080615. But each project and subproject can have a different StartDate. On the other hand, sub projects, projects and family don't need to have the same key/value pairs.

Now, the simple solution is to have three key_value tables and be done with it. However what I'd very much prefer is just one key_value table with some kind of "level" attribute, 0 being family, 1 being project and 2 being sub project. The primary keys on the level entities are all numeric so this would perhaps work but I have no idea how to get the foreign key constraints done because the key_value table would have three parents.

How does one model relationships in which
- one child table has several parent tables

Lots of Greetings!

For email replies, please substitute the obvious.
Received on Tue Jul 08 2008 - 18:25:02 CEST

Original text of this message