WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Datenbankdesign: Eine große oder viele kleine Tabellen (http://www.wcm.at/forum/showthread.php?t=241841)

justsmile 01.04.2011 16:09

Datenbankdesign: Eine große oder viele kleine Tabellen
 
Hallo,

Mehrere Adresseinträge haben den gleichen Ort, PLZ, Bundesland

Variante 1 (große Tabelle)
in allen entsprechenden Zeilen steht PLZ, Ort, Bundesland

Variante 2 (extra je eine Tabelle für Ort, PLZ, Bundesland - jeweils mit ID)
in den entsprechenden Zeilen für die Werte stehen nur noch die IDs der anderen Tabellen

Was ist besser?
Die große Tabelle mit vielen Spalten oder viele kleine (mit JOIN verknüpfte) Tabellen?

verwendet wird MySQL und PHP, die Daten ändern sich nicht oft,
Ziel ist daher hohe Performance beim Lesen des Adresseintrags.

Kann da jemand weiterhelfen oder hat Erfahrungswerte?
Danke!

pc.net 01.04.2011 16:36

auch wenn ich grundsätzlich zur normalisierung rate, da dabei bei steigender datenmenge üblicherweise weniger performance-probleme auftreten und es auch (bei ordentlichem design) vom techniker wesentlich einfacher wartbar ist, denke ich, dass für deine anforderungen eher eine einfache gesamttabelle sinnvoller sein wird ...

bei wenigen daten ist oft eine "breite" tabelle sinnvoller, da sei einfacher abfragbar ist und durch die geringe menge meistens auch keine probleme durch I/O entstehen ...

Quintus14 01.04.2011 16:41

Nein, pfui ... wenn es 1:n-Beziehungen gibt, würd' ich es auch so abbilden (Stichwort 'rationale Datenbank'). Bei einer überschaubaren Datenbank darf eine SQL-Abfrage über mehrere Tabellen auf einem aktuellen Rechner nicht in irgend ein Performanceproblem laufen.

Quintus

pong 02.04.2011 16:32

Zitat:

Was ist besser?
Files.

Zitat:

Ziel ist daher hohe Performance beim Lesen des Adresseintrags.
Wenn du in der Lage bist - und glaub mir, 80% aller Leute die es zusammenbringen lauffähigen Code zu schreiben sind dazu nicht in der Lage - beim Schreiben des Zugriffs und Design der Datenbank sein Hirn einzuschalten, wird dich auch Left Join nicht umbringen geschweigen denn, dass du einen Unterschied spüren wirst (das System zwar schon, aber das ist eine Geschichte, warum gerade in deinem Fall ein einfacher Filezugriff die wohl vernünftigere Variante wäre).

pong


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag