Hallo Ihrs,
nach einiger Excel-Spielerei während meines studentischen Praktikums (nun über 4 Monate) wird es Zeit aus der "Spielerei" etwas ernstes zu machen.
Vorgeschichte:
Ich habe eine Excel-VBA Anwendung geschrieben, welche Maschinenfehler-History Files 'einliest' (txt, csv) und diese etwas anschaulicher darstellt (Sortierfunktionen, automatische Diagramme etc)
Dieses "Programm" benötigt noch viele Vorgaben und man muss immer wieder die Files neu einlesen... zudem müsste jeder Anwender die Files sowie auch das Programm auf seinen Rechner ziehen und und und...
Also da soll eine andere Lösung her....
eine Datenbankanwendung auf einem Server (im Firmeninternen Netzwerk)
Nun aber zur eigentlichen Frage nach dieser kurzen Einführung:
In Excel hatte ich die einzeln vorkommenden Fehlerstrings (Beispiel: "Not Aus Maschine 4" & Zeitstempel) nun direkt nach "Fehlerstrings" sortiert gehabt.
Also in der Spalte:
Fehlerstring1 | Fehlerstring 2 | ...
Zeit 1-1 | Zeit 1-2 | ...
Zeit 2-1 | Zeit 2-2 | ...
Zeit 3-1 | Zeit 3-1 | ...
Zeit 4-1 | ... | ...
... | ... | ...
Nun, in einer Datenbank bieten sich nun 2 Möglichkeiten an......
EINE einzige Tabelle mit jeweils ca 10 Spalten (mit mehr Infos zum Fehler unter anderem auch Zeitstempel und String(ID) )
ODER FÜR JEDEN EINZELNEN Fehlerstring eine eigene Tabelle!
Das heisst also .... tausende Tabellen unter Umständen ....
Programmieraufwand wäre beides wohl ähnlich...
... interessant ist aber wie ich nun schneller auf die Daten Zugreifen kann.... und ob .. sry, das blieb hier im Text unerwähnt..
... ich benutze MySQL ..
also ob MySQL mit 1000+ Tabellen umgehen kann.
Die Tabellennamen wären schlicht in einer einzelnen Datenbank erfasst, also als "Variablen" gespeichert. So ermögliche ich mir den programmtechnischen Zugriff (in der Überlegung)
Also:
eine Tabelle mit pro Tag 10000 neuen Datensätzen, oder 1000 Tabellen mit pro Tag "durchschnittlich" 10 neuen Datensätzen pro Tabelle
Wichtig ist vor allem die "zeitliche Abfrage", also "Select Where zeit < dies und > jenes AND string = diesunddas AND ..."
Abgefragt wird relativ selten... geschrieben bei weitem öfter (beim Schaffen einer automatischen Einlesung fast jede Sekunde) .. Updated nie ... höchstens manuell & administrativ gelöscht oder eine Sicherung erstellt
yo, Eine oder Tausende Tabellen?
wäre auch sehr froh über eine kurze Warum-Erklärung als DB-Neuling und MySQL-Neuling
nach einiger Excel-Spielerei während meines studentischen Praktikums (nun über 4 Monate) wird es Zeit aus der "Spielerei" etwas ernstes zu machen.
Vorgeschichte:
Ich habe eine Excel-VBA Anwendung geschrieben, welche Maschinenfehler-History Files 'einliest' (txt, csv) und diese etwas anschaulicher darstellt (Sortierfunktionen, automatische Diagramme etc)
Dieses "Programm" benötigt noch viele Vorgaben und man muss immer wieder die Files neu einlesen... zudem müsste jeder Anwender die Files sowie auch das Programm auf seinen Rechner ziehen und und und...
Also da soll eine andere Lösung her....
eine Datenbankanwendung auf einem Server (im Firmeninternen Netzwerk)
Nun aber zur eigentlichen Frage nach dieser kurzen Einführung:
In Excel hatte ich die einzeln vorkommenden Fehlerstrings (Beispiel: "Not Aus Maschine 4" & Zeitstempel) nun direkt nach "Fehlerstrings" sortiert gehabt.
Also in der Spalte:
Fehlerstring1 | Fehlerstring 2 | ...
Zeit 1-1 | Zeit 1-2 | ...
Zeit 2-1 | Zeit 2-2 | ...
Zeit 3-1 | Zeit 3-1 | ...
Zeit 4-1 | ... | ...
... | ... | ...
Nun, in einer Datenbank bieten sich nun 2 Möglichkeiten an......
EINE einzige Tabelle mit jeweils ca 10 Spalten (mit mehr Infos zum Fehler unter anderem auch Zeitstempel und String(ID) )
ODER FÜR JEDEN EINZELNEN Fehlerstring eine eigene Tabelle!
Das heisst also .... tausende Tabellen unter Umständen ....
Programmieraufwand wäre beides wohl ähnlich...
... interessant ist aber wie ich nun schneller auf die Daten Zugreifen kann.... und ob .. sry, das blieb hier im Text unerwähnt..
... ich benutze MySQL ..
also ob MySQL mit 1000+ Tabellen umgehen kann.
Die Tabellennamen wären schlicht in einer einzelnen Datenbank erfasst, also als "Variablen" gespeichert. So ermögliche ich mir den programmtechnischen Zugriff (in der Überlegung)
Also:
eine Tabelle mit pro Tag 10000 neuen Datensätzen, oder 1000 Tabellen mit pro Tag "durchschnittlich" 10 neuen Datensätzen pro Tabelle
Wichtig ist vor allem die "zeitliche Abfrage", also "Select Where zeit < dies und > jenes AND string = diesunddas AND ..."
Abgefragt wird relativ selten... geschrieben bei weitem öfter (beim Schaffen einer automatischen Einlesung fast jede Sekunde) .. Updated nie ... höchstens manuell & administrativ gelöscht oder eine Sicherung erstellt
yo, Eine oder Tausende Tabellen?
wäre auch sehr froh über eine kurze Warum-Erklärung als DB-Neuling und MySQL-Neuling