Announcement

Collapse
No announcement yet.

DB-Schema wenn Zeilen und Spalten variabel

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • DB-Schema wenn Zeilen und Spalten variabel

    Hallo,

    ich möchte die angehängte Tabelle in einer Webanwendung abbilden, das ganze soll ein Trainingsplan werden.
    Der Plan besteht aus n Übungen (Zeilen) und n Datumsangaben (Tage als Spalten). Jedes Datum hat mehrere Sätze, für die dann Zahlen bei Wiederholung und Gewicht eingetragen werden.
    Leider bin ich da bisher nicht weit gekommen. Gibt es eine "Musterlösung" wie ich so eine Tabelle aufbaue, die sowohl eine variable Anzahl an Zeilen wie auch an Spalten hat? Ich muss das am Ende ja so abfragen können, dass ich die HTML-Tabelle zeilenweise für jede Übung und korrekt unter jedem Datum ausgeben kann.

    Hat von euch jemand eine Idee?
    Vielen Dank!
    Attached Files

  • #2
    Gibt es eine "Musterlösung" wie ich so eine Tabelle aufbaue, die sowohl eine variable Anzahl an Zeilen wie auch an Spalten hat?
    Nein. Das was du beschreibst (und das was dein Bild zeigt) ist auch keine Tabelle im Sinne einer relationalen Datenbank. Der Aufbau einer Tabelle sollte auch wenig mit einer bestimmten Ansicht in einer UI zu tun haben sondern ausschließlich der Struktur der Daten folgen. In deinem Fall eben einfach Übung, Tag, Satz, Wiederholung, Gewicht als Spalten. Alles weitere insbesondere die Aufbereitung in der gezeigten Form ist dann Anwendungslogik und eher keine Abfragelogik.

    Am ehesten kommt deine Ansicht einer Pivottabelle gleich. Wenn du irgendeine Html Control für die Darstellung benutzt solltest du dir ansehen wie dieses Control die Daten aufbereitet haben möchte. Dann kannst du die voraussichtlich eher simple Abfrage dahin optimieren. Es bleibt aber dabei das das weitestgehend Anwendungslogik bleibt.

    Comment


    • #3
      Hallo Ralf Jansen,

      danke. Schon klar, dass ich es so nicht direkt abbilde, habe im Anhang mal meinen aktuellen Stand. Macht das Sinn oder lieber ein anderer Aufbau?

      app_user gibts nur für mehrere Benutzer, app_plans enthält die Pläne. app_plan_exercise verbindet die Übungen aus app_exercises mit dem Plan, enthält also die Übungen pro Plan. app_dates enthält die Tage und app_sets die Wiederholungen/Gewichte.

      Edit: Leider wird der Anhang hier verkleinert, hier in Originalgröße: https://abload.de/img/dbgrk1k.png

      Alles was Anwendungslogik angeht, schreibe ich dann selber.
      Attached Files
      Zuletzt editiert von hinova; 24.07.2017, 21:56.

      Comment


      • #4
        Sieht auf den ersten Blick nicht so verkehrt aus. Mir fehlen allerdings noch die Nutzdaten oder hab ich was übersehen?
        Gruß, defo

        Comment


        • #5
          Hängt davon ab was du mit Nutzerdaten meinst, aber noch 1-2 Spalten zu ergänzen ist ja nicht das Problem - Hauptsache das Konzept passt.

          Comment


          • #6
            Originally posted by hinova View Post
            Hängt davon ab was du mit Nutzerdaten meinst, aber noch 1-2 Spalten zu ergänzen ist ja nicht das Problem - Hauptsache das Konzept passt.
            Nutzdaten, nicht Nutzerdaten. Ok, die Nutzdaten stammen in diesem Fall sicher von Nutzern.
            Aber konkret fehlt mir irgendwas, wo gemäß Plan dann tatsächlich Werte eingetragen werden. Also das "Ausfüllen" der Pläne mit den Resultaten der tatsächlich durchgeführten Maßnahmen.

            Kann natürlich sein, dass es ausschließlich um die Pläne geht.
            Kann natürlich auch sein, dass ich keine Ahnung hab, wie solche Pläne genutzt werden und bspw. die Anzahl der Wiederholungen in den Sets bzw. die Sets insgesamt keine Vorgaben sind, sondern die Nutzdaten. (Was bedeuten würde, das Anzahl und Zeitpunkt der Übungen nicht geplant sind)
            Gruß, defo

            Comment


            • #7
              Achso, das passiert in den Sets (der Plan wird nicht im Voraus erstellt, sondern später ausgefüllt). Das ist also ok. Danke nochmal, ich arbeite jetzt dran.

              Comment

              Working...
              X