Nein es sind 240 einzelne Werte...
Welchen Schreibaufwand? Im simpelsten Fall ist es doch nur eine Zeile (für den Schleifenkopf) mehr. Will man den Batchmechanismus nutzen kommen halt noch ein paar Zeilen dazu.Ich habe gehoft das ich mir den Schreibaufwand verringern könnte weil es vielleicht eine bessere Lösung gibt als den Befehl ganz auszuschreien...
Ja stimmt. Denn wenn man einen Datensatz löscht, wird die id trotzdem weitergezählt
Es gibt übrigens auch die Möglichkeit bei Datenbanksystemen, darauf zu reagieren, wenn ein Datensatz gelöscht wird, und dessen ID noch in einer anderen Tabelle als Fremdschlüssel eingetragen ist.
Stichwort: [c]Foreign Key[/c] mit kaskadierendem löschen.
Messwerte
------------------------
id: int
zeitstempel: timestamp ???
messwert1: double
messwert2: double
messwert3: double
messwert4: double
messwert5: double
messwert6: double
Auswertung
------------------------
id: int
zeitstempel: timestamp ???
id_messwert: int
auswertung1: boolean
auswertung2: boolean
auswertung3: boolean
auswertung4: boolean
auswertung5: boolean
auswertung6: boolean
Bei dir bin ich mir bzgl. der Splittung aber gerade nicht mehr sicher. Du schreibst du hast 6 Messwerte, und dazu nochmal 6 Boolean-Werte, welche die "Auswertung" der Messwerte darstellen?
Ich habe 40 Messwerte, und jede Messung hat 6 double Werte ( 40 x 6 = 240 ). Die Messung erfolgt jede Stunde einmal, ist von daher überhaupt nicht zeitkritisch.
Desweiteren kommen, nach aktuellem Stand, Das gleiche noch boolisch dazu, nämlich die Auswertung.
Das macht somit 480 Werte
Jepp, soweit waren wir schonmal. Allerdings hat keiner Hinterfragt wie es zu den Auswertungen kommt. Wenn diese Auswertung separat vom INSERT der Messwerte abläuft, dann macht eine zweite Tabelle Sinn. Wenn das aber in einem Abwasch passiert, dann kann man das getrost in eine Tabelle schreiben.
Kommt halt stark drauf an was diese Auswertung ist, und woher sie kommt.
Die Frage ist vielleicht noch, ob du immer neue Messungen einträgst, oder ob die jeweiligen immer überschrieben werden, wenn es neue Messwerte gibt.
Überlegen müsste man evtl. auch noch, wie die Daten in die Datenbank eingetragen werden, also in welcher Form sie vorliegen.
Ich habe 40 Messwerte, und jede Messung hat 6 double Werte ( 40 x 6 = 240 ). Die Messung erfolgt jede Stunde einmal, ist von daher überhaupt nicht zeitkritisch.
Desweiteren kommen, nach aktuellem Stand, Das gleiche noch boolisch dazu, nämlich die Auswertung.
Das macht somit 480 Werte
In 1 Tabelle mit 240 Feldern (double) und nochmal so viele boolean-Felder für die Auswertung?
Stell dir vor, du schreibst in 1 Tabelle die 240 double-Felder und dann ändert sich was bei den Messwerten, also es kommen welche hinzu oder fallen welche weg. Dann musst du jedesmal die Tabellenstruktur ändern.
Doch , wurde schon mal etwas nach mehr Infos nachgefragt...
Okay, hab ich übersehen. Aber gab's eine Antwort? AFAIK nicht. Also schadet das erneute Nachfragen nicht.
[EDIT]Wenn ich meine Messung in mehrere Tabellen aufgespalten hätte, dann müsste ich mir bei den Abfragen teilweise ein Bein ausreißen um die Statements zu formulieren.[/EDIT]
ach wie schön ich muss gerade 240.000.000 datensätze in eine datenbank schreiben :-(
Es hat schon einen Grund, dass es Primär- und Fremdschlüssel gibt und dass man versucht, dass möglichst zu strukturieren und nicht alles in eine Tabelle kloppt. (Normalisierung)
Die Statements wären doch bei der gegebenen Struktur (40 Messwerte mit jeweils 6 Messungen und 6 Auswertungen) immer die gleichen, nur der eine Wert (ID des Messwerts) ändert sich. Müsste doch dann mit einer Schleife prima zu durchlaufen sein.
Bei einfachen Abfragen wie "Gib mir alle Messdaten deren Auswertung passend zu Zeitstempel XYZ" .. Ja. Aber bei komplexeren Dingen wird es mit mehreren Tabellen auch schnell komplexer als mit einer einzelnen.
Und? Sofern man das Statement nicht jedesmal von Hand baut, sondern über ein Programm ein Prepared Statement mit Werten füllt: Wo ist das Problem? Die DB juckt das nicht wirklich. Gut, ist vielleicht etwas außergewöhnlich. Aber gibt's einen (technischen?) Grund das nicht zu tun?