Ich habe eine Webanwendung, an der ich gerade arbeite, die eine MySQL-Datenbank für das Backend verwendet, und ich muss wissen, was für meine Situation besser ist, bevor ich weitermache.Sollte ich flache Tabellen oder eine normalisierte Datenbank verwenden?
Einfach gesagt, in dieser Anwendung werden Benutzer in der Lage sein, ihre eigenen Formulare mit beliebigen Zahlenfeldern zu konstruieren (sie entscheiden), und jetzt habe ich alles in ein paar Tabellen durch Fremdschlüssel verknüpft. Ein Freund von mir schlägt vor, die Dinge so "einfach/schnell" zu halten, dass ich das Formular jedes Benutzers in eine flache Tabelle umwandeln soll, so dass die Abfrage von Daten von ihnen schnell bleibt (im Falle eines großen Wachstums).
Soll ich die Datenbank normalisieren mit allem in relationalen Tabellen mit Fremdschlüsseln (Indizes, etc.) gepoolten oder sollte ich flache Tabellen für jedes neue Formular erstellen, das ein Benutzer erstellt?
Offensichtlich sind einige Vorteile der Erstellung von flachen Tabellen Datentrennung (Sicherheit) und Abfragegeschwindigkeiten würden reduziert werden. Aber ernsthaft, wie viel Gewinn würde ich daraus ziehen? Ich will wirklich nicht 10000 Tische haben und die ganze Zeit fallen lassen, verändern und hinzufügen, aber wenn es besser wird als ich es tun werde ... brauche ich nur etwas Input.
Vielen Dank
Normalisieren, bis es weh tut. :) – shamazing
Keine wirkliche Antwort ... aber Sie können immer Wikipedia als Anleitung verwenden. Hier ist das Datenbankschema von Wikipedia: http://commons.wikimedia.org/wiki/File:Mediawiki-database-schema.png – Dragontamer5788
@shamazing dann denormalize bis es funktioniert. 80)) – Keng