1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Datenmodell für Dienstplan

Dieses Thema im Forum "Datenmodellierung, Datenbank-Design" wurde erstellt von mohikaner, 9 August 2010.

  1. mohikaner

    mohikaner Neuer Benutzer

    Hallo,

    ich sitze gerade auf dem Schlauch.
    Ich möchte einen Dienstplan in einer Datenbank abspeichern.
    Dabei will ich bestimmte "Dienste" als Muster ablegen, die man dann den Mitarbeitern an einzelnen Tagen zuweisen kann.

    Die Dienste enthalten je Tag verschiedene "Arbeitsbereiche" wie z.B. (es ist für eine Kindertagesstätte)

    - Küche
    - Hausaufgaben
    - Krippe
    - Vorbereitungszeit
    - Pause
    - Dienst am Kind
    usw.

    Die Einrichtung arbeitet vom 07.00 Uhr bis 17.00 Uhr. Da sich die Dienstanfänge und ~ende immer auf eine volle Viertelstunde beschränken, hatte ich bisher den Tag von 07.00 Uhr an bis 16.45 Uhr in "Viertelstundenblöcke eingeteilt und diese als String mit 44 Zeichen je Tag abgespeichert. Die Stelle im String hat dann die betroffene Zeit (Viertelstunde) festgelegt, das Zeichen hat den Arbeitsbereich bezeichnet.

    Da ich das jetzt in eine mySQL-Anwendung nachbauen will (vorher war wie so oft Excel), frage ich mich, ob es da eine elegantere Möglichkeit gibt, oder ob ich das dort genauso machen kann/soll.

    Eigentlich würde ich bei der Grundstruktur gerne Flexibler bleiben (sprich notfalls Minutengenau) einen Dienst/Arbeitsbereich am Tag speichern können und auch die Betriebsszeiten nicht schon durch das Design auf 07.00 - 17.00 Uhr festlegen (falls sich das mal ändert, will ich nicht unbedingt das DB-Design anpassen müssen).

    Lezteres wäre ja kein Problem, da ich ja nur die Länge des Strings auf 24 h (24*4 =96 Zeichen) verlängern müsste.

    Aber gibt es zur Speicherung keine elegantere Lösung?

    Schon mal vorab Danke für Ideen und Anregungen (ich brauche keine fertige Lösung, nur die richtige Idee - vielleicht habe ich ja Glück))

    Gruß, Jörg H.
     
  2. thomas_w

    thomas_w Datenbank-Guru

    AW: Datenmodell für Dienstplan

    Ein paar Gedanken (Tabellen) zu einem möglichen Datenmodell

    Code:
    /**
    * Mitarbeiter
    */
    CREATE TABLE mitarbeiter (
     m_id INT NOT NULL,
     name VARCHAR(50) NOT NULL,
     ...
    );
     
    /**
    * Standard Tätigkeiten
    */
    CREATE TABLE taetigkeit (
     t_id INT NOT NULL,
     von TIME NOT NULL,   -- von 7:00
     bis TIME NOT NULL,   -- bis 17:00
     taetigkeit VARCHAR(100) NOT NULL,   -- 'Küche'
     ...
     
    );
     
    /**
    * Dienstplan
    */
    CREATE TABLE dienstplan (
     d_id INT NOT NULL,
     datum DATE NOT NULL,
     t_id INT NOT NULL,    -- Verweis auc eine Standardtätigkeit (incl. Zeitraum)
     m_id INT NOT NULL,    -- wird von diesem Mitarbeiter gemacht
     ...
    );
    
    Vielleicht hilft es als Einstieg in das Thema..

    Grüße
    Thomas
     
  3. mohikaner

    mohikaner Neuer Benutzer

    AW: Datenmodell für Dienstplan

    Hey, prima und danke.

    Das war der entscheidende Tip, eine dritte Tabelle als "Vermittler" zwischen Dienst - Datum - Mitarbeiter.

    Das muss ich gleich ausprobieren.

    Ich wusste doch, es gibt eine einfache und übersichtliche Lösung - bin nur nicht drauf gekommen.

    Danke und Gruß,
     
Die Seite wird geladen...

Diese Seite empfehlen