Zur Boardunity Forenstartseite

Zurück   Boardunity & Video Forum » Technik » Programmierung und Datenbanken

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1  
Alt 02.11.2004, 12:25
Benutzerbild von MrNase
Mitglied
 
Registriert seit: 06.2003
Ort: /
Beiträge: 2.639

Denkprothese gesucht, wie Datenmenge verarbeiten


Hallo,

Für meine Community noch eine Top-Secret-Angelegenheit muss ich hier wohl oder übel das Geheimnis lüften


Ich plane mit meinem Vater zusammen einen neuen Service für Pagodentreff. Jedes Fahrzeug der Baureihe hat zur Auslieferung einen „Datenkarte“ mitbekommen. Dort sind Ausstattungsmerkmale etc. verzeichnet. Da viele der Fahrzeuge heute nicht mehr in dem Zustand sind wie damals ist es für viele Leute interessant die Datenkarte zu entschlüsseln. Sie besteht aus 15 Feldern in die jeweils Zahlencodes kommen die alle etwas bedeuten (so steht 460 z.B. für die Farbe rot).

Genau diesen Service wollen wir anbieten, integriert werden soll es ins vB3 und übers Profil erreichbar sein. Über die Integration mache ich mir kaum Gedanken, Problematischer wird es wohl mit der Datenbankstruktur.

Ich hatte folgendes geplant:

id, feld, nummer, bezeichnung, kommentar

id sollte eindeutig sein
„Feld“ vermerkt in welchem Feld der Datenkarte der Wert steht. Feld 1 auf der Karte vermerkt z.B. die Farbe
Nummer: Die Nummer die entschlüsselt werden soll direkt aus dem Formular (z.B. $_POST['feld1'])
Bezeichnung: Die Nummer im Klartext
Kommentar: Eventuelle Kommentare


Das grosse Problem an der Sache ist:
Für ein paar Zahlen gab es doppelte Bedeutungen. So war die Zahl 20 z.B. der Gepäckträger aber auch nur bis Baujahr 1968. Danach war es ein Reserverad.

Zur Zeit plane ich, jedes Feld mit einer Datenbankabfrage auszulesen. Würde 15 Abfragen ergeben was ich persönlich etwas viel finde.
Jede Abfrage wird dann in einer while() Schleife verarbeitet und als Array abgelegt sodass ich hinterher darauf zugriff habe. Ist auch nötig, da (wie oben erwähnt) für die Zahl 20 mehr als ein Ergebnis aufkommen kann.

Danach geschehen 2 Dinge:
Zum einen werden die Daten direkt ausgeben auf einer Seperaten Seite und zum anderen werden die Daten temporär gespeichert.
Ich denke da an die Tabelle „datenkarte_temp“ mit folgenden Spalten:
id, userid, feld1, feld2, usw.

In jedem Feld steht der Aufgelöste Wert (also die Bezeichnung und der Kommentar zu jeder Nummer die entschlüsselt wurde).
So habe ich einen einfachen Zugriff drauf und dann kann das Wunder passieren:

Der Benutzer hat die Möglichkeit sich anhand der Daten eine PDF-Datei generieren zu lassen damit er die Auswertung drucken kann etc.

Hat sonst noch jemand Denkansätze für mich?

Zusammengefasst:
Eingabe (Formular), Auslesen der Datensätze, Ausgabe (zum Test) und temporäre Speicherung, Ausgabe als PDF anhand der temporären Daten.


btw: Es sind knapp über 3000 verschiedene Daten *g*
  #2  
Alt 02.11.2004, 18:40
Benutzerbild von Philipp Gérard
Zeitdenken
 
Registriert seit: 09.2003
Ort: Wien
Beiträge: 832
Wo ist das Problem? Gib doch einfach mehrere Ids mit dem selben Feld an und bau dir danach ein einziges Query für alle Einträge, die passen, zusammen.

Pseudocode:

Code:
 sql = "SELECT * FROM daten WHERE";
 
 für(einträge){
    wenn(count(einträge) > x){ sql .= "Feld = 'einträge[$x]' OR "; }
    sonst { sql .= "Feld = 'einträge[$x]"; }
 }
 
 sql .= " ORDER BY feld, id";

__________________
Philipp Gérard
Gewöhnliche Menschen denken nur daran, wie sie ihre Zeit verbringen. Ein intelligenter Mensch versucht sie zu nützen. - Arthur Schopenhauer
Antwort


Stichworte
-


Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
Gehe zu






1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25