Not directly from Answer, no. (At least not in the “common case”)
There are a number of questions about the specific needs for these questionnaires that could change the base recommendation.
- You mention that “Each set of questions is based on a particular area of the project being reviewed.” Does this mean that you might have multiple Questionnaires for a project? (This solution provides the ability to handle that.)
- Is there ever any need to answer the same questionnaire for a project a second or third time? (This solution provides the ability to handle that.)
- If so, is there value in tracking the first response in addition to the later responses?
In the “common case” solution, an Answer is already related to a Question, which has a relationship to a Questionnaire, which can then be related to a Project. (You would likely want the Questionnaire to have an FK to Project, allowing you to have multiple Questionnaires for each Project.)
As I tried to explain above, think of the questionnaires as if you were working with physical paper.
You might want to have a cover sheet - the “Response”.
You may have the “Questions” identified in a book somewhere.
You might then provide answers to those questions, the “Answers”, by identifying the question being addressed by that particular answer. (There’s not necessarily a need to copy the text of the question to the answer - think of something like an SAT where the answer sheets are independent of the questions in the book.)
The “Questionnaire” is the identification of the set of questions to answer.
Someone then answers all the questions, puts them in a folder, and places that folder in the filing cabinet for the “Project”, perhaps in a drawer labeled “Responses to Questionnaire X”.
Those items attached together or otherwise marked are your general indications where the FKs reside.
A person (“User”) may sign the cover sheet identifying themselves as the person filling it out, so you need an FK from “Response” to “User”.
The completed packet isn’t separated by question to be filed by question in the drawer. The answers are all attached to the single coversheet. This identifies the need for an FK from “Answer” to “Response”.
The completed Response packet is then filed as a unit in the cabinet, so your relationship is from the Response to the Questionnaire.
Now, where this “common case” solution doesn’t work are those cases where you wish to apply the same questionnaire to multiple projects, or to ask the same question in multiple questionnaires. That might introduce some ManyToMany relationships depending upon how the responses need to be analyzed. But all that gets really deep in to an analysis of the business model and what the ultimate objectives and desired results are.