Ankündigung

Einklappen
Keine Ankündigung bisher.

Anregungen zur DB-Strukturierung

Einklappen

Neue Werbung 2019

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

  • Anregungen zur DB-Strukturierung

    Guten Abend zusammen!

    Ich arbeite noch nicht allzu lange mit MySQL und stehe momentan vor folgendem Problem: Habe eine Preistabelle mit ca. 1000 Einzel-Artikeln (mit Art. Nr. etc.). Nun gibt es auch Pakete, in denen etwa bis zu 10 Artikel enthalten sind (die einzelnen Artikel stehen auch in der oben genannten Preisliste). Die Pakete mit ihren nicht-detailierten Informationen speichere ich auch in der normalen Preisliste. Allerdings muss ich auch folgende infos Speichern: Die Artikelnummern aller Artikel, die im jeweiligen Paket enthalten sind, sowie die Anzahl eines jeden Artikels. Nun habe ich überlegt, für jedes Paket eine Tabelle in der DB zu erzeugen und dann jeweils die Art. Nr. des Artikels sowie seine Quantität als Datensatz einzufügen.
    Würde das generell Sinn machen (performance, übersichtlichkeit etc.)? Schließlich kann ich die Daten der Pakete nicht auch noch in die Preisliste speichern, da es sonst einfach zu viele spalten werden. Allerdings würden es dann ja schon recht viele Tabellen werden.

    Habe hier nochmal eine veranschaulichung des ganzen.

    Vielen Dank im Vorraus

  • #2
    DU musst die Artikel in den Paketen vertikal, nicht horizontal speichern.
    [COLOR="#F5F5FF"]--[/COLOR]
    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
    [COLOR="#F5F5FF"]
    --[/COLOR]

    Kommentar


    • #3
      oh klar, im prinzip hatte ich das auch so vor, habs in meinem Beispiel nur falsch gezeigt! Also scheint dann ganze dann durchaus Sinn zu machen, nehme ich an?!

      Danke

      Kommentar


      • #4
        Dafür ist das Beispiel zu allgemein.
        [COLOR="#F5F5FF"]--[/COLOR]
        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
        [COLOR="#F5F5FF"]
        --[/COLOR]

        Kommentar


        • #5
          Datenbanktheorie-Buch deiner Wahl; Kapitel n:m Beziehungen.

          Zur Laufzeit Tabellen anzulegen ist NIE eine gute Idee (Installation von Komponenten natürlich ausgenommen).

          Kommentar


          • #6
            Es handelt sich hierbei um sog. Stücklisten. Ich habe das in einer Anwendung für Sanitätshäuser so gelöst:

            Code:
             - Tabelle - artikel
            id int autoincrement primary key
            artikelnummer varchar(30)
            stueckliste varchar(30)
            beschreibung varchar(100)
            ... usw. preis, lieferantenid
            Stuecklisten werden so gespeichert:

            1 artikel-1 paket-1 ...
            2 artikel-2 paket-1 ...
            3 artikel-3 paket-1 ..

            Bei "normalen Artikeln" ist in der Spalte 'stueckliste' nochmal die gleiche Artikelnummer, mithin hat man also eine STückliste aus einem einzigen Element.
            Beim Erfassen von Lieferungen wird nach Eingabe der Artikelnummer diese in der Spalte "stueckliste gesucht". im Ergebnisarray steht dann entweder ein Artikel, oder mehrere. Das ist recht einfach zu managen.


            Mein Kunde hat z.B. eine Gehhilfe als Stückliste geführt. Die bestand aus dem eigentlichen Stock, einem Handgriff und einem besonderen Fuß. Mit einer einzigen Eingabe konnten so mehrere Positionen erfasst werden.
            [PHP]if ($var != 0) {
            $var = 0;
            }[/PHP]

            Kommentar

            Lädt...
            X