Announcement

Collapse
No announcement yet.

Datenbankstruktur für Warenverwaltung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datenbankstruktur für Warenverwaltung

    Hallo !<p>
    Ich will als Hobbyprogrammierer mit Erfahrung in Delphi und Interbase eine Warenverwaltung<br>
    entwickeln, mache mir aber immer wieder große Sorgen um die Datenstruktur.<p>
    Da die Ware auf Kommisionsbasis verkauft wird, ist es wichtig, daß die Verkäufe auf die richtigen Partien<br>
    der Lieferanten gebucht wird. Damit die Kosten und die Provision vom Verkauferlös abgezogen werden kann.<br>
    Ich wollte daher u.a. folgende Tabellen mit den wichtigsten Feldern einführen:<p>
    <code>
    PARTIEN:<br>
    NR : AutoIncrement<br>
    LIEFERANT : Integer<br>
    STATUS : (offen,abgerechnet,bezahlt)<br>
    DATUM,etc...
    <br>
    EINKEAUFE:<br>
    NR : AutoInc<br>
    PARTIENUMMER: Integer<br>
    ARTIKEL : Integer<br>
    KOLLI : Integer<br>
    <br>
    </code>
    Es gibt einen Generator RECHNUNGSNUMMER<br>
    <code>
    VERKAEUFE:<br>
    NR : Integer<br>
    RECHNUNG : Integer<br>
    KUNDE : Integer<br>
    ARTIKEL : Integer<br>
    PARTIENUMMER: Integer<br>
    KOLLI : Integer<br>
    PREIS : Float<br>
    BETRAG : Float<br>
    <br>
    </code>
    Die Tabelle VERKAEUFE enthält die einzelnen Verkäufe (bis zu 1000 täglich).<p>
    Nun meine Fragen:<br>
    1. ich kann VIEWS oder STORED PROCEDURES so definieren, daß ich mit<br>
    den Tabellen VERKAEUFE und EINKAEUFE alle KOLLI der einzelnen Artikel<br>
    summiere und gegeneinander saldiere,<br>
    so daß ich den Bestand erhalte.<br>
    Alternativ kann ich eine weitere Tabelle einführen, die für den Artikel den Bestand verwaltet.<br>
    Analog dazu das Problem mit den Verkauferlösen. Die kann man auch aus VERKAEUFE lesen,<br>
    indem man nach PARTIENUMMER und ARTIKEL selektiert und die Beträge addiert.<br>
    Die offenen Posten der Kunden kann auch mit Views so verwaltet werden, indem noch eine Tabelle<br>
    die eingegangenen Zahlungen des Kunden als Journal erfasst und dann mit den Verkäufen verrechnet werden.<p>
    Im Prinzip wäre das ja eine weitere Normalisierung der Datenbank. Jede dieser Vorgänge sollte (heutzutage selbstverständlich)<br>
    allerdings nur (Bruchteile von) Sekunden dauern.<p>
    Wer kann mir einen Tip geben ?<p>
    Gruß Marcus
Working...
X