FYI: Katalog zur professionellen Access-Anwendung

29/03/2013 - 16:26 von Karl Donaubauer | Report spam
Hallo!

Am Karfreitag liest eh niemand mehr NGs, aber da er erst seit
diesem Monat online ist, auch hier noch der Hinweis auf den
Katalog an Merkmalen einer professionellen Access-Anwendung:
http://www.donkarl.com/?katalog

Er ist gedacht als kleiner Beitrag zum Image-Problem von Access
als professionelles Tool und für Leute, die ernsthaft damit arbeiten.

Servus
Karl
*********
Access-FAQ: http://www.donkarl.com
SNEK2: SQL Server und .NET-Entwickler-Konferenz 13/14.4. Nürnberg
 

Lesen sie die antworten

#1 Lars P. Wolschner
29/03/2013 - 17:20 | Warnen spam
"Karl Donaubauer" :

Am Karfreitag liest eh niemand mehr NGs, aber da er erst seit
diesem Monat online ist, auch hier noch der Hinweis auf den
Katalog an Merkmalen einer professionellen Access-Anwendung:
http://www.donkarl.com/?katalog

Er ist gedacht als kleiner Beitrag zum Image-Problem von Access
als professionelles Tool und für Leute, die ernsthaft damit
arbeiten.



Es gibt sogar Unternehmen, die ihre Dienstleistung auf der Basis
von MS Access-Anwendungen erbringen. Da ist dann i.d.R. als
Backend ein richtiger Datenbankserver etwa von Microsoft oder
Oracle im Einsatz.

Der "Katalog" scheint mir an einigen Stellen ein wenig zu
vereinfachend. Beispiele:

"1.2 Primàrschlüssel". Gut und richtig, aber es geht zumindestens
mit richtigen Backends noch weiter, nàmlich mit der Frage, wie
Primàrschlüssel erzeugt und an das Frontend weitergegeben werden.

"1.6 Abfragen sind doptimiert". Was ist da mit "Abfragen" gemeint?
Wenn sich das auf sàmtliche SQL-Select-Statements bezieht, wàre
der Satz eine Binsenweisheit. Wenn damit aber die MS Access-
Abfrageobjekte im Datenbankfenster gemeint sind, so würde ich von
deren Nutzung schon bei mittelgroßen MS Access-Anwendungen
abraten.

"1.7 Arbeit mit ODBC-Backend ist optimiert". Gut, kann ich
bestàtigen. Aber für Views gilt das Gleiche wie für die MS Access-
Abfrageobjekte: Schnell entsteht ein Abfrage- bzw. View-Dschungel,
der von anderen am Projekt beteiligten Entwicklern nicht mehr
durchschaut wird. Das Suchen nach einer passenden Abfrage dauert
dann viel lànger als der Neuentwurf des gerade Benötigten, so daß
sich dieses Problem selbst vestàrkt. Andererseits aber erweitert
sich der Umfang des Feldangebotes einer Abfrage unweigerlich, wenn
sie für mehrere Zwecke wiederverwendet werden soll.
Und wàhrend man bei Oracle mit PL/SQL eine vollausgestattete
(objektorientierte) Programmiersprache hat, die auch große Code-
Projekte strukturiert bekommt, schaut das bei Microsoft ganz
anders aus.
Ich habe ein System entwickelt, daß Abfragen aus der Datenbank-
struktur ableiten und in verschiedenen Syntaxen ausgeben kann.
Überhaupt empfiehlt es sich, neben dem Zugriff auf Recordsets auch
die Erzeugung von SQL-Statements und ihrer Bestandteile zu
standardisieren. Das Zusammenstoppeln von SQL-Statements durch die
üblichen Stringoperationen macht Code aller Art unleserlich. Und
bei der Erzeugung von Literalen muß man auch mal damit rechnen,
daß das fehlschlàgt, weil Aufrufer wie etwa eine Benutzerober-
flàche oder ein Dateiimport keine geeigneten Feldwerte
bereitgestellt haben. Das will man (der Entwickler, aber auch der
Endnutzer) dann schnell und klar erkennen und nicht erst
stundenlang suchen.

"3.5 SQL vor DAO/ADO". SQL hat den Nachteil, daß es anscheinend
nicht völlig datenbankserver-portabel ist, wàhrend DAO und ADO an
dieser Stelle besser kapseln. Sobald man Daten über das Frontend
bezieht oder ausgibt, kommt man um DAO oder ADO nicht herum. Ich
würde das an dieser Stelle anders aufziehen und die Transporte
zwischen Backend und Frontend minimieren. Dann kommt man von
allein darauf, daß die Feldwerte natürlich initial über einen
Recordset kommen müssen, man weitere Bearbeitungen aber durch eine
Kommandofolge vornehmen lassen kann. Die will allerdings auch
erstmal erzeugt sein und ist dann wieder SQL-dialektspezifisch.

Es fehlt jeder Hinweis auf die Nutzung von Transaktionen und
Isolationsbetrachtungen.

Mit freundlichen Grüßen
Lars P. Wolschner

Ähnliche fragen