Markus: MySQL - Frage zur DB-Struktur

Hallo zusammen,

ich steh gerade vor folgender Frage:

Wohin mit der "lackierer_id"?

[lackierer]
-id

[auftrag]
-id

[lackiereinteilung]
-id
Entweder hier? -lackierer_id

[lackiereinteilungzuordnung]
-id
-lackiereinteilung_id
-auftrag_id
oder hier? -lackierer_id

Ich hoffe das reicht um euch mein Problem zu verdeutlichen.
Sagt mir bitte bescheid wenn Ihr noch mehr/andere Informationen braucht oder gar nicht wisst was ich von euch will ;-)

Danke.

Gruß

  1. Hallo Markus,

    [lackiereinteilung]

    [lackiereinteilungzuordnung]

    so ganz klar ist mir Deine Struktur nicht, aber zumindest grob.
    Wo gehört der Lackierer Deiner Ansicht nach den "logisch" hin? In die Einleitung oder in die Einteilungszuordnung?

    Diese beiden Relationen solltest Du vielleicht nochmal genauer erklären ...

    Grüße aus Stockholm,
    Götz

    --
    Losung für Montag, 5. Mai 2008
    Höret, alle Völker! Merk auf, Land und alles, was darinnen ist! Denn Gott, der HERR, hat mit euch zu reden. (Micha 1,2)
    Nachdem Gott vorzeiten vielfach und auf vielerlei Weise geredet hat zu den Vätern durch die Propheten, hat er in diesen letzten Tagen zu uns geredet durch den Sohn. (Hebräer 1,1-2)
    (zur aktuellen Losung)
    1. [lackiereinteilung]
      [lackiereinteilungzuordnung]
      Diese beiden Relationen solltest Du vielleicht nochmal genauer erklären ...

      Hallo,

      also zur Erklärung:

      Es existieren Aufträge die eingegeben werden.
      Diese werden irgendwann in eine Art Übersicht eingeteilt. (Aktion: Aufträge einteilen)

      Es gibt für jeden Lackierer eine solche Übersicht(Einteilung), in der die Aufträge enthalten sind.

      Die [lackiereinteilung] enthält:

      • eine Nr: zb. 2008KW19 (Setzt sich zusammen aus Jahr und Kalenderwoche)
      • die kalenderwoche: zb. 19
      • das Jahr: zb. 2008

      Das ist eigentlich schon alles.

      Die Daten in der [lackiereinteilung] gelten für jede Lackierer-Übersicht aus dieser Kalenderwoche.
      Sie unterscheiden sich nur anhand des Lackierers.

      Also:
      Lackierer 1 -> Übersicht 1 -> mit Infos aus [lackiereinteilung]
      Lackierer 2 -> Übersicht 2 -> mit gleichen Infos aus [lackiereinteilung]
      usw...

      Die [lackiereinteilungzuordnung] schafft jetzt eigentlich nur die Verbindung der einzelnen Aufträge zu einer bestimmten Übersicht(lackiereinteilung).

      Deshalb hätte ich es rein logisch in die Zuordnung mit reingepackt.
      Vieleicht ist auch die ganze Struktur falsch?

      Naja ich kann mich heute nur schwerlich verständlich ausdrücken ;-)
      Bitte nehmt es mir nicht so übel.

      Ich hoffe das es zumindest etwas klarer geworden ist.

      Danke.
      Gruß

  2. Hoi!

    Ein Lackierer kann wieviele Aufträge haben?
    Ein Auftrag kann wieviele Lackierer haben?

    Wenn du beide Frage mit "mehrere" beantwortest, dann hast du eine m:n Beziehung zwischen Auftrag und Lackierer. Dadurch bedingt sich fast die Benutzung eine Zuordnungstabelle aus Lackierer_Id und Auftrag_Id.

    Dem ist auch so, wenn sich der Lackierer für einen einzelnen Auftrag ändern kann und du die Historie nicht verlieren möchtest (wer ursprünglichst mal der eingeteilte Lackierer war).

    [lackiereinteilung]
    -id

    Was ist das bitte? Ah, ich meine da eine Zeit/Planungstabelle für Lackierer zu erkennen?

    IIUC geht es hier um darum: WER (welcher Lackierer) macht WAS (welchen Auftrag) WANN (in welcher Kalenderwoche). Richtig? Also würde ich mal als Schuss ins Blaue das WER, WAS und WANN in eine Sicht bringen - als eine Tabelle (t1). Diese Kombination ist schätzungsweise auch eineindeutig?!?

    Ich nehme mal an, dass die Einteilung für Kalenderwochen unabhängig vom Auftragsstatus erfolgt, der Lackierer ist für KW19 eingeteilt oder auch nicht. Daraus machst du evt. auch eine Tabelle (t2) mit WER und WANN. Diese dient dir dann als Planungsbasis um t1 zu füllen.

    Beschreib doch mal die eigentliche Aufgabenstellung aus deinem Lehrbuch, ganz fern von dem was du bisher an DB Struktur fabriziert hast.

    Ciao, Frank

    1. [lackiereinteilung]
      -id

      Was ist das bitte? Ah, ich meine da eine Zeit/Planungstabelle für Lackierer zu erkennen?

      Ja so ist es.
      In der lackiereinteilung ist sozusagen das ganze Paket das an einen Lackierer gegangen ist. Es enthält lediglich die KW, das Jahr und eine Nr für diese komplette Einteilung/Übersicht.

      WER (welcher Lackierer) macht WAS (welchen Auftrag) WANN (in welcher Kalenderwoche).

      Also war das mit der zuordnung soweit richtig ?

      Beschreib doch mal die eigentliche Aufgabenstellung aus deinem Lehrbuch, ganz fern von dem was du bisher an DB Struktur fabriziert hast.

      Irgendwie höre ich aus deinem ganzen Post raus, dass meine Struktur nicht wirklich das wahre ist. Liege ich da richtig?

      Die Aufgabenstellung:
      '''''''''''''''''''''''
      [das besteht bereits - START]
      Es werden Aufträge eingetragen in eine Art Sammelbecken.
      Die Eingetragenen Aufträge werden jetzt einem Lackierer zugeordnet.
      Also es wird jetzt schon angegeben vohin dieser Auftrag kommt.
      [das besteht bereits - ENDE]

      [das soll nun passieren - START]
      Jetzt sollen alle Aufträge aus diesem Sammelecken mit einem mal eingeteilt/versendet werden.
      Es sollen nun Übersichtseiten für die einzelnen Lackierer erstellt werden.
      Wohin zu welchem Lackierer der Auftrag geht, weis ich ja schon. Ich will die einzelnen Aufträge nur noch einer dieser Übersichtsseiten zuteilen.
      Die Übersichtseiten sind eindeutig durch die KW, aber sie sollen für jeden Lackierer bestehen. Also für Lackierer1 gibts eine Übersicht, für Lackierer2, usw..
      [das soll nun passieren - ENDE]

      Gruß

    2. Hoi!

      Ein Lackierer kann wieviele Aufträge haben?
      Ein Auftrag kann wieviele Lackierer haben?

      Wenn du beide Frage mit "mehrere" beantwortest, dann hast du eine m:n Beziehung zwischen Auftrag und Lackierer. Dadurch bedingt sich fast die Benutzung eine Zuordnungstabelle aus Lackierer_Id und Auftrag_Id.

      Bei der Beantwortung und den daraus resultierenden Schlussfolgerungen muss man ganz vorsichtig sein. Präziser wird die Fragestellung durch die Erweiterung mit "gleichzeitig".

      Wieviele Aufträge kann ein Lackierer gleichzeitig haben?
      Wieviele Lackierer können gleichzeitig für einen Auftrag zuständig (eingeteilt) sein?

      Meinem ersten Eindruck folgend erübrigt sich in jedem Fall eine "Lackierer-Einteilungs-Tabelle".
      Gegebenfalls könnte noch eine Positionen-Tabelle nützlich sein, nämlich dann, wenn ein Auftrag verschiedene Positionen aufweist, die jeweils wiederum von einem Lackierer belegt sind. Diese Positionen können dann je nach Bedarf entweder nach Aufgabe oder Einsatzzeitraum geordnet sein.

      Gruß vom foomaker

      --
      Natürlich glaube ich an die Existenz von Ausserirdischen. Schliesslich gibt es ja auch das PERFEKTE SCRIPT.