Database design for surveys and experiments
You may wish to start with http://tdan.com/data-model-quality-where-good-data-begins/5286 Particulary i found following technique very useful when building relationships:


  Relationship Names
  Your author studied under Richard Barker and is a strong believer in the Oracle/SSADM[5] standard structure for
  relationship names.  It provides discipline, and it permits the
  relationships to be read as easy-to-understand but precise English
  sentences.  When models are being presented to the public, this is
  extremely valuable.   Each of the two roles in a relationship should
  be named with this structure: 

Each
&lt;entity type 1&gt;
must be           (Side of relationship line closest to first entity type is solid)
(or)
may be             (Side of relationship line closest to first entity type is dashed)
&lt;relationship&gt;
one and only one  (No crow’s foot next to second entity type)
(or)
one or more       (Crow’s foot next to second entity type)
&lt;entity type 2)

  
  For example, in Figure 10, the first relationship consists of the
  following two roles:
   •    Each ORDER must be  from one and only one PARTY.
   •    Each PARTY may be a buyer in one or more ORDERS.
  The second  relationship consists of the following two roles:
  • Each ORDER must be to one and only one PARTY.
  • Each PARTY may be a seller in one or  more ORDERS.
  (Note that these sentences are much more graceful than
  something like “A PARTY buys in zero, one, or more ORDERS”.  Non-data
  modelers don’t talk like that.)