Eine der entscheidenden Fragen des Computer-Users lautet immer wieder: "Lege ich nun eine Datenbank an, oder benutze ich ein Tabellenkalkulationsprogramm ?"

Ich möchte Sie auf diesem Wege in Ihrer Entscheidung beeinflussen..




Begriffe

Fragestellung

PRO und CONTRA

Zusammenarbeit von verschiedenen Anwendungen





Begriffsbestimmungen:



Eine Datenbank stellt eine Sammlung von Daten dar, die vorrangig der Archivierung und Manipulation (Abruf,Vergleich,Sortierung...) sowie für statistische Betrachtungen dieser Daten, dient.
Dabei gibt es kaum einen Begriff in der Computersprache, der so weitläufig gebraucht wird.
Manche sagen zu einer Adress-Datei bereits Datenbank, andere meinen damit eher die Millionen von Daten, die in grossen Unternehmen (z.B. Amazon.de ) von Nöten sind, um der Vielzahl der Kunden innerhalb von zwei Tagen das gewünschte Produkt zu liefern.

Ein Tabellenkalkulationsprogramm dient ebenfalls der Datenerfassung und Auswertung.
Es dient ( wie der Name schon sagt ) vorrangig der Kalkulation ( also Berechnung ) von Daten.

Dabei gilt es nun noch zwischen verschiedenen Datenbank-Anwendungen zu unterscheiden:

Stand-Alone-Datenbanken sind nur lokal auf dem Rechner vorhanden und bieten damit nur den Einzelbenutzern Zugriff auf die DB ( z.B. Ihre Adressen-DB ).

Netzwerk-Datenbanken dagegen, sind für eine Mehrbenutzerumgebung konzipiert worden.
Hierbei sind bezüglich der Zugriffsgeschwindigkeit und der Datensicherheit besondere Vorkehrungen zu treffen.

Es sollen an dieser Stelle nur einmal kurz die beiden Arten der Netzwerk-DB erklärt werden:

a) File-Server-DB


Hier befindet sich die Datenbank als frei zugängliche Datei auf einem über das Netzwerk zugänglichen Rechner, so dass nicht nur einzelne Datensätze abgefragt und dargestellt werden können, sondern meistens die gesamte DB ( oder Teile davon ) angesprochen und über das Netzwerk versendet werden.
Man kann bei Access ein sogenanntess Front-End -Back-End Modell erstellen, dass auf dem Rechner 1 nur das Back-End ( = nur die Daten - also nur die Tabellen in der Datenbank = Daten-DB ) befindlich ist, und auf den Rechnern 2 und 3 dann die Front-Ends liegen, das sind jetzt Datenbanken mit verknüpften Tabellen aus dem Back-End, in denen aufgrund der eingebetteten Tabellen dann alle anderen Objekte ( Abfragen, Formulare, Berichte...) erstellt sind.

Dies hat den Vorteil, das jedes Front-End dem Benutzer angepasst werden kann, zum Beispiel hat der Chef Zugang auf alle Daten der DB ( einschliesslich Personaldaten ) und die Mitarbeiter haben nur die Tabellen als Verknüpfung in ihrem Front-End, mit denen sie arbeiten sollen.
Dazu kann das Back-End ( wie jedes-Front-End auch ) passwortgeschützt werden, so dass beim Versuch der Neueinbindung einer Tabelle aus dem Back-End dann nur der Chef ( bzw. Admin ) die Einbindung vollziehen kann.

b) Client-Server-DB


Bei dieser Architektur wird die Datenbank, die man über einen Datenbank-Server anspricht, dazu aufgefordert, nur die erforderlichen Daten ( wieder über den DB-Server ) an den Absender der Anfrage zurückzusenden.
Es ist also kein direkter Zugriff auf die DB, sondern ein indirekter Zugriff über den zwischengeschalteten DB-Server.
Was soll denn das für einen Vorteil bringen ?
Bei grossen Datenbanken mit sehr vielen Clients ( also Benutzern ) die, wenn es hart kommt, alle zur selben Zeit auf die DB zugreifen wollen, bietet dies folgende Vorteile:

Der DB-Server ist ein besonders leistungsstarker Rechner ( meinetwegen sogar mit mehreren Prozessoren...) und die Skalierbarkeit dieses Servers ist damit gegeben ( Aufrüstung nur des Servers - wenn nötig !).
Die Netzwerkbelastung sinkt rapide ( bei vergleichbarer Anzahl der zeitgleichen Zugriffe ), da jetzt nur noch SQL-Befehle ( die nur wenig Speicher beanspruchen ) über die Leitungen sausen.
Weiterhin sind die Hardware Anforderungen des einzelnen Client-Rechners demzufolge geringer und nur von den anderen resourcen-zehrenden Anwendungen ( Betriebssystem...) abhängig.
Die Hauptarbeit wird ja am DB-Server erledigt: Datenspeicherung, -indizierung, -abfrage, -berechnung ..., nur Ergebnisse erreichen den Clienten.

Allerdings sind die Client-Server-Lösungen nur dann von Vorteil, wenn es eine Menge von Benutzern gibt.
Ansonsten sind natürlich die enormen Server- und Softwarekosten unrentabel, auch kann erst ab einer genügend hohen Anzahl der gleichzeitigen Zugriffe ein Geschwindigkeitsvorteil gegenüber der File-Server-Lösung verzeichnet werden.


Hier noch einige Ausführungen zu den verschiedenen Datenbank-Formaten:

Datenbanken enthalten neben den substanziellen Daten noch eine Reihe von Informationen zur Verwaltung und Sicherheit dieser.
So wird z.B. zur Zugriffsbeschleunigung ( also dem schnelleren Finden und Darstellen ) der Daten meistens eine Indizierung derer durchgeführt.
Weiterhin ist es nötig, ein Sicherheitsprofil zum Schutz vor unbefugter Benutzung zu definieren.
Auch muss bei Mehrbenutzerumgebungen eine Locking-Strategie ( optimistisch oder pessimistisch - siehe Fachliteratur ) vorhanden sein, sprich wer zuerst eine Tabelle oder einen Datensatz bearbeitet, der schreibt auch dann die Veränderung in die DB.

Also kommt es nicht selten vor, dass eine DB an sich schon sehr viel Speicher durch diese Zusatzinformationen verbraucht ( deshalb auch bei Access immer eine Mindestgrösse der leeren DB ).

Es haben sich im Laufe der Jahre eine Reihe von DB-Formaten entwickelt, z.B. dBase ( weit verbreitet ) und Jet ( = Access ).
Jet wird von allen MS-Office Programmen und auch von Visual-Basic unterstützt, findet also unter den 'Normal-Anwendern' sehr grossen Einsatz.
Dazu wurde die Access-Benutzeroberfläche ( = Interface ) von den elementaren Datenbankfunktionen ( = DB-Kern ) getrennt.

Diese Funktionen befinden sich in einer eigenen Programmbibliothek, der Jet-Engine.

Diese darf auch - im Gegenteil zum MS-Access-Paket - frei weitergegeben werden !

Die Jet-Engine kann über ISAM-Treiber ( = Index-Sequential-Access-Method = Methode der Speicherung der Datensätze in der DB-Datei ) auch auf andere DB-Formate zugreifen ( dBase, Paradox, ...).

Datenbanken, die nicht der ISAM-Technik entsprechen, werden über die ODBC ( = Open-Database-Connectivity-Schnittstelle ) angesprochen.

Bei Client-Server-Systemen spielt das DB-Format nur noch eine untergeordnete Rolle, da hier der Zugriff ja nur über den DB-Server erfolgt.

Um nun noch die Verwirrung zu verstärken stelle ich Ihnen noch die beiden gebrächlichsten Datenbank-Bibliotheken ( zur Programmierung eigener Anwendungen unerlässlich ! ) vor:

DAO-Bibliothek = Data-Access-Objects = Datenzugriffsobjekte

Ist für Jet-Engine-DB entwickelt und optimiert worden, soll aber von der

ADO-Bibliothek = ActiveX-Data-Objects = ActiveX-Steuerelemtent-Objekt-Zugriff - ersetzt werden ( jedenfalls wenn es nach Microsoft geht ).
Diese Bibliothek gilt erstmals als einheitliches Ojektmodell zum Zugang zu jeder Art von DB.

In den Bibliotheken-Dateien ( egal, welche Sie nun benutzen ) sind die programmierbaren Objekte, Methoden, Eigenschaften und Ereignisse vorhanden, die Sie im Programmcode nach Herzenslust ( und Fehleranfälligkeit ) verwenden können.


Bei der Entscheidungsfindung Datenbank oder Tabellenkalkulation spielen eine Menge Faktoren eine Rolle !

Anders formuliert : -->Fragestellung

Warum DB ? - Start - Optionen - Struktur - Hilfe - Objekte - Tabellen - Beziehungen - Abfragen - Formulare - Berichte - Seiten - Makros - Module-VBA - Sicherung - Links

 

 

 

 

Fragestellungen:



Sie sollten sich folgende Fragen stellen :

Worauf lege ich besonderes Augenmerk bei der Datenerfassung/Auswertung?
Mit welcher Datenfülle muss ich rechnen ?
Was muss schnell und einfach zu realisieren sein ?
Welche Aussagen bzw. Darstellung der Daten benötige ich ständig, was brauche ich nur einmal im Monat, Jahr,... ?
Lohnt sich der Aufwand mein bestehendes System der Datenerfassung/Auswertung umzustellen ?
Habe ich stets die selben Aussagen (Auswertungen) zu treffen, oder muss ich sehr flexibel reagieren ?
Habe ich Erweiterungs- bzw. Verknüpfungsabsichten mit den vorhandenen Daten ?

Es gibt da sicher noch eine ganze Reihe anderer Fragen die man sich stellen sollte, bevor man sich entscheidet.

Ich möchte Ihnen die Beantwortung Ihrer Fragen erleichtern: --> PRO und CONTRA

Warum DB ? - Start - Optionen - Struktur - Hilfe - Objekte - Tabellen - Beziehungen - Abfragen - Formulare - Berichte - Seiten - Makros - Module-VBA - Sicherung - Links

 

 

 

 

PRO und CONTRA



Datenbank

PRO






 

CONTRA







Grosse Datenmengen
Vielseitige Beziehungen zwischen den Daten
Flexible Datenabfrage
Statistik
Häufige Datenerfassung/-veränderung
Schnelle Sortierung
 


Geringe Datenmengen
Einmalige Datenerfassung
Oft wechselnde Kombination von Daten und Text
Häufige Erstellung von verschiedenen Diagrammen
Viele und ständig wechselnde Berechnungen


Tabellenkalkulation

PRO









CONTRA







Einfache einmalige Datenerfassung
Schnelle komplexe Abhandlung eines sich nicht wiederholenden Themas
Keine Einschränkung der Spaltenformate innerhalb einer Tabelle
Sehr einfache Diagrammerstellung
Einfaches Funktionshändling
Verhältnismässig geringer Speicherplatzbedarf
 


Komplizierte Datensortierung
Umständliche Datenabfrage bei Kriterienänderung
Festgelegte Formatierungen sind starr
Komplizierte Formular und Berichterstellung
Internet Interaktion schwierig


Um diese Tabellen noch zu kommentieren, gebe ich Ihnen Beispiele:

Nehmen wir an, Sie sollen ein Referat mit vielen Berechnungen, Tabellen und Diagrammen halten, und es ist nicht daran zu denken, noch einmal ein ähnliches Referat zu erstellen, dann fertigen Sie dies mit dem Tabellenkalkulationsprogramm an.
Sollte es aber so sein, dass Sie ständig Referate halten müssen und die Daten dafür ständig aktualisiert werden müssen, dann würde ich doch schon an das Anlegen einer Datenbank für die Referatsdaten denken !

Anderes Beispiel:
Sie sind Student und belegen ein Labor. Sie sollen die Versuche protokollieren. Sie nehmen dazu die Tabellenkalkulation.
Anders der Laborleiter: Er ist jedes Semester wieder im selben Labor und will auch die Ergebnisse protokollieren. Er legt sich eine Datenbank an und kann somit eine schöne Statistik führen !

Bei manchen Themen gibt es trotz der PRO und CONTRA, meiner Meinung nach, gar keine Fragen:
Kundenerfassung
Vereinswesen
Beschäftigtenabrechnung
Archivierung: CD's, Platten , Bücher ...
Auftragswesen
Lagerwirtschaft
Bereitstellung von lexikalischem Wissen
...

Diese Themen sind für Datenbanken prädestiniert !

Zu guter Letzt möchte ich Ihnen noch einige Möglichkeiten des Datentransfers zwischen verschiedenen Anwendungen aufzeigen : IMPORT / EXPORT


Warum DB ? - Start - Optionen - Struktur - Hilfe - Objekte - Tabellen - Beziehungen - Abfragen - Formulare - Berichte - Seiten - Makros - Module-VBA - Sicherung - Links

 

 

 

 

Zusammenarbeit verschiedener Anwendungen



Da jedes der betrachteten Programme Vor- und Nachteile besitzt, wäre es müßig, jedes anstehende Problem mit nur einem Programm lösen zu wollen.
Die pfiffigen Programmierer haben da schon mal was vorbereitet: Den Datenimport und den Datenexport !

Folgt man den relativ guten Anweisungen aus den Dialogboxen, gibt es selten grössere Probleme.
Es gibt da halt nur ein paar Besonderheiten zu beachten.
Da ich Ihnen MS Access nahebringen möchte, werde ich mich hier darauf beschränken :

IMPORT :



Beim Import in Access sind folgende Sachen zu beachten:
Access hat als Tabellen-Spalten-Überschriften Einschränkungen: . und , und ' und ! und [ und ] sind nicht erlaubte Zeichen.
Das heißt, entfernen Sie diese Zeichen vor dem Import, wenn Sie Tabellenüberschriften mit übernehmen möchten !
Falls Sie bei den zu importierenden Daten in einer Tabellenspalte viele verschiedene Datenformate enthalten haben, dann gibt es Fehlermeldungen beim Import.
Bringen Sie also die Daten der fremden Anwendung, wenn möglich, alle in das gleiche Format.

Daten per Drag and Drop (Ziehen und Ablegen) einfügen:
Sie öffnen Access sowie die andere Anwendung und markieren die zu importierenden Daten.
Dann einfach mit der linken Maustaste draufklicken, in Access ziehen und loslassen.

Daten aus der Zwischenablage einfügen:
Mit den Befehlen Kopieren und Einfügen kopieren Sie Daten in die Zwischenablage und fügen diese dann anschliessend in Access ein.
Sie können dies auch mit den Tastaturbefehlen Strg + C (Kopieren) und Strg + V oder Shift + Einf (Einfügen) erledigen.

Befehl: Externe Daten
Mit Datei --> Externe Daten --> Importieren wählen Sie aus, ob Sie aus Access, dBase, Exchange, Excel, HTML, Lotus 1-2-3, ODBC-Dateien, Outlook, Paradox oder Text-Dateien Daten importieren möchten.
Sollte beim Import der Daten doch irgendetwas quer laufen, dann legt Access automatisch eine Tabelle Importfehler ( bzw. Einfügefehler beim Einfügen ) an.

Mit Datei --> Externe Daten --> Tabellen verknüpfen binden Sie externe Tabellen in Ihre Datenbank ein, ohne dass Sie damit Speicherplatz in Ihrer Datenbank verschwenden.
Sie können die eingebundenen Tabellendaten ganz normal verarbeiten, haben jedoch aus dieser Access-Anwendung heraus nicht die Möglichkeit, den Tabellenentwurf zu ändern.

EXPORT :



Auch hier gelten die unter IMPORT aufgeführten Techniken Drag and Drop sowie die Zwischenablage .

Befehl: Exportieren
Mit Datei --> Exportieren wählen Sie diesmal unter folgenden Dateiformaten aus:
Access, dBase, Excel, HTML, Lotus 1-2-3, Microsoft Active Server Pages, Microsoft IIS, ODBC-Dateien, Paradox, RTF, Text, Word.
Sie sollten beim Export darauf achten, dass das gewählte Exportformat in seiner Datenformatierungseigenschaft nicht weniger Datenbanken- und Feldeigenschaften unterstützt als Access selbst.
Sollte dies doch der Fall sein, versuchen Sie einfach in eine andere Anwendung zu exportieren und danach erst von dort in Ihre Zielanwendung zu kommen.
Als gute Exportformate haben sich dBase und Paradox erwiesen.
Ein Datenverlust ist grundsätzlich bei jedem Export möglich. Also: Erst Sicherung aktualisieren, dann exportieren !

Sollten Sie oft und viel Im- bzw. Exportieren gibt es die Möglichkeiten permanente Verbindungen zwischen den verschiedenen Anwendungen herzustellen, bzw. diese Prozeduren zu automatisieren.
Ich nenne Ihnen nur einmal die Stichworte für diese Routinen:
DDE-Verbindungen (Dynamic-Date-Exchange = Dynamischer Datenaustausch)
AusgabeIn-Aktionen
Transfer-Methoden
...


Weitere Informationen entnehmen Sie bitte der entsprechenden Fachliteratur .

Warum DB ? - Start - Optionen - Struktur - Hilfe - Objekte - Tabellen - Beziehungen - Abfragen - Formulare - Berichte - Seiten - Makros - Module-VBA - Sicherung - Links