Zitat von Abt |
Ehrliche Frage: hast Du einfach mal drauf losgelegt, ...
|
In Ermangelung des Wissens um das konkrete Vorgehen, ja... (wir hatten noch keine Datenbanken in der Umschulung)
Bedenke hier bitte auch Ockhams Rasiermesser (Sie Sachlage ist viel simpler als du annimmst...)
Die Anforderungen sind folgende:
Es wird eine CSV geladen und in die DB übertragen.
Diese enthält die Auftragsnummer und die Artikel der Bestellung (und Menge etc).
Die Struktur der DB selbst hatte zunächst keine konkreten Anforderungen,
sie entstand erst nach und nach und ich musste sie mir selbst ausdenken.
Ich brauchte eine Artikelliste (als Referenz) und die Artikel sollten eine Priorität zugewiesen werden (Priority, es müsste eig. eine 1:1 Beziehuing sein) können. Ich wählte eine Relationale Datenbankstruktur.
Zuerst waren die Normalen Artikel (Be_Artikel, Bestellungen), der Rest kam später hinzu.
Jeder Eintrag in Be_Bestellungen stellt ein Artikel samt Bestellmenge dar, wieviel geliefert (Geliefert) wurde, und einen Flag um schnell zu Ermitteln ob ausgeliefert (istAusgeliefert) wurde.
Jeder Artikel in Be_Bestellungen ist einer Auftragsnummer (Bestellungen.Be_Bestellnummer) zugeordnet.
Jeder Auftrag enthält einen Flag ob dieser angesehen (Visit) oder komplett Ausgeliefert wurde.
Ebenso einem Artikel in der Referenz. Somit kann jeder Bestellung die Artikel und deren Priorität zugeordnet werden.
PDF_FTP_Exist - damit über eine Abfrage ersichtlich ist ob eine PDF auf einem FTP-Server dazu existiert, wie es der Name sagt. In der Anwendung kann ich dann ohne FTP-Anfrage checken ob eine zugehörige PDF existiert.
Der Bool zu Geliefert ist ausreichend - Datum war aus Sicht des Auftraggebers nicht notwendig. Das mit dem Nullable-Date würde ich aber so in einer neuen DB übernehmen. Ich hatte jedoch in der Vergangenheit das Problem diese Null-Werte auszulesen (Exceptions...).
Dem Rat mit MariaDB werde ich wahrscheinlich nachkommen. je nach dem wie sich ein Umstieg gestaltet.