Ankündigung

Einklappen
Keine Ankündigung bisher.

MySQL Tabellen "gleichen" Namens erstellen.

Einklappen

Neue Werbung 2019

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

  • MySQL Tabellen "gleichen" Namens erstellen.

    Hallo zusammen bin neu hier und hab eine Frage.
    Ich würde gerne über php eine Zeiterfassung für mich erstellen.
    Ich würde pro Arbeitsauftrag eine Tabelle mit den Anfangsbchstaben+Datum erstellen aber da ich manchmal mehrere Aufträge habe würde ich jetzt die Tabelle mit Anfangsbuchstaben + Datum + fortlaufende Nummer erstellen.
    Meine Frage jetzt funktioniert das? Wenn ja wie?
    Vielen Dank für die Hilfe.
    Mein Befehl zurzeit:

    Code:
    CREATE TABLE CS26072017
    (
       Lohnwoche INTEGER,
       Baustelle VARCHAR (30),
       Servicenummer INTEGER,
       Ort VARCHAR (20),
       Arbeitsbeschreibung VARCHAR (150),
       Zeit DOUBLE
    );

  • #2
    Das ist eine schlechte Idee.
    Stattdessen erstellst du eine Tabelle und führst dort eine Spalte "Datum" mit auf.
    Jeder Auftrag ist dann eine Zeile in deiner Tabelle.

    Kommentar


    • #3
      Zitat von schmidi Beitrag anzeigen
      Ich würde pro Arbeitsauftrag eine Tabelle mit den Anfangsbchstaben+Datum erstellen
      Falscher Ansatz.
      Richtig wäre eine Tabelle mit Namen Arbeitsauftrag und dort kommen dann Zeilenweise mit id als PK versehen die Arbeitsaufträge rein. Die kann auch nur aus id und Arbeitsauftrag bestehen und für die Details nimmst du dir eine weitere Tabelle auf die du mit der id der Haupttabelle referenzierst und trägst dort die Details ein, wie Arbeitsbeschreibung, Lohnwoche, etc. nach Datum sortiert beispielsweise. Du hast dann insgesamt lediglich 2 Tabellen.

      Schau dir mal den Artikel Normalisierung an.

      Ein Datum des Formats Datum Zeit wird nicht als double oder sonst was als Datentyp ausgewählt sondern als datetime.

      Varchar 20 für den Ort, scheint mir zu wenig, siehe Rothenburg ob der Tauber, dort hast du schon 24 Zeichen.


      Kommentar


      • #4
        Danke für die Hilfe.
        Ich brauche aber für jeden Auftrag Baustelle+Servicenummer+Ort+Arbeitsbeschreibung+Ze it.
        Das wären dann mindestens 5 Zeilen pro Auftrag.
        Gibt es keine andere Lösung?

        Kommentar


        • #5
          Baustelle+Servicenummer+Ort+Arbeitsbeschreibung+Ze it.
          Das sind Spalten keine Zeile.

          Deine Tabelle hat dann die Spalten:
          id: interger, auto increment und primärschlüssel
          Baustelle: varchar
          Servicenummer: integer
          Ort: varchar
          Arbeitsbeschreibung: varchar
          Zeit: time
          Datum: date

          edit: und optional kannst du noch deine "Lohnwoche" als Spalte dranhängen, wobei sich diese vermutlich vom Datum ableiten lässt?

          Kommentar


          • #6
            @schmidi, eine Datenbank ist keine Tabellenkalkulation. Eine Datenbank organisiert Daten. Es ist nicht dafür gedacht Tabellen mit Einträgen wie bei Office anzulegen. Deine Daten lassen sich weit aus besser organisieren als durch bloßes "reinschreiben", siehe Kommentare.
            bitcoin.de <- Meine Freelancerwährung

            Kommentar

            Lädt...
            X