Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Datenbank(Software)design bei halbstündlichen Schichten

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Na da fängste ja zeitig an.
    Ich bin heute ein Nachtfalter
    __________________________________________________ _

    Jetzt habe ich deinen Post verstanden nikosch.

    Die Schichten sind ganz normal, sprich sie erstrecken sich über mehrere Stunden meistens.

    Du&dsmcg schreiben, dass ihr ein Time(stamp)Format bevorzugen würdet.

    Als Vorteil siehst du (nikosch), dass es dadurch sauberer aus der DB zu lesen ist.


    Nun ist dabei zu beachten, dass wir von zwei Dingen sprechen.

    1.)
    Verfügbarkeitsangabe

    Sprich der User hat Mo-So eine Verfügbarkeitsreihe in welcher er seine Verfügbarkeit einträgt.

    Frage:
    Würdest du die Verfügbarkeiten auch als Time(stamps) erfassen ?
    Wenn ja würdest du es sicher aus Gründen der allg. DB Struktur machen, so dass später die Schichten sich leichter darauf beziehen können.

    Frage2:
    Würdest du jedes Rechteck (Halbe Stunde) als DB Satz dort speichern ?
    Ich sehe halt die große Datenmenge als Nachteil im Gegensatz zum String.

    2.)
    Planung der Schichten


    Dort ist es, aus dem mir nun ersichtlichen Grund wohl sinnvoller auf Time(stamps) zu setzen.
    Dadurch kann auch eine Schicht die sich über einen Tag erstreckt einfacher identifiziert werden. (22:00 Uhr - 2:00 Uhr)

    Der Nachteil ist, dass diese Schicht dann je nach Auswahl des Admins in gewisse Teile gesplittet werden muss und nicht schon in diesen Teilen (z.B. 30 Minuten Rastern) in der DB vorliegt.

    So wie ich eure allg. Einschätzung hier aufnehme überwiegt jedoch der Vorteil.

    Habe ich das alles richtig zusammengefasst ?
    Würdet ihr bei 1.) [Verfügbarkeitsanzeige] die Daten auch in Timestamps aufnehmen, welche im Extremfall bei einer 15 Minuten Taktung auf bis zu 96 Datensätze pro Tag, also 96*7=672 Datensätze für die allg. Woche (anstatt nur 7 Datensätze ) ansteigen können ?

    Kommentar


    • #17
      Definiere Verfügbarkeitsanzeige. Da kommt doch jetzt keiner und sagt: Ich habe heute von 15:15 bis 15:30 Zeit, von 17:00 bis 17:15, von 17:45 ... oder?
      [COLOR="#F5F5FF"]--[/COLOR]
      [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
      [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
      [COLOR="#F5F5FF"]
      --[/COLOR]

      Kommentar


      • #18
        Naja die Verfügbarkeitsanzeige war so geplant, dass man ebend in der vorgegebenen Taktung seine Verfügbarkeiten individuell festlegen kann.

        Das sieht dann so aus, wie in dem Bild was ich angehangen habe:


        Dort kann man auf jeder Rechteck klicken und dementsprechend wird es grau hinterlegt wenn man dort keine Zeit hat.
        Dementsprechend gibt es kein "minimum Zeitfenster" (ich denke das meinst du) in welchem man nicht verfügbar ist.


        Das meine Theorie oben kein Hirngespenst ist untermauert folgender Fall:
        Der Mitarbeiter ist den gesamten Tag, mit außnahme von 3 Stunden nicht verfügbar.

        Dann hat man mal ebend 660 Datensätze für einen Tag von einem Mitarbeiter in der DB.

        Kommentar


        • #19
          Der Mitarbeiter ist den gesamten Tag, mit außnahme von 3 Stunden nicht verfügbar.

          Dann hat man mal ebend 660 Datensätze für einen Tag von einem Mitarbeiter in der DB.
          Also ich hätte dann 2 Datensätze:

          0 - [Anfang der Stunden]
          [Anfang der Stunden + 3] - 23:59
          [COLOR="#F5F5FF"]--[/COLOR]
          [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
          [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
          [COLOR="#F5F5FF"]
          --[/COLOR]

          Kommentar


          • #20
            Vielleicht denk ich auch "zu Grafikoberflächenmäßig".

            Ich habe es bisher so gelöst, dass ein XHR Request abgesetzt wird sobald auf ein Rechteck geklickt wird.

            Das kann ich aber vergessen, wenn in der DB die Felder (Rechtecke) nicht einzeln "eintragbar" sind.


            Wie würdest du dann deine Lösung umsetzen ?
            Indem es "old-school" einen "Speicher" Button am Ende gibt und PHP dann im Hintergrund die Schichten bestmöglich in die DB einträgt ?
            Zwingt mich dann das vorgeschlagene DB Konzept wirklich das Font-Endkonzept teilweise zu verwerfen ?

            Kommentar


            • #21
              Indem es "old-school" einen "Speicher" Button am Ende gibt
              Wenn es keine zwingenden Gründe für Ajax/Echtzeit gibt, ist das für mich immer the way to go. Der User kennt das aus Webanwendungen, es braucht keine ständigen Datenbankabfragen, Javascript kann sich nicht „verschlucken“ oder irgendwelche ominösen Race conditions auftreten. Ein Submit, ein Eintrag ist fürgemein eine recht sichere Angelegenheit. Zudem kann der User beliebig auf der Oberfläche rumspielen, ohne etwas ohne sein Wissen zu speichern..
              (Und das serverseitige Handling ist auch noch viel einfacher).

              Darf man fragen, für welche Branche das entsteht?
              [COLOR="#F5F5FF"]--[/COLOR]
              [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
              [COLOR="#F5F5FF"]
              --[/COLOR]

              Kommentar


              • #22
                Obwohl ich hab gerade mal 5 Minuten überlegt... eigentlich das ist Schwachsinn.

                Ich kann genauso gut via XHR Request das einzelne "Rechteck" speichern.

                Die Frage ich nur wie ich dann überprüfen kann, ob die Zeit die gepostet wird bereits in der DB steht oder nicht.
                Quasi eine "isTimeInTimerange()" Methode.

                Wenn diese true ergibt wird der entsprechende Wert aus der DB geholt, $StartzeitDB & $EndzeitDB gespeichert und dann wie folgt durch $startPost und $endPost gesplittet:

                alt: $startDB - $endDB
                neu: $stardDB - $startPost || $endPost - $endDB



                Daraus ergibt sich jedoch die herausforderung, dass am Ende alles sehr fragmentiert sein wird.
                Das heißt es geht nur "one way".

                Wenn nun $startPost und $endPost wieder als "nicht verfügbar" hinterlegt werden sollen ergibt die "isTimeInTimerange()" Methode ein false und es entsteht somit ein neuer DB Eintrag, obwohl die zwei existierenden zu einem hätten zusammengefasst werden können.

                Obwohl das auch nicht die ganze Wahrheit ist... denn man kann die Methode so abändern bzw. eine neue Methode schreiben die überprüft ob zwei Zeiten in der DB existieren die einmal $startPost und $endPost darstellen.

                Joa so müsste es auch per XHR gehen



                Ist natürlich murksiger als einfach immer nur einen String zu updaten.
                Aber wenn mit PHP Praktiker mit jahrelanger Berufserfahrung sagen, dass das die besser Alternative ist, löse ich es so.
                Denn auf XHR Requests soll nicht verzichtet werden.

                Der Thread wurde ja nicht eröffnet damit ich meine Meinung vertreten kann, sondern damit ich dazu lerne

                You got PM.

                Kommentar


                • #23
                  Aber wenn mit PHP Praktiker mit jahrelanger Berufserfahrung sagen
                  Ich hab auch nicht die Weisheit mit Löffeln gefressen. Anbetrachts der fortgeschrittenen Stunde mach es lieber so, wie Du es schaffst.
                  [COLOR="#F5F5FF"]--[/COLOR]
                  [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                  „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                  [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                  [COLOR="#F5F5FF"]
                  --[/COLOR]

                  Kommentar


                  • #24
                    Das nicht, aber du hast mindestens das 6-fache an meiner Erfahrung.

                    Ich bin in die -aktive- PHP Entwicklung erst seit Dezember 2010 eingestiegen, du hingegen schon seit min. 2008
                    Abgesehen davon gehe ich mal durch deine Posts davon aus, dass du auch ein Studium in der Richtung absolviert hast.

                    Naja wir brauchen uns nicht über Referenzen unterhalten, du bist hier schon nicht umsonst zum Moderator gekürt worden

                    Kommentar


                    • #25
                      du bist hier schon nicht umsonst zum Moderator gekürt worden
                      Stimmt, hat ne Menge Geld gekostet

                      Btt.
                      [COLOR="#F5F5FF"]--[/COLOR]
                      [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                      [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                      [COLOR="#F5F5FF"]
                      --[/COLOR]

                      Kommentar


                      • #26
                        Kleines Feedback zum Schluss:
                        Ich hab alles umgeschrieben.

                        Neben den genannten Vorteil nun auch Schichten direkt über den Verlauf von mehreren Tagen in die DB zu pflegen, ist es auch viel bequemer mit den Daten umzugehen.

                        Es war zwar aufwändiger zu programmieren, hat sich aber gelohnt.
                        Jetzt sieht es richtig professionell aus

                        Danke nikosch !

                        Kommentar

                        Lädt...
                        X