Eine Datenbank mit MS-Access. Ist das sinnvoll?

Ob eine Datenbank auf Basis von MS-Access sinnvoll ist oder nicht kann mit Sicherheit so oder so gesehen werden. Vielleicht kennen Sie schon Access, nutzen gar schon eine Access-Datenbank oder haben schoneinmal eine selbst entwickelt. Vielleicht haben Sie aber auch die Stimme vom Chef im Ohr oder die mahnenden Worte Ihrer IT-Abteilung. Die Entscheidung, ob Access die für Sie richtige und sinnvolle Entscheidung ist, kann ich Ihnen nicht abnehmen. Stattdessen möchte ich kurz einige Vor- aber auch Nachteile einer Access-Datenbank aufzeigen um Ihnen Kriterien an die Hand zu geben die Ihnen die Entscheidung erleichtern.

Vorteile von Microsoft Access1_032.png

Access ist eine, wenn nicht die beliebteste Datenbank-Software da auch nicht-professionelle Entwickler viele unternehmerische Probleme damit lösen können. Professionelle Entwickler können sehr anspruchsvolle Mehrbenutzer Anwendungen schaffen.

Großer ROI

Wenn ein Problem mit Access gelöst werden kann, ist diese Lösung wahrscheinlich günstiger und maximiert den ROI (Return of Investment) für das Unternehmen.

Schnelle Entwicklung (RAD: Rapid Application Development)

Mit Access lassen sich Anwendungen schnell entwickeln. Häufig wird weniger Code und Programmierung benötigt als mit anderen Produkten.

Mehrbenutzer-fähig

Access-Anwendungen können von mehreren Benutzern gleichzeitig verwendet werden, wobei jeder von diesen unterschiedliche Rechte besitzen und unterschiedliche Eingabe- und Ausgabe-Möglichkeiten haben kann.

Integration mit anderen MS Office Produkten, weit verbreitet

Access ist Teil des Microsoft Office Paketes. Hierdurch wird eine Weiterver- und Bearbeitung in Excel, Word, Outlook und PowerPoint sehr einfach möglich. Daten können beispielsweise aus Access nach Excel kopiert werden, um diese damit auszuwerten.

Als Teil des MS Office Produktes ist Access in vielen Unternehmen bereits vorhanden. Microsoft stellt für andere Fälle eine sog. Runtime kostenlos zur Verfügung mit der Access Anwendungen auch auf Systemen laufen können die selbst keine Access-Installation besitzen.

Sehr gut für Dateneingaben - Windows ist noch immer besser als das Web

Muss man im Web noch einen Aktualisieren Button klicken, ist dies in Access nicht notwendig. In Access ist auch das Kopieren und Einfügen von Datensätzen ohne weiteres möglich. Die Darstellung von 1 zu N Beziehungen zwischen Daten und andere Features (z.B. Rechtschreibprüfung) machen die Dateneingabe leichter und einfacher als im Web.

Zugriff auf viele Datenformate, einfacher Import

Access kann eine große Zahl unterschiedlicher Formate nutzen, angefangen von alten DOS Datenbanken die dBase bis zum SQL Server oder OpenSource Datenbanken wie MySQL und PostgreSQL per ODBC Datenanbindung. Daten aus anderen Anwendungen lassen sich nicht nur nutzen, sondern auch relativ einfach in Access übernehmen.

Umfangreicher Abfragengenerator

Die Möglichkeit sog. Abfragen (querys) über eine grafisch anschauliche und einfache Oberfläche zu erstellen und dabei unterschiedliche Tabellen zu nutzen kann als eines der großen Features von Access bezeichnet werden. Damit ist die Auswertung häufig auch ohne SQL Kenntnisse möglich. Abfragen in Access können zudem Bezüge auf VBA enthalten, wodurch die Möglichkeiten nochmals beträchtlich steigen: Dort können weitere Kriterien erstellt und ausgewertet werden, die dann in der Abfrage Berücksichtigung finden. Fortgeschrittene Nutzer können aber auch SQL direkt eingeben.

Ausgezeichneter Berichtsgenerator

Berichte, also Druckfertige Auswertungen Ihrer Daten lassen sich mit Access sehr komfortabel und einfach gestalten, wobei mögliche spezifische Designansprüche keineswegs vernachlässigt werden. Assistenten helfen und Unterberichte lassen sich einsetzen, um Beziehungen zwischen Daten darzustellen. Da Access auch andere Datenformate nutzen kann, ist es denkbar Berichte in Access zu erstellen, die Quelldaten aus anderen (als Access selbst) Quellen nutzen. Entwicklungen auch nur annähernd qualitativ ähnlicher Berichte im Web (wie JasperReports oder CrystalReports) sind wesentlich komplizierter.

Guter Code Editor

Der VBA IDE ist der gleiche wie der von VB und bietet hervorragende Möglichkeiten. Selbst ein Debuggen und Ändern von Code während der Laufzeit ist möglich wodurch viel Entwicklungszeit gespart werden kann.

Lösungen oft ohne Code

Access bringt von Hause aus schon so viele Möglichkeiten mit, dass Programmierung häufig nicht nötig ist. Für umfangreichere Anwendungen ist diese nicht vermeidbar, dann sind jedoch Funktionen mit weniger Code zu realisieren als in anderen Programmen. Dies erleichtert eine Pflege und Weiterentwicklung der Datenbank.

Ideal für Netzwerkanwendungen

Access eignet sich wunderbar für Anwendungen im LAN des Unternehmens bei der unterschiedliche Nutzer auf die gleichen Daten zugreifen und mit diesen arbeiten. Der Umgang mit Backend (Daten die einmal, zentral z.B. auf einem Netzlaufwerk hinterlegt sind) und Frontend (Arbeitsoberfläche auf den Rechnern der einzelnen Nutzer) ist eine Selbstverständlichkeit für Access.

Gute Performanz

Auf heutigen PCs kann u.U. die komplette Datenbank im Speicher gehalten werden, was extrem schnelles Arbeiten ermöglicht - oft schneller als bei Client-Server-Systemen. Anforderungen des Unternehmens an die Auswertung (z.B. Anzahl und Komplexität der für eine Auswertung zu berücksichtigenden Kriterien) beeinträchtigen natürlich die Performanz - wie auch bei Client-Server Umgebungen.

Situationen ohne Verbindung und Datensicherung

Accessanwendungen können auf Laptops und Systemen betrieben werden, die keine Verbindung nach außen zulassen. Accessdatenbanken können ohne Verbindung zum Unternehmensnetz laufen, Internet ist zum Betrieb ebenfalls nicht nötig. Zur Not könnten Sie Ihre Accessdatenbank sogar per Email verschicken. Genau so einfach lässt sich eine Access-Datenbank sichern: Eine einfache Kopie der Datei reicht!

Nachteile von Microsoft Access1_033.png

Einige Nachteile sollen ebenfalls genannt sein, verschweigen lassen sich diese nicht, jedoch hoffentlich deren Hintergrund erläutern.

Als Web-Anwendung ungünstig

Access wurde nicht entwickelt um Webseiten damit zu erstellen. Heutzutage (ab Access 2010) lassen sich Teile einer Accessdatenbank auf SharePoint und SQL Azure Servern exportieren. Dies vereint gewisse Möglichkeiten von Access und dem Web. Formulare und Berichte die keinen VBA Code enthalten können häufig übertragen und damit nicht-Access-Nutzern zur Verfügung gestellt werden. Leider sind Lizenzkosten (auch Office 365) hierbei zu berücksichtigen. Daher ist eine Berücksichtigung des späteren Einsatzes einer (Access-)Datenbank schon im Vorfeld bei der Planung sinnvoll: Web - oder Nicht-Web - oder Web-In-Welchem-Umfang. Beachten Sie auch den nächsten Punkt, in dem aufgezeigt wird, wie eine Nutzung über das Internet doch möglich sein kann.

Nur auf Windows-Plattformen aber Fernzugriff möglich

Access läuft nur auf "vollen" Windows Plattformen, nicht auf Mac, iPad oder Android und auch nicht auf Windows RT o.ä. Access Anwendungen können aber über das Internet z.B. durch Terminal Services (Remote Desktop) oder einen Fernzugriff wie Teamviewer/AeroAdmin/VNC genutzt werden. Ein solcher Ansatz ist jedoch wahrscheinlich nur für einen geringen Nutzerkreis von wenigen Personen sinnvoll und keineswegs eine echte Webanwendung die mehrere hundert gleichzeitige Nutzer zulässt.

Installationsprobleme

Accessanwendungen benötigen eine installierte Access Version. Hierbei kann es sich um ein "echtes" Access oder um eine sog. Runtime-Version handeln. Unterschiedliche, gleichzeitig installierte Access- und Office-Versionen können aber verschiedenste Probleme aufwerfen die im Voraus oft nicht absehbar sind. Dies erfordert entsprechende Planung. Falls Access schon wie in vielen Unternehmen installiert ist, ist dieses Problem zu vernachlässigen. Abstimmung erfordert dann nur, für bzw. mit welcher Access Version entwickelt und gearbeitet werden soll.

Updates von Access-Datenbanken durchzuführen kann ebenfalls Schwierigkeiten aufwerfen. Beim Einsatz von Frontend und Backend kann das Frontend häufig sehr leicht getauscht werden, um das Backend durch ein überarbeitetes zu ersetzen müssen jedoch die Daten übernommen werden. Bis zum Einspielen der neuen Version können dann keine neuen erfasst werden - diese würden verloren sein. Das Problem lässt sich jedoch vereinfachen.

Ein großer Vorteil von Webanwendungen (im Gegensatz zu Access) ist, dass es eine Oberfläche - die im Web - gibt. Entwicklung findet an einer einzigen Stelle statt und jeder Browser kann neue Features direkt nutzen. Das Problem eines veralteten Frontend lässt sich so umgehen.

Sicherheit, Datenschutz und -integrität

Mittlerweile lassen sich Access-Datenbanken recht einfach verschlüsseln und mit einem Passwort schützen. Eine lokale Installation wie Access kann jedoch nicht den gleichen Zugriffsschutz bieten wie eine Serverinstallation z.B. SQL Server. Ähnliches gilt für die Datenintegrität, die Sicherheit der Daten vor unbeabsichtigter Veränderung. In Datenbankmanagementsystemen wie dem SQL Server lassen sich etliche Vorkehrungen treffen um Änderungen zu dokumentieren und Fehler beim Umgang mit den Daten zu verhindern. Die Möglichkeit eine Kopie der Access-Datei anzufertigen ist zugleich Vor- wie Nachteil: Eine solche ist schnell angefertigt - leider jedoch auch durch unberechtigte Dritte.

Eingeschränkte Skalierbarkeit

Access hat (noch immer) eine Begrenzung der Dateigröße auf 2 GB. Werden also sehr große Datenmengen zusammenkommen, kann Access alleine nicht die Lösung bieten. Auch ist die gleichzeitige Nutzung von Access auf 255 Benutzer beschränkt (technisch). Eine praktische Beschränkung auf weniger Nutzer kann durch das vorhandene Netzwerk gegeben sein, so dass eine tatsächlich gleichzeitige Nutzung von wahrscheinlich 10 bis 80 Nutzern möglich ist (immer auch abhängig von der Anwendung und deren Tätigkeiten).

Einschränkungen im Design

Anwendungen die mit Access erstellt wurden haben im Vergleich zu solchen, die mit primären Programmiersprachen entwickelt wurden, den Nachteil, dass sie gestalterischen Einschränkungen unterliegen. So sind Access-Anwendungen recht schnell als solche zu entlarven.

Die Inhalte dieser Seite sind den Ausführungen von Luke Chung auf http://www.fmsinc.com/MicrosoftAccess/Strategy/ entliehen und angepasst.