Diese Frage kann ein bisschen breit sein!Kann nicht entscheiden, ob Normalisierung oder De-Normalisierung funktionieren würde
Kürzlich lerne ich MySQL. Ich mache eine Informationsdatenbank für Schulprüfungen. Ich habe eine Tabelle mit dem Namen subjects
erstellt, in der Informationen zu verschiedenen Themen gespeichert sind, einschließlich vollständiger Name oder vollständige Markierungen für jedes Thema. Ich habe auch eine andere Tabelle mit dem Namen exams
erstellt, in der die von jedem Schüler zu jedem Thema erhaltenen Noten gespeichert sind. Offensichtlich ist subjects
die Haupttabelle und exams
ist die untergeordnete Tabelle hier. Basierend auf den Daten, die in diesen beiden Tabellen gespeichert sind, werden Informationen wie Prozentsatz und Note für jeden Schüler zusammengefügt.
Aber was ist, wenn sich die bestimmte Information in der subjects
Tabelle in Zukunft ändert. Sagen Sie, dass die vollständigen Noten für ein bestimmtes Thema geändert werden. In diesem Fall sind die älteren Datensätze in der Tabelle ungültig oder falsch , weil der Join nun neue Werte erzeugt, die für aktuelle Datensätze korrekt sind, aber für ältere Datensätze falsch sind.
Was soll ich in dieser Situation tun? Zerlege ich beide Tabellen zu einer vollständigen Tabelle? Aber mein schüchternes Wissen im Datenbankdesign sagt, dass das eine falsche Praxis ist!
Jede Hilfe oder Einsicht wird sehr geschätzt.
Was ist mit temporären Tabelle –
Könnten Sie bitte näher darauf eingehen? Ich höre zu. –
von was ich höre haben Sie 3 Tabellen bisher nicht 2. Studenten, Fächer, Prüfungen. Halten Sie das Zeug normalisiert und haben Sie Schnittstellentabellen. Siehe [Junction-Tabellen] (http://stackoverflow.com/a/32620163) – Drew