2012-05-02 13 views
1

私は、私たちのコミュニティの小さなプロジェクトのための測量システムを設計しています。 しかし、どういうわけか私はシステムを適切に設計する方法につきまして、 データベース側で設定することができます。MySQLでの階層的スキーマの設計

私の使用例は次のとおりです。 これは、ユーザーが一連の質問をし、その回答に応じて何らかの調査システムです。 別の質問があります。私はステップ/ウィザードページとしてこれを表示する予定です。彼の答えがある場合

私の図では
        | --- Answer C --> End Survey 
     |--- Answer A --- Q2 ---- | --- Answer D --> End Survey              
Q1 ---> |       | --- Answer E --> End Survey        
     | 
     |--- Answer B --- Q3 --- | --- Answer F --> Q7 ---> End survey 
         |   | --- Answer G --- Q8 --- | Answer H --> End Survey 
         |          | Answer I --> End Survey 
         |          | Answer J --> End Survey 
         --- Q4 --- End Survey     | Answer K --> End Survey 

、ユーザーが最初に示されているQ1(Question1)は、その後、Q2は、答えの(C、D、E)を調査 停止の一覧が表示されます。 しかし、ユーザーがBと答えると、同じページにQ3 + Q4が表示されます。ユーザーがQ3でFと答えると、次の質問はQ7と続きます。

私は質問を保持するQUESTIONテーブルと回答リストを保持するQUESTION_ITEMSテーブルを作成することを考えていますが、どのように状態遷移を処理するのですか?

私は実際に、ユーザーが 質問リストを設定できるこの種の要件を適切にサポートする方法に固執しています。

どのような考えですか?

私のターゲットDBは途中でMYSQLです。

おかげ

答えて

2

私はそれが質問questionitems(別名答えを)持っていることは理にかなって思います。その後、それぞれquestion_itemをフォローアップページにリンクするだけです。 ページの別の列を使用して質問をグループ化します。

質問

ID Name Page 
1 Q1  1 
2 Q2  2 
3 Q3  3 
4 Q4  3 

Question_Items

ID Name  Question_ID Next_Page 
1 Answer 1 1    2 
2 Answer 2 1    3 

等...

+0

ナイス!ありがとう.... –

関連する問題