Ich habe es schwer, meine Daten für Firebase zu erhalten und brauche eine Anleitung. Ich bin zuversichtlich, relationale Datenbank und finde, dass ich nur diese Art von Denken zu Firebase replizieren.Firebase-Daten: Denormierung und Duplizierung
Ich erstelle eine Fitness-App. Die Struktur, die ich habe, ist wie folgt: Übungen, Workouts und Programme.
Übungen ist ganz einfach, es ist ein Name, eine Beschreibung und ein Foto von einer einfachen Bewegung, wie Kniebeugen oder Bankdrücken.
exercise
--e1
--name:"Squats"
--description: "..."
--e2
--name:"Benchpress"
--description: "..."
Dann habe ich eine Liste von Trainingseinheiten. Ein Training ist eine Reihe von Übungen, die in einer speziellen Reihenfolge mit bestimmten Wiederholungen und Sets durchgeführt werden. Eine Übung könnte in vielen Trainingseinheiten mit unterschiedlichen Parametern verwendet wird (Wiederholungen, Sätze, rest)
workouts
--w1
--name:"Easy workout"
--description: "Design for beginners"
--exercises:
--we1:
--exercise: e1
--reps: 12
--rest: 60
--order: 1
--we2
--exercise: e2
--reps:6
--rest: 30
--order: 2
--w2
--name: "Hard exercise"
...
Also ich habe hier w1, ein Training, das nur verwendete Übung 1: Erste führen Sie 12 Wiederholungen der Übung 1, dann Rest für 60 Sekunden, dann 6 Wiederholungen von Übung 2 und ruhen für 30 Sekunden.
Endlich habe ich ein Programm/Plan. Ein Programm besteht aus mehreren Workouts, denen Sie folgen können. Zum Beispiel könnte Ihr Programm aus 3 Trainingseinheiten bestehen, die Sie am Montag, Mittwoch und Freitag absolvieren sollten.
Also wie oben erwähnt, ich nur relationale Daten in Firebase aufstellen. Was ist nicht der richtige Weg. Ich habe nur Probleme, wie ich diese Daten in flacher Weise verändern sollte. Sind Duplikate zum Beispiel ok?
Im Moment habe ich ein wirklich teures Lese (nicht Best Practice), da ich den Programmort abfragen, zuordnen, die Workouts abfragen, zuordnen, die Übungen abfragen. Es wird ziemlich umständlich schnell.
Alle thoughs und Hilfe wird sehr geschätzt.