But I'm just now coming to grips that everything does not need to be in a RDBMS! Oh the horror! How should we do this in ZODB? For example, what if each 'questionnaire' has 500 questions in 5 categories, and each 'questionnaire' can be built from a different/random combination of categories? Does this have any impact on how it should be done in ZODB?
Or maybe here is another way of asking the question -;^>= Imagine, if you will, having a questionnaire. This questionnaire is comprised of N sections, with each section providing its own variable list of questions. Each answer to a question must be: Yes, No, or N/A with a comment. When a question is replaced with a newly worded question, it must still have some sort of pointer to the original question that it was created from. ----------------------------------------------------------------------- Question #17: "What is your favorite food?" - becomes - Question #73" "What is your favorite cooked food?" ----------------------------------------------------------------------- For example, what if I wanted to see everyone that answered "Stromboli", regardless of whether they answered the newer questionnaire (with #73) or the old one (#17). The answer would still be valid, just the wording of the question was changed. The relational model can attack this problem from several angles, and I am comfortable with how I am doing that. But even that relational data will need multiple passes to get one list of results (get answers, loop over questions from each previous version, get those answers too, etc.). Ok, *NOW* answer how this can also be done in a search-friendly manner. (evil grin) -- Mitch Pirtle Corporate Security Officer Kühne & Nagel Management AG Tel: +41 1 786 96 45 Fax: +41 1 786 95 95