Hans: Problem bei Datenbankdesign (Rekursivität...)

Beitrag lesen

Hi !

Tabelle Antworten:

Antwort                          Produkt                ID

Ja                               0                      0
Ja                               0                      01
Nein                             0                      00
Nein                             0                      010
Ja                               0                      011

etc.

So, wenn Du nun Produkt Auto ausgewählt hast, suchst Du die Frage mit der ID "0" (da Du die erste Frage stellst) und dem Produkt "0" (Auto). Der User sagt "Ja". "Ja" ist mit einer 1 kodiert.

Wieso ist ja mit einer "1" kodiert? Wo steht diese "1"? Das verstehe ich noch nicht ganz. Und die Id in der dritten Tabelle ist mir auch noch nicht so ganz klar, aber da werde ich nochmal nachdenken...
Ich stehe etwas auf dem Schlauch, aber ist auch eine Kodierung im Dezimalsystem möglich? Oder warum hast Du jetzt Dual bzw Hex ausgewählt?

Also, das ganze kann man sich ja wie einen Binär-Baum vorstellen. Da kannst Du "links" und "rechts" abbiegen. Du kannst auch "0" und "1" sagen. Nun sagen wir mal, alle "Ja"'s haben den Code "1" und alle "Nein"'s einer Frage haben den Code 0. Somit hast Du bei

0           -> erste Antwort ist Nein
01          -> 1. A. ist Nein, 2. A. ist Ja
010         -> 1. A. ist Nein, 2. A. ist Ja, 3. A. ist Nein

Somit hangelst Du dich durch den Baum, bis der User abbricht oder Du auf den letzten Knoten triffst. Um die für die bisher gegebenen Antworten richtige Frage zu finden, suchst Du die Frage, die gestellt werden muß, wenn die 1. A. Nein, die 2. A. Ja und die 3. A. Nein ist. Also suchst Du die Frage, bei der die ID="010" ist.

Und Hex-System:

9C3 -> multiple choice. 1. Frage die 9.Antwort geklickt, 2. Frage die 12. Antwort, 3. Frage die 3. Antwort gewählt.

Gruß

Hans