Problem beim Abbilden auf eine rel. Datenbank

Bei euren Datenbanken wird mir schwindelig
Machts doch einfach !
Leider ist es nicht sooo einfach, und ich glaube auch nicht im Sinne einer relationalen DB.
Auf diese Weise kann ich allenfalls einem Fragebogen die Themen zuordnen, aber einem Thema keine Fragen.

Aber ich hab ich kenn mich eh nicht ganz so gut aus.
Allerdings ist mir das mit der rel.DB sehr wichtig.
Danke, die Gedanken werd ich trotzdem mal durchspielen.
 
Bei deinem Vorschlag muss jemand die Fragebögen auswerten, bei dem mir skizzierten Vorschlag kann man ein Automatisierungssystem erstellen, welches die eingetippten Antworten mit der richtigen Antwort vergleicht (macht natürlich nur Sinn, wenn es nur 1 Wort ist oder so etwas). Andererseits ist es auch wichtig, die richtige Antwort zu speichern, falls derjenige, der kontrolliert, sich nicht so gut damit auskennt. Ich sag ja, es hängt sehr stark von der eigentlichen Verwendung ab.
 
@Radhat:

ok, hab ich soweit verstanden, aber (habs nicht erwähnt weil ich dachte es macht keinen unterschied) es ist kein Fragebogen im Sinne Antwort richtig/falsch, sonder eher Richtung Umfrage (0=schlecht 6=gut) ,und dass dies dann ausgewertet wird mittels Grafik/Statistik o.ä..
Dabei wird dann ein Mittelwert pro Thema errechnet, bzw. zusätzlich pro Gruppe. Heißt, die Speicherung der Antworten ist notwendig, wenigstens wenn Gruppen gebildet werden.

Aber das kann man dann doch entsprechend umbauen. Bzw. brauch man dann den Zwischenschritt der FragebogenAntworten?

Gruß und manyTHX
Avarius
 
Zuletzt bearbeitet:
Doch kannst Du
select * from Fragebogen where Fragebogen="Design"

Listet alle Fragen auf die im Fragebogen Feld "Design" stehen haben
und mit der Join Syntax kannst du auch die zugehörigen Antworten ermitteln
Schau dir mal das SUM() Statement in mysql an :)

Vertrauens Sie mir - ich weiß was ich tue.... (S.Hammer)
 
Sry Rexxitall,

aber ich weiß nicht wie Du das meinst mit den Themen...
Nochmal zur Erklärung, habe einen Fragebogen mit verschiedenen Themen(oder nenn es Kategorien). Diese Kategorien haben dann nochmal verschiedene Fragen.

Das hab ich mit Deinem Vorschlag nicht realisiert bekommen :(
Ich weiß auch nicht wie ich das in DBDesigner abbilden könnte, aber das mag daran liegen das ich mit dem DBDesigner noch unerfahrener bin als mit DB generell^^
 
Also du hast Fragebogen
mit Themen
Das Heist ein Fragebogen beinhaltet ein Thema
Jeder fragebogen hat 10 Fragen

Jetzt werf als erstes einmal den DBDesigner in die Ecke und vergiss den.

Bei mir sähe die tabelle wie folgt aus

id Fragebogen Frage
1; Nr1 KFZ;Ist Blau eine coole Farbe
2 ;Nr1 KFZ;Ist der Spritverbrauch angemessen
3 ;Nr1 KFZ;Blah...
4; NR2 KRAD;Leistungsstärke ausreichend
5; NR2 KRAD;blah...

select * from Fragebogen where Fragebogen ="NR2 KRAD"
liefert genau diese Fragen

Natürlich könnte man diese Tabelle noch weiter normalisieren aber bei den datenbeständen ist das Overkill

Wenn du ein feld Fragenummer hinzufügst kannst du sogar noch die Reihenfolge bestimmen

select * from Fragebogen
where Fragebogen ="NR2 KRAD"
order by Fragenummer

Oder du fügst ein Themenfeld hinzu

select * from Fragebogen
where Fragebogen ="NR2 KRAD" and THEMA="Farbe"
order by Themanummer,Fragenummer

usw.
Spiel einmal nur mit *einer* Tabelle herum und verstehe die Mächtigkeit von SQL
bevor du es beidhändig schwingst ;)
 
Ahhh... also du hast nur ein Bewertungssystem dahinter?

Dann würd ich das mit den Antworten auskoppeln und mit ID's versehen, diese ID wird dann als BenutzerAntwort gespeichert. Wenn du dann die Auswertung zu einer Gruppe machst, brauchst du die FragebogenID und die GruppenID, dann bekommst du alle Antworten, welche du mittels COUNT() zusammenzählen kannst, zu welcher Antwort wieviele gestimmt haben.
 
Integriere in die Fragebogentablle einfach folgende Felder
id als longint
Fragebogen als text
Fragebogennummer als int
Kategorie als text
Kategorienummer als int
Frage als text
Fragenummer als int

dann kommst du easy mit
select * from Fragebogen2
where Fragebogen="Fragebogen1" and Kategorie="Kategorie2" and Frage="Frage3"
order by Fragebgen,Kategorie,Frage


Fragebogen1 Kategorie2 Frage3 sind natürlich nur Beispiele die solltest du halt sinnvoll in der Tabelle stehen haben
genau an diese Hierarchie dran.
 
@Rexxitall:
ok, ich brauch zwar pro Fragebogen mehrere Themen und pro Thema mehrere Fragen, aber ich weiß wie Du das meinst.
Ich müsste noch in Deiner Tabelle die Du gepostet hast, die Frage in Thema ändern:

id Fragebogen Thema
1; Nr1 KFZ; Design
2 ;Nr1 KFZ;Leistung
3 ;Nr1 KFZ;Blah...
4; NR2 KRAD;anderesThema
5; NR2 KRAD;blah...

Dann noch eine Tabelle mit den Fragen und nem FK zu den Themen.

@Radhat:

ich probier Deinen Vorschlag auch mal aus, und poste dann das Ergebnis, soweit ich glaube es umgesetzt zu haben ;)

Das normalisieren ist mir sehr wichtig. Auch wenn die Performance leiden sollte.
Wieder Danke euch beiden(!)
 
So, anbei mein Vorschlag plus der "Intuition", dass ich das Fragebogenergebnis nicht mehr brauche, oder hab ich wieder einen Denkfehler?^^
 

Anhänge

  • db_modellneu.zip
    4,4 KB · Aufrufe: 13

Neue Beiträge

Zurück