Seite 1 von 1

1:1-Relation in eine Tabelle oder getrennt?

Verfasst: 18.10.2003 00:45
von Freeceleb
Hallo allerseits,

ich überlege gerad, wie ich die Userdaten eines zu erstellenden Portals am besten abspeichern sollte.

Und zwar gibt es zu jedem User bei der Anmeldung einige Angaben abzuspeichern, so wie halt Vor-, Nachname, Adresse, usw.

Eigentlich könnte man ja alles in eine Tabelle packen, inkl. Loginname, verschlüsseltes Passwort etc.. Aber an für sich wird die Tabelle dann sehr "breit", hat also viele Spalten. Könnte sich das auf die Performance der Datenbank hinterher negativ auswirken?

Im Moment geht meine Tendenz da eher in Richtung 2 Tabellen, eine mit den Usernamen, Passwörtern, Status-Angaben etc. und eine mit den persönlichen Angaben.

Was ist nach Eurer Meinung besser?

In dem Forum hier z.B. wird ja glaub ich alles in eine Tabelle reingepackt. Aber hier gibt man ja bei der Anmeldung auch nicht seinen halben Lebenslauf ein :D

Verfasst: 18.10.2003 01:22
von PhilippK
Also 'ne 1:1-Beziehung birgt immer die Gefahr von Inkonsistenzen, außerdem dürfte es der Geschwindigkeit nicht gerade zuträglich sein. Zumal das ganze ja beim Bearbeiten etwas schwieriger wird.
Ich würd's nur in wenigen Ausnahmefällen machen, wenn z.B. viel sortiert wird oder in einem Feld Daten variabler Länge gespeichert werden.

Gruß, Philipp

Verfasst: 18.10.2003 01:48
von R. U. Serious
Es gibt keine pauschale Antwort. Hier hilft nur konkretes Testen. In 4 von 5 Fällen wird es wie Phillip sagt, sinnvoller sein, in eine Tabelle zu packen. Eine Ausnahme würde ich nur machen, wenn es konkrete Testdaten gibt die belegen, dass es einen Vorteil bringt. Bsow. wie bei phpbb_posts und phpbb_posts_text. Ersteres wenige Daten auf die sehr häufig zugegriffen wird, letztere sehr umfangreich und weniger Zugriffe: Es wurde getestet und dann in 2 Tabellen geteilt.

btw: Die Anzahl der Felder wird eher wenig ausmachen, dann eher die gesamte Grösse der Felder/Feld-gruppen auf der Festplatte und die Häufigkeit der Zugriffe.

Verfasst: 18.10.2003 16:27
von Pyramide
Das mit phpbb_posts_text ist übrigens der einzige Fall, wo phpBB eine 1:1 Beziehung verwendet. Die Tabelle phpbb_users von phpBB hat z.B. fast 50 Felder: http://www.phpbb.de/doku/doku2.php?mode=users#users

Verfasst: 18.10.2003 16:37
von PhilippK
Pyramide hat geschrieben:Das mit phpbb_posts_text ist übrigens der einzige Fall, wo phpBB eine 1:1 Beziehung verwendet.
Wenn man von den Privaten Nachrichten und den Themes-Tabellen absieht, ja ;-)

Gruß, Philipp

Verfasst: 18.10.2003 16:44
von Pyramide
Ups stimmt, da habe ich gar nicht dran gedacht :oops:

Verfasst: 19.10.2003 21:19
von Freeceleb
Vielen Dank für Eure Antworten, die haben mir weitergeholfen :)