BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- PHP fragenkatalog (http://www.black-board.net/thread.php?threadid=22494)


Geschrieben von ragtek am 12.09.2006 um 18:27:

  fragenkatalog

also ich soll so etwas wie einen fragenkatalog erstellen

kandidat sitzt vorm pc
macht eine prüfung mit kategorie a fragen die zufällig aus der db kommen

es soll 10 kategorien gebn
jede frage hat 5 antworten ide unterschiedlich viele punkte haben können

am gscheitesten is es, wenn ich tabelle frage hab
dann eine tabelle
richtige antworten
falsche antworten

oder?



Geschrieben von phlox81 am 12.09.2006 um 19:08:

 

Jo, eine Tabelle Frage und eine für Antworten.
Evtl. kannst du sogar mit SQL direkt die Fragen zufällig aus der DB holen,
weiss aber nicht ob Mysql sowas wie SAMPLE bietet.



Geschrieben von ragtek am 12.09.2006 um 19:25:

 

abfrage stellt an sich kein problem

ich such nur eine gute möglichkeit die tabellen zu gestallten


also
fragen:
id frage schwierigkeit kategorie

antwort_richtig
id antwort punkte

antwort_falsch
id antwort

oder alle antworten in eine tabelle packn?
so war die fragestellung*g+



Geschrieben von LX am 12.09.2006 um 20:25:

Achtung

Die Antworten auf 2 Tabellen zu verteilen halte ich nicht für sinnvoll. Stattdessen würde ich alle Antworten in die gleiche Tabelle packen, und jeder Antwort eine "Punktzahl" zuordnen. Eventuell könnte es von Nutzen sein, für die Kategorien eine Extratabelle zu machen.

Ich hab etwa folgendes Datenbankschema im Sinn:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
Tabelle Kategorie
-----------------
# id              <---+
  name                |
  ...                 |
                      |
Tabelle Frage         |
-------------         |
# id              <-+ |
* id_kategorie    --|-+
  schwierigkeit     |
  fragestellung     |
  ...               |
                    |
Tabelle Antwort     |
---------------     |
# id                |
* id_frage        --+
  antworttext
  punktzahl
  ...
Ob eine Frage nun richtig oder falsch ist, kannst du an der vergebenen Punktzahl festmachen.



Geschrieben von low.society am 12.09.2006 um 20:37:

 

da wir ja auch gerade datenbank-modellierung in der berufsschule haben, versuch ich mich mal smile

das entity-relation-model sieht schonmal so aus:

+++ Bild konnte nicht geladen werden +++

erklärung:
es handelt sich hier um eine one-to-many (1:n) beziehung, was heißt, dass eine frage mehrere antworten haben kann. die frage an sich besitzt eine eindeutige ID und natürlich den text zur frage....genauso die antwort, bloß dass da ein flag hinzukommt, welches anzeigt, ob die antwort richtig oder falsch ist.

das sind dann auch 2 tabellen:

#1 - tabelle "frage" mit den spalten "id" und "text"
#2 - tabelle "antwort" mit den spalten "id", "text" und "richtig" und zusätzlich dem fremdschlüssel "frage_id" welcher auf die zugehörige frage verweist (dieses feld ist im diagramm durch die beziehung zwischen den beiden entities definiert)

joa..ich denk mal, das wäre ne gute alternative Zunge raus

EDIT: anstatt des "richtig"-attributs von "antwort" sind natürlich auch punkte möglich Augenzwinkern



Geschrieben von phlox81 am 12.09.2006 um 20:59:

 

Hm, kann die eine Antwort richtiger sein als die andere?

Ausserdem ist das eher Programmierung -> Verschoben.



Geschrieben von low.society am 12.09.2006 um 21:02:

 

is ja im prinzip das gleiche wie von LX .. hatte die "Antwort-Seite" bloß schon etwas länger offen und net gesehn, dass LX schon geschrieben hatte smile



Geschrieben von ragtek am 13.09.2006 um 08:32:

 

Zitat:
Original von phlox81
Hm, kann die eine Antwort richtiger sein als die andere?

Ausserdem ist das eher Programmierung -> Verschoben.


sie kann "wichtiger sein Augenzwinkern "
also das eine leichte antwort zB 2 Punkte wert ist und eine 4 Punkte
so wurde es mir erklärt


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH