Datenbankstruktur bei Quartalszahlen

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

  • Datenbankstruktur bei Quartalszahlen

    Hallo Leute,

    ich bin gerade dabei ein theoretisches Datenbanksstrukturenproblem zu lösen. Ich habe Verschiedene Benutzer, die Punkte und Minus-Punkte bekommen können, welche Quartalsweise "abgerechnet" werden. Jetzt würde ich gerne eine 2. Tabelle anlegen, in welcher ich diese Punkte quartalsweise ablegen kann, um hinterher pro Quartal die Punkte und Minuspunkte anzeigen lassen kann.

    Folgende Struktur habe ich mir nun ausgedacht:

    userId | quartal | Punkte | MinusPunkte

    Dann sähe ein Eintrag so aus:

    1 | 1/2007 | 21 | 12

    Frage: Ist diese Struktur so sinnvoll? Verbesserungswürdig? Oder einfach genial und perfekt
    Liebe Grüße,
    SteKoe!

    PHP Tutorials
    Peter Kropff | Quakenet | Schattenbaum.net

  • #2
    Re: Datenbankstruktur bei Quartalszahlen

    Original geschrieben von stekoe2000
    Ich habe Verschiedene Benutzer, die Punkte und Minus-Punkte bekommen können,
    Von wem, wie oft, wie viele (Datensätze)?
    welche Quartalsweise "abgerechnet" werden. Jetzt würde ich gerne eine 2. Tabelle anlegen, in welcher ich diese Punkte quartalsweise ablegen kann,
    Mit "zweite Tabelle" meinst du jetzt aber nur eine einzelne Tabelle für die Punkte - oder sprichst du von redundantem Ablegen der Daten?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Wie oft: wöchentlich, sie werden einfach in 2 spalten berechnet, jeweils hinzuaddiert. Sprich: Bekommt er nen Minuspunkt, wir in der Spalte MinusPunkt +1 gerechnet, bekommt er drei Pluspunkte, wird in der Spalte Punkte 3 addiert.

      Dann will ich, dass ein Script (das kann ich selber schreiben, keine Bange ) jedes Quartal, einmal für jeden User die Punkte speichert und sie in der 2. Tabelle ablegt.

      Wobei mir gerade einfällt, dass es dann wohl doch besser ist, die Punkte von der UserTabelle zu trennen und dann einfach die Punkte eintragen, aber das jeweilige Quartal mit reinsetze:

      Wenn Quartal 2/2007 und userId 1 existiert als Zeile, dann UPDATE sonst INSERT userId, quartal, punkte, minusounkte ... etc
      Zuletzt geändert von stekoe2000; 08.06.2007, 09:17.
      Liebe Grüße,
      SteKoe!

      PHP Tutorials
      Peter Kropff | Quakenet | Schattenbaum.net

      Kommentar


      • #4
        Original geschrieben von stekoe2000
        Wobei mir gerade einfällt, dass es dann wohl doch besser ist, die Punkte von der UserTabelle zu trennen und dann einfach die Punkte eintragen, aber das jeweilige Quartal mit reinsetze:
        Ja, deshalb meine Frage, wie das mit der "zweiten" Tabelle gemeint ist.
        Wenn Quartal 2/2007 und userId 1 existiert als Zeile, dann UPDATE sonst INSERT userId, quartal, punkte, minusounkte ... etc
        Nö, so würd' ich das nicht machen.

        Ich würde einfach die Bewertungen mit dem aktuellen Datum Inserten - quartalsweise zusammenrechnen kann man dann auch ganz einfach beim Auslesen.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          [COLOR=green]Gelöst[/COLOR] :

          MySql Abfrage:
          PHP-Code:
          SELECT userIdYEARquartal jahrQUARTERquartal ) AS quartalSUMkreuz ) AS kreuzeSUMkringel ) AS kringel
          FROM md_abwesenheit
          GROUP BY userId
          QUARTERquartal 
          Ich bedanke mich ganz herzlich!
          Liebe Grüße,
          SteKoe!

          PHP Tutorials
          Peter Kropff | Quakenet | Schattenbaum.net

          Kommentar


          • #6
            Kommt drauf an was du machen willst ich würde eine Liste erzeugen die ungefähr so aussieht:

            id createtime points

            1 02-02-2007 12:12:12 -1
            1 02-02-2007 12:12:12 1


            und die Quartalsberechnung über SQL lösen.

            Der Vorteil liegt klar auf der Hand, du bist nicht an die Berechnung pro Quartal gebunden hast berechenbare Datenmengen und kannste einzeln Punkte vergeben
            Zuletzt geändert von hacktor81; 10.06.2007, 15:16.

            Kommentar

            Lädt...
            X