Announcement

Collapse
No announcement yet.

Hilfe bei logischem Modell

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

  • Hilfe bei logischem Modell

    Hallo,

    ich habe ein Problem bei dem ich mir nicht sicher bin,
    ob es Redundante Daten sind oder nicht.
    Ich habe mir ein kleines Beispiel ausgedacht, das meinen Fall
    recht gut beschreibt, also los:

    1. Stellt euch vor ihr habt ein System mit dem ihr CD verkäufe Protokolliert,
    zu jeder CD gibt es einen anderen bestimmten Preis.

    2. Dieser Preis ändert sich alle 6 Monate und gilt dann wieder für 6 Monate.

    3. Verkaufe ich eine CD, so will ich mir dazu speichern wann ich sie
    verkauft habe und zu welchem Preis sie verkauft wurde.

    4. Später will ich sehen können, in welchem Monat ich welche CD´s zu
    welchem Preis verkauft habe.


    Meine Frage:

    Speichere ich den aktuellen Preis der CD bei der CD-Tabelle ab, und
    übertrage diesen Preis dann jedes mal beim Verkauf in die Verkaufstabelle?

    Oder

    Mache ich eine CD/Preis/Datum Zuordnungstabelle in der ich den
    Preis einer CD zu einem bestimmten Zeitraum speicher und schaue dann
    (natürlich über Programmcode) wieviel die CD zu welchem Zeitpunkt gekostet
    hat.


    Oder

    ???

    Ich hoffe meine Beispiele waren OK!
    Ich würde mich sehr freuen über eure Vorschläge!

    Grüße

  • #2
    Speichere in den Tabellen immer die akutellen Werte.

    Weiters hast du eine Tabelle mit den Rechnungsinfos und in dieser ist der Preis am Kaufdatum gespeichert.

    Für deine Abfrage kann dann diese Rechnungsinfo-Tabelle verwendet werden.

    Anmerkung: Eine solche Tabelle brauchst du sowieso fürs Finanzamt (zumindest bei uns, wird in Deutschland aber nicht viel anders sein).

    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      Danke gfoidl,

      Also wenn ich das richtig verstehe, meinst du es ist ok
      für jede Rechnung einen Datensatz in einer RechnungsInfo Tabelle anzulegen,
      in der der Verkaufspreis "hart" gespeichert ist. Schlechtes Beispiel:

      Re_ID|Preis|CD_ID
      001 | 50 | 002
      002 | 50 | 002
      003 | 50 | 002
      004 | 30 | 002 --> Ein Verkauf nach der Preisänderung

      Update: Im Beispiel wird eine Datenbank verwendet die führende Nullen Akzeptiert ;-D

      Comment


      • #4
        Ja genau.

        Und es entspricht auch den Normalisierungsregeln denn der Preis ist nur von der Rechnungsnummer abhängig. Die Datenbank weiß ja nicht dass alle 6 Monate der Preis geändert wird und deshalb wird dieser "hart" dort gespeichert.

        Beim Erstellen einer Rechnung wird der Wert aus der Preistabelle genommen und in die Rechnungstabelle als Wert geschrieben.

        mfG Gü
        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

        Comment


        • #5
          Alles klar.

          Danke dir!

          Grüße

          Comment

          Working...
          X