Zu viele Spalten

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

  • Zu viele Spalten

    Hi,

    ich wage mich grad Stück für Stück an ein Projekt ran. Und zwar möchte ich einen Dienstplan mittels PHP und MySQL machen. Soweit OK. Vorher lief das alles über Excel und das is mir zu unhandlich. Zu fiel VBA. DAzu Unterschiedliche Betriebssysteme auf den unterschiedlichen Abteilungen in der Firma. Zudem die Verteilung und Wartung ist da sehr Crasy.

    Also dacht ich mir, auf in neue Welten.

    Der Aufbau is in etwa so

    Code:
                               Name1                                    Name 2      
               von     bis   von     bis    ges.     von     bis   von     bis     ges.
    Do | 01 | 08 45 - 13 00 15 00 - 18 00   7,25  |  08 45 - 13 00 15 00 - 18 00   7,25
    Fr | 02 | 08 45 - 13 00 15 00 - 18 00   7,25  |  08 45 - 13 00 15 00 - 18 00   7,25
    usw.
    Das Ganze soll für 10 Namen funktionieren. Also so soll dann die Seite aussehen. Die Uhrzeitfelder sind inputs.

    Befor ich das nun aber angehe zu Programieren, brauche ich eine Tabelle, die das gut strukturiert verarbeitet. Nun zermarter ich aber schon einige Tage meinen Kopf, wie ich die Daten logisch in Mysql ablege ohne nen Kollaps zu bekommen. Es sind eben mehrere Gruppen mit jeweils so einem Dienstplan mit mehreren Leuten und das für jeden Monat neu. Erst dacht ich, ich hau alles in eine Zeile. Also jede Uhrzeit und jeweils Ergebnis. Die Zwischenräume also der - ist auch wichtig, da da auch mal Urlaub stehen kann.

    Nur macht das 11 Spalten für einen Tag allein für einen Mitarbeiter. Bei 10 Mitarbeiter pro Dienstplan und 31 Tagen sind das 3410 Spalten. Das scheint mir wenig Sinnreich zu sein.

    Spontan bei meinen bislangen Fähigkeiten fällt mir als Alternative nur das Verteilen in was weis ich wieviele Tabellen ein. Was aber auch extrem unübersichtlich wird. Oder ich habe für jeden Mitarbeiter jeweils nur eine Spalte und lass dann da alle Stunden, Mitunten, von bis ob Schule oder Urlaub usw eintragen. Nur bekomm ich das dann auch wieder logisch raus? Auch dann, wenn nix eingetragen wurde?

    Also wenn mir hier jemand beim denken helfen könnte wär das sehr nett.

    Grüße Jumpanino
    Zuletzt geändert von Jumpanino; 22.12.2010, 10:46.

  • #2
    Lies Dich mal in das Thema Normalisierung von Datenbanken ein. Dein Vorhaben über eine Tabelle zu lösen ist, wie Du selbst ja schon erkannt hast, ziemlicher Unsinn. Du benötigst mehrere Tabellen. Zunächst solltest Du Dich aber wirklich über Normalisierung und Redundanzen erkundigen. Da wird Dir bestimmt einiges klarer.
    MM Newmedia | MeinBlog

    Kommentar


    • #3
      Spontan bei meinen bislangen Fähigkeiten fällt mir als Alternative nur das Verteilen in was weis ich wieviele Tabellen ein. Was aber auch extrem unübersichtlich wird.
      Normalisieren ist unübersichtlich?
      Die 5 Normal Formen

      Soweit ich es aus deinem Text entnehmen kann, solltest du mindestens folgende Tabellen anlegen:

      Leute
      Gruppen
      Zeiträume

      Und evtl noch ein paar Kreuztabellen für die n:m Relationen.
      A Visual Explanation of SQL Joins
      Wir werden alle sterben

      Kommentar


      • #4
        Vielen Dank für Euren Tipp. Na dann werd ich mich mal schlau machen.


        Gruß Jumpanino

        P.S. Also ne Tabelle für Leute hab ich wegen dem Login System. Eine für die Gruppen auch. Mir geht es schon NUR in Anführungszeichen um die Speicherung von den Zeiten. Na mal sehen ob mir da E.F. Codd weiterhelfen kann.
        Zuletzt geändert von Jumpanino; 22.12.2010, 15:59.

        Kommentar

        Lädt...
        X