Zitat von
marabu:
Herzlich willkommen in der Delphi-PRAXiS, Thomas.
Wenn du Einfluss auf die Datenmodellierung nehmen kannst, dann solltest du dafür kämpfen, dass die Verfügbarkeitstabelle geändert wird. Das Mitarbeiter-Kürzel sollte kein Feldname sein, sondern ein Feldwert in einer Tabelle VERFUEGBARKEITEN(JAHR,KW,MA,STUNDEN). Der von dir beschriebene Ansatz passt nicht zu einem relationalen Datenbanksystem und führt auch zu Problemen bei der Visualisierung und Auswertung der Daten.
Freundliche Grüße
Hallo Marabu
Vielen Dank für die schnelle Antwort. Mittlerweile habe ich eine Lösung gefunden, indem ich einen
SQL-String mit dem entsprechenden ALTER TABLE Statement dynamisch zusammenbau und über die Execute-Methode der
ADO-Connection an die
DB schicke. Das klappt. Jetzt muss ich nur noch dafür sorgen, dass die Spalten der Anzeigetabellen mit aktualisiert werden.
Zum Datenmodell: Wie du schreibst wäre es vermutlich flexibler und würde ohne Datenbankstrukturänderungen auskommen, wenn man Deinem Vorschlag folgen würde. Allerdings wollen die Benutzer je Kalenderwoche für alle Mitarbeiter in einer Tabellenzeile die Verfügbarkeiten editieren können. Die Struktur der angezeigten Tabelle ist also genauso gewünscht. Würde man Deinem Vorschlag folgen, müsste die Tabelle per Anwendungslogik auf die
DB abgebildet werden.
Das Mitarbeiterteam ändert sich weniger häufig als die Verfügbarkeiten, so dass ich das Datenmodell vorerst so lassen werde.
Viele Grüße
Thomas