... das mit den Programm-Messies ist nur zu wahr. Programme werden mit jeder Änderung schlechter, wenn man keinen Restrukturierungsaufwand reinsteckt.

Wo wir uns unterscheiden ist, ob man mit der Datenbank anfängt.
Ich sehe das Hauptproblem in der engen Kopplung der Datenbank an die Anwendung durch RLA und favorisiere folgende Vorgehensweise:
1. Schritt:
- Neue Dateien nur per SQL erstellen
- View Layer für alle SQL Zugriffe (kein Zugriff auf PF!!!), auch auf die vorhandenen DDS PFs.
- SQL statt RLA bei jedem neuem Programm.
- Bei Programmänderung Redesign, minimal durch Auskoppelung Zugriffsroutinen (externe Aufrufe).
2. Schritt:
- Bei Änderung an rauszentralisierten Zugriffsroutinen Redesign Umstellung auf SQL Zugriffe
3. Schritt:
- Sobald eine DDS Datei frei von RLA Zugriffen ist, hat man alle Freiheitsgrade - auch für Änderungen am DB Design.
- ab hier kann man prüfen, wieweit DDS LFs Vorteile bringen (also in etwa das, was Du beschrieben hast).

D*B