Tobi: Frage zu Tabellenlayout

Hallo,

Ich möchte einen Urlaubskalender programmieren. In groben Zügen weiß ich schon, wie ich die dafür nötigen Tabellen anlegen möchte.

Was mir noch Kopfzerbrechen macht, ist die Frage, wie ich die Zeiten selber speichern will. Nehme ich einen Anfangs- und Endpunkt. Oder lieber einen Anfangspunkt und eine Zeitdauer? Oder lieber gleich für jeden Tag einen eigenen Eintrag, also für 7 Tage Urlaub eben 7 Einträge?

Hat jemand Erfahrungswerte oder Ideen hierzu, die er mir in diesem Thread weitergeben möchte?

Noch nicht berücksichtigen, aber im Hinterkopf behalten Hinterkopf behalten würde ich hierbei gerne, dass ich später mal zur Bedienung des Ganzen eine Tabelle generieren möchte, in der ich die Einträge als DIV oder Zelle per Drag+Drop manipulieren kann. Aber das wäre der 2 Schritt. Im ersten würde ich die Einträge und deren Edits über entsprechende Formulare gestalten und als Output besagte Tabelle ohne Drag+Drop-Funktionallität generieren.

Viele Grüße

Tobi

  1. Was mir noch Kopfzerbrechen macht, ist die Frage, wie ich die Zeiten selber speichern will. Nehme ich einen Anfangs- und Endpunkt. Oder lieber einen Anfangspunkt und eine Zeitdauer? Oder lieber gleich für jeden Tag einen eigenen Eintrag, also für 7 Tage Urlaub eben 7 Einträge?

    Kommt drauf an was du später damit machen willst. Geht es hauptsächlich um den Urlaub an sich, also wann hat eine bestimmte Person? Dann würde ich von-bis speichern.
    Falls es ein Spezialfall ist, zum Beispiel wenn du eher die Anzahl der Tage brauchst und anhand eines bestimmten Tags rausfinden willst ob jemand da Urlaub hat, könnte es vielleicht sinnvoller sein wenn du einzelne Tage speicherst.

    ... in der ich die Einträge als DIV oder Zelle per Drag+Drop manipulieren kann.

    Inwiefern manipulieren? Das wären gerade die Gründe dir für oben genannten Überlegung sprechen.

    Aber ich denke du kannst mit den Datumsfunktionen jede deiner Varianten machen und dabei diverse Abfragen realisieren.

    1. ... in der ich die Einträge als DIV oder Zelle per Drag+Drop manipulieren kann.
      Inwiefern manipulieren? Das wären gerade die Gründe dir für oben genannten Überlegung sprechen.

      Beispielsweise Urlaub verschieben.
      Oder Krankheit um 3 weitere Tage verlängern.

      Grüße, Tobi

      1. Hallo Tobi,

        werde die über die Zeiteinheiten klar. Gibt es halbe Tag (halber Tag krank), exisitieren Vor- und Nachmittage? Was ist die kleinste abzubildende Zeiteinheit?

        Gruß
        Brillo

        1. werde die über die Zeiteinheiten klar. Gibt es halbe Tag (halber Tag krank), exisitieren Vor- und Nachmittage? Was ist die kleinste abzubildende Zeiteinheit?

          Hallo Brillo,

          Ja, halber Tag Urlaub, halber Tag krank sollte schon möglich sein.

          Könnte man aber über eine Multiplikatorspalte regeln, wenn man die Möglichkeit nimmt, jeden Tag einzutragen.

          Vormittage/Nachmittage gibts nicht.

          Nun die Gegenfrage: Bist Du denn der Ansicht, man müsste zwangsläufig immer in Vielfachen der kleinsten abzubildenden Zeiteinheit speichern? (Wobei ich jetzt mal 0,5*Zeiteinheit nicht als Vielfaches bezeichne, sonst wäre die Frage ja Nonsens)

          Grüße, Tobi

    2. Falls es ein Spezialfall ist, zum Beispiel wenn du eher die Anzahl der Tage brauchst und anhand eines bestimmten Tags rausfinden willst ob jemand da Urlaub hat, könnte es vielleicht sinnvoller sein wenn du einzelne Tage speicherst.

      Als Ausgabe soll eher ein Kalender herauskommen, der aussagt, wer gerade wo ist.
      Tage-, wochen-, monats-, kalenderjahrweise anwählbar.

      Grüße, Tobi

  2. Hallo,

    Hi!
    Es lässt sich so pauschal nicht sagen, wie Du die Daten strukturieren mußt.
    Mache Dir gedanken WAS Du abbilden willst und wie das möglichst effizient funktioniert.

    Stichworte: ER-Diagramm, Normalformen, 1:n, n:m, Primär- und Fremdschlüssel.

    Nutze Google! :)

    Gruß, Markus

  3. Hallo,

    frage dich immer: Was will ich erreichen bzw. was erwartet der Benutzer?

    Was mir noch Kopfzerbrechen macht, ist die Frage, wie ich die Zeiten selber speichern will. Nehme ich einen Anfangs- und Endpunkt.

    Dann kannst du ohne Probleme etwas wie: "Meier hat Urlaub vom ... bis ... " machen.  [1]

    Oder lieber einen Anfangspunkt und eine Zeitdauer?

    Dann würde: "Meier hat am ... für ... Tage Urlaub." ohne weitere Datumsrechnerei passen. [2]

    Oder lieber gleich für jeden Tag einen eigenen Eintrag, also für 7 Tage Urlaub eben 7 Einträge?

    Geht auch: "Meier hat am ..., ..., ... usw Urlaub". [3]

    Natürlich ist jedes Format in ein anderes überführbar. Wenn man jedoch Hauptsächlich mit Ausgaben bzw. Weiterverarbeitungen wie in [1] zu tun hat, sollte man sich für dieses Format entscheiden.

    Hat jemand Erfahrungswerte oder Ideen hierzu, die er mir in diesem Thread weitergeben möchte?

    Ich persönlich halte mich daran welche Mittel zur Verfügung stehen. Wenn es eine ergiebige Datumsbibliothek gibt und Daten in einem Datumsformat in der Datenbank gespeichert werden können, dann macht es Sinn beides zu benutzen.

    Ich würde also das Start- und Enddatum in der Datenbank speichern.

    Grüße

  4. Was mir noch Kopfzerbrechen macht, ist die Frage, wie ich die Zeiten selber speichern will. Nehme ich einen Anfangs- und Endpunkt. Oder lieber einen Anfangspunkt und eine Zeitdauer? Oder lieber gleich für jeden Tag einen eigenen Eintrag, also für 7 Tage Urlaub eben 7 Einträge?

    Also ich würde ja, wobei meine DB-kenntnisse nicht maßgeblich sein sollten,
    die einzelnen Tage speichern. Wenn da Zeitraum $anfang bis $ende eingetragen
    wird, stelle ich mir die Ermittlung der bisher genommenen Urlaubstage oder
    die Abfrage, wieviele Leute gleichzeitig Urlaub haben, etwas schwieriger
    vor. Ist natürlich schon noch möglich, aber imho nicht unbedingt einfacher.
    Auch kann man, so denke ich, einfacher Wochenenden usw. rausrechnen. Falls
    jemand Mittwoch bis Freitag als Urlaub einreicht und dann später noch den
    Montag und Dienstag der Folgewoche, dann ist es ja eigentlich so als hätte
    er von Anfang an Mittwoch bis Dienstag als Urlaub eingereicht.

    Wie gesagt, nur meine Meinung, mich würde interessieren, was genau für die
    Variante mit der Zeitspanne spricht und wie ich dann möglichst einfach die
    Wochenende, Feiertage, Gesamturlaubstage, Überschneidungen etc. ermitteln
    kann.

    MfG, SE

    1. Wie gesagt, nur meine Meinung, mich würde interessieren, was genau für die
      Variante mit der Zeitspanne spricht und wie ich dann möglichst einfach die
      Wochenende, Feiertage, Gesamturlaubstage, Überschneidungen etc. ermitteln
      kann.

      MfG, SE

      Zudem stellt sich die Frage, wie trage ich bei der von-bis -Variante einen eintägigen Doppeltermin ein? Also Urlaub und zugleich krank.

      Grüße, Tobi