Dynamische Layouts
In einem Layout sollen ein beliebiger Name sowie eine Auflistung der vorhandenen Spalten mit ihren wesentlichen Eigenschaften wie Position, Breite und so weiter enthalten sein. Das ist also eine klassische 1:n-Beziehung zwischen den Tabellen tblLayouts und tblSpalten.
Allerdings kann nicht jedes Layout überall aufgerufen werden, weil ja unterschiedliche Spalten enthalten sind. Daher muss der Name des Formulars beziehungsweise der Tabelle auch gespeichert werden.
Wegen der Mehrbenutzerumgebung sollen die Layouts zudem in allgemeine und persönliche unterteilt werden. Allgemeine Layouts können zwar von allen benutzt, aber nicht verändert werden, während persönliche Layouts nur vom jeweiligen Ersteller gespeichert, aufgerufen und gelöscht werden können.
Dazu wird außer dem Formular-/Tabellen-Namen auch der Benutzername gespeichert. Für allgemeine Layouts wird dieser Eintrag einfach manuell in tblLayouts gelöscht, um den Aufwand hier zu Demozwecken gering zu halten.