Probleme beim Datenbankentwurf

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

  • Probleme beim Datenbankentwurf

    Hallo zusammen,

    ich bin leider ein SQL-Newbie mit einem großem Datenbankproblem und hoffe jemand kann mir helfen...

    Die Aufgabe ist folgende:

    Eine Datenbank für mehrere Märkte soll erstellt und anschliessend ausgewertet werden (davon bin ich aber noch weit entfernt). Benutze bei 1&1 den PHPAdmin für MYSQL.

    Ich habe mir folgendes Schema vorgestellt, aber vielleicht mache ich hier schon einen Fehler:

    Tabelle 1 Adressdaten (sollen in der DB schon eingestellt sein)
    - Marktnummer (Primärschlüssel)
    - Marktname
    - Adresse

    Tabelle 2 Produkte (sollen in der DB schon eingestellt sein)
    - Artikelnummer (Primärschlüssel)
    - Bezeichnung
    - Einheit
    - Menge (pro Einheit)

    Tabelle 3 Preise (sollen in der DB schon eingestellt sein)
    -Artikelnummer (Primärschlüssel)
    - Datum
    - Preis

    Über das Webformular sollen folgende Daten eingepflegt werden:
    - Marktnummer
    - Datum
    - Artikelnummer
    - Geliefert
    - Verkauft

    Danach sollen vordefinierte Auswertungen abgerufen werden. Etwa so:

    Nach Markt:
    Marktnummer Marktname Datum Produkt Geliefert Endbestand verkauft (berechnetes Datum) 'Preis pro Einheit' Umsatz

    Ich habe z.B. die Stammdaten für 2 Märkte eingebe und 4 Produkte eingepflegt. Und dann manuell in die Tabellen eingefügt das Markt 1 die Produkte a und b verkauft und Markt 2 die Produkte c am gleichen Tag verkauft hat.

    Wenn ich aber über den Abfrageeditor eine Auswertung zum Abrechnungstag machen möchte bekomme ich als Ergebnis immer das gleiche, und zwar haben sowohl Markt 1 und 2 jeweils alle (und nicht 2) 4 Produkte verkauft (natürlich immer mit gleichen Salden.

    Wäre prima wenn mir jemand helfen könnte das irgendwie auf die Reihe zu bekommen, da ich wohl schon beim Design (mindestens) einen Denkfehler gemacht habe und nicht voran komme... Faktisch stehe ich wirklich auf dem Schlauch

    Insofern bedanke ich mich schonmal im voraus für eure Hilfe

  • #2
    Da es dir ums Design geht, bist du eigentlich im falschen Forum. Allerdings kann ich an dem Design noch nichts falsches entdecken. Du hast halt einige Tabellen die entsprechende Stamm und Bewegungsdaten enthalten.

    Tabelle 1) Märkte enthält alle Stammdaten zu den Märkten
    Tabelle 2) Produkte enthält alle Daten zu den Produkten.
    Tabelle 3) Preise ist mir jedoch noch nicht ganz klar. Du speicherst hier den Preis, den ein Produkt an einem bestimmten Datum kostet?

    1. Knackpunkt: Wo Ordnest du Produkte und Märkte zu? Kann ein Produkt in mehreren Märkten vertrieben werden?

    2. Kackpunkt: Wie willst du aus diesen Daten herausbekommen, welche Produkte verkauft wurden? Oder meinst du damit dass Produkte angeboten werden? (Ist ein Unterschied!)

    Letzteres könnte dein Modell dir beantworten, vorausgesetzt die Zuordnung aus 1. findet statt. somit dürftest du dann also ein Problem mit deiner Query haben und nicht mit dem Layout.

    Somit wärst du hier wieder richtig, hast aber leider ne falsche Problembeschreibung abgeliefert.

    Kommentar


    • #3
      Hallo,

      erstmal vielen Dank für die Antwort und sorry das ich hier falsch bin.

      Wäre prima wenn Du mir hier trotzdem noch einmal helfen könntest.

      Zu Deiner Fragen:

      zu Knackpunkt 1:
      Ich habe mir vorgestellt das ich die Adressdaten, Produktdaten erst einmal zentral einpflege. Die Preise ändern sich ab und zu da es sich um Saisonware (Gemüse) handelt und sich dann die Preise ab Zeitpunkt x einfach ändern...

      Die gleichen Produkte werden in mehreren, wenn nicht sogar in allen Märkten vertrieben.

      Es gibt jeden Abend einen Bericht darüber welche Mengen von welchem Produkt in welchen Markt verkauft worden sind.

      Ich dachte dies wäre die Zuordnung da der (schriftliche) Bericht etwa so aussieht (Muster):

      Marktnummer :14
      Artikelnummer: 67 geliefert: 300 Endbestand 68
      Artikelnummer 118: geliefert 260 Endbestand 19

      Diese sollen dann auch kalendarisch nachvollziehbar sein damit man z.B. sagen kann das man am Mittwoch 300kg Kohl geliefert, aber nur 200kg verkauft hat. Somit würde man vielleicht nur 240kg am nächsten Mittwoch liefern da man die Reste ja wegwerfen muss.

      zu Knackpunkt 2:

      Jeder Markt hat im Moment nur ca. 6 Produkte die auch verkauft werden (Die Anzahl der Märkte beträgt etwa 20, 6 bis 7 Tage die Woche). Ich würde also sagen das man immer eine Menge (schlimmstenfalls 0) für jedes Produkt das man in einem Markt anbietet, hat.

      Irgendwie kriege es nicht hin...

      Da ich ja hier falsch bin stelle ich die nächste blöde Frage: Hast Du einen Link für ein passenderes Forum. Habe bis jetzt bis auf dieses hier keines gefunden bei dem ich dachte ich wäre mit Problem richtig...

      Vielen Dank!

      Kommentar


      • #4
        Die gleichen Produkte werden in mehreren, wenn nicht sogar in allen Märkten vertrieben.

        Es gibt jeden Abend einen Bericht darüber welche Mengen von welchem Produkt in welchen Markt verkauft worden sind.

        Ich dachte dies wäre die Zuordnung da der (schriftliche) Bericht etwa so aussieht (Muster):

        Marktnummer :14
        Artikelnummer: 67 geliefert: 300 Endbestand 68
        Artikelnummer 118: geliefert 260 Endbestand 19

        Diese sollen dann auch kalendarisch nachvollziehbar sein damit man z.B. sagen kann das man am Mittwoch 300kg Kohl geliefert, aber nur 200kg verkauft hat. Somit würde man vielleicht nur 240kg am nächsten Mittwoch liefern da man die Reste ja wegwerfen muss.
        Dann bringe doch bitte all das in deinem DB-Modell unter. Bis jetzt scheinst du somit gerade mal die Stammdaten untergebracht zu haben.

        Irgendwie kriege es nicht hin...
        Dann solltest du ganz ehrlich die Finger davon lassen. Falls du es doch schaffen willst, dann fange an die o.g. Punkte in deinem Modell zu berücksichtigen.

        Hast Du einen Link für ein passenderes Forum. Habe bis jetzt bis auf dieses hier keines gefunden bei dem ich dachte ich wäre mit Problem richtig...
        Das ist zugegebenerweise nicht immer leicht. Im SQL-Forum bist du gut aufgehoben, wenn du ein konkretes Problem (z.B. Fehlermeldung oder unerwartetes Ergebnis zu einer Query) hast. In deinem Fall scheiterst du aber schon am Konzept, bevor du überhaupt jemals eine Query ausführen dürftest. Solchen Fällen, wo noch der Ansatz fehlt, begegnen wir gerne mit einem Brainstorming. Ich verschieb dich mal dahin.

        Aber erstmal weißt du ja jetzt, was zu tun ist. Das solltest du zunächst einmal versuchen und wenns irgendwo hakt, dann schilderst du hier das konkrete Problem. Viel Erfolg!

        Kommentar

        Lädt...
        X