Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2003 Teil von März

SELFHTML Forumsarchiv
schlechtes Datenbankkonzept

Informationsseite
  1. Seite (DATENBANK) schlechtes Datenbankkonzept von Christian1982, 31. 03. 2003, 21:09
nach unten

schlechtes Datenbankkonzept

Die folgende Nachricht zum Thema stammt von: Christian1982, 31. 03. 2003, 21:09

Hallo.
Ich habe mit PHP und MySQL ein Voting-System gemacht.
Die Dantenbankfelder sind wie folgt angelegt(alles in einer Tabelle).

id|frage|erstelldatum|antwort_1|antwort_2|antwort_x|vote_1|vote_2|vote_x

Das Problem ist: Sie ist nicht normalisiert
und vorallem: die Antworten sind begrenzt.

Weiß jemand Rat oder Anregungen?
Ich bin für alles dankbar.

Viele Grüße,
Christian

nach obennach unten

schlechtes Datenbankkonzept

Die folgende Nachricht zum Thema stammt von: Bio, 31. 03. 2003, 21:16

Sup!

»» Das Problem ist: Sie ist nicht normalisiert
»» und vorallem: die Antworten sind begrenzt.
»» Weiß jemand Rat oder Anregungen?
»» Ich bin für alles dankbar.

Sicher. Normalisiere die Datenbank bis zum nötigen Grad.
Mach' eine eigene Tabelle für "Antworten" und/oder für "Beiträge" und/oder "Kommentare".

Gruesse,

Bio

--
Ich bin ein Mobber - mein Posting tut mir leid! EHRLICH!!!
sh:( fo:) ch:] rl:} br:> n4:& ie:{ mo:) va:) de:] zu:) fl:( ss:) ls:]

nach obennach unten

schlechtes Datenbankkonzept

Die folgende Nachricht zum Thema stammt von: Christian1982, 31. 03. 2003, 21:21

Genau damit hab ich Schwierigkeiten, wie ich die Tabelle Antworten strukturieren soll, damit ich beliebige viele Antworten hineinbekomme.

Wenn ich:

Antwort_1|Antwort_2|Antwort_3|... als Felder definiere, hab ich ja dann auch wieder ne begrenzte Zahl ?

nach obennach unten

schlechtes Datenbankkonzept

Die folgende Nachricht zum Thema stammt von: romy, 31. 03. 2003, 21:31

Hi,

»» Antwort_1|Antwort_2|Antwort_3|... als Felder definiere, hab ich ja dann auch wieder ne begrenzte Zahl ?

antwort_id | frage_id | text

dasselbe gilt für die Fragen

fragen_id | text | erstelldatum

und fürs voting

vote_id | antwort_id | vote

wobei die erstgenannten id's Primärschlüssel sind
Id's die in den Tabellen och vorkommen sind logischerweise Fremdschlüssel

ich weiss jetzt nicht ob es vollständig ist.

hilfts?

ciao
romy


--
DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN

sh:( fo:| ch:? rl:( br:& va:| zu:) ss:| ls:[
Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode

nach obennach unten

schlechtes Datenbankkonzept

Die folgende Nachricht zum Thema stammt von: Christian1982, 31. 03. 2003, 22:57

Genau das war es...
Vielen Dank.

Aber eins verstehe ich nicht: Warum hast du für das Voting ne extra Tabelle gemacht.
Man kann doch das Attribut "Vote" auch in die Tabelle "Fragen" integrieren, oder täusche ich mich da etwa?

nach obennach unten

schlechtes Datenbankkonzept

Die folgende Nachricht zum Thema stammt von: Bio, 31. 03. 2003, 21:43

Sup!

Es sind verschiedenen Schemata denkbar - z.B.

(fk = Fremdschlüssel, pk = Primärschlüssel)

Für jeden Beitrag:

Tabelle beitraege:
antwort_auf_beitrag_fk | beitrag_pk | text

Ein "Erstbeitrag" hätte einfach NULL im ersten Feld.
Antwortbeiträge erkennt man daran, daß sie im ersten Feld die ID des Beitrags haben, auf die sie Antworten darstellen.
So kann man rekursiv alle Antworten auf einen Beitrag und Antworten auf Antworten finden - wenn es eine Baumstrukur geben soll.

Dazu wäre dann denkbar, eine Tabelle kommentare zu machen
kommentar_zu_beitrag_fk | kommentar_pk | text

Gruesse,

Bio

--
Ich bin ein Mobber - mein Posting tut mir leid! EHRLICH!!!
sh:( fo:) ch:] rl:} br:> n4:& ie:{ mo:) va:) de:] zu:) fl:( ss:) ls:]

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2003 Teil von März

© 1998-2006 Seite Impressum, Software: Classic Forum