Access 2010: Was ist eigentlich eine Datenbank
Was ist eigentlich eine Datenbank?
Eine Firma sammelt viele Daten
Nehmen wir als Beispiel eine traditionsreiche Firma, die seit Generationen Kunststoffspielzeug herstellt. Die Spielzeug GmbH macht ihre gesamte Buchhaltung noch wie vor hundert Jahren, per Hand. Es wird genau Buch gehalten, wie viel Kunststoffgranulat zur Herstellung von Spielzeug eingekauft wird. In einem anderen Buch werden die verkauften Spielzeuge verzeichnet. In den Büchern steht nicht nur die Warenmenge, sondern auch der Händlername, das Datum, der Ein- und Verkaufspreis, usw. Die Spielzeug GmbH pflegt zudem noch ihre Kunden- und Händlerdatei in einem Karteikasten. Alle Geschäftsprozesse und wichtigen Informationen der Firma werden also in Büchern, Karteikästen oder Ordnern gesammelt. Zählt man alle diese Bücher, Karteikästen und Ordner, so kommt man auf eine stattliche Anzahl - und in allen befinden sich wichtige Informationen. Neudeutsch spricht man an dieser Stelle von Daten. Eine Ansammlung von Daten kann man auch als Datenbank bezeichnen. Unter dem Begriff Datenbank versteht man aber auch, dass diese Unmenge von Daten nicht auf Papier gespeichert werden, sondern in elektronischer Form in einer Datenbank auf einem Computer oder Server.
Der Firmenchef der Spielzeug GmbH hat gerade die ersten Module des ECDL erfolgreich bestanden und ist am überlegen: Mit welchem Programm kann ich alle meine Daten am besten auf dem Computer verwalten?
Warum reicht die Arbeit mit einer Exceltabelle nicht aus?
Nun könnte man bzw. der Firmenchef auf die Idee kommen, alle Informationen in Listen und Tabellen einzutragen. Dafür ist Excel als Tabellenprogramm bestens geeignet. Dies ist aber nur eine gute Idee, wenn man über kleine Daten- bzw. Informationsmengen verfügt, die wenig miteinander zu tun haben. In der Realität werden aber in einer Firma bestimmte Datensätze in verschiedenen Abteilungen oder Arbeitsprozessen benötigt. Beispielsweise werden Kundenadressen mehrfach benutzt, da der Kunde im Jahr mehrfach Spielzeug bestellt. Oder die Kundenadresse wird von verschiedenen Abteilungen benötigt: vom Versand, der Auftragsannahme und von der Werbeabteilung. An dieser Stelle kommen nun die Stärken einer Datenbank zum Einsatz. Eine Datenbank ist genau genommen eine Ansammlung von Tabellen, in denen die Informationen so abgelegt werden, dass eine Information immer nur einmal gespeichert ist, aber in ganz unterschiedlichen Tabellen verwendet werden kann. Nehmen wir einmal an, dass die Kundenadressen im Kundenregister, im Versand, in der Warenbestellung und im Marketing gebraucht werden. Teilt nun ein Kunde bei einer Bestellung mit, dass sich seine Adresse geändert hat, müsste bei der Arbeit ohne Datenbank die Adresse in drei Tabellen geändert werden. Dies erfordert viel Sorgfalt, damit es nicht zu Fehlern führt. Viel geschickter ist es, EINE Tabelle zu nutzen, auf die alle zugreifen können. Adressänderungen von einer Abteilung werden somit für alle sofort sichtbar. Außerdem werden Datenbanktabellen so geplant, dass keine Daten doppelt eingetragen werden, sondern die Daten werden bei Bedarf aus mehreren Tabellen zusammengefügt. In einer Bestelltabelle ist meist nur die Kundennummer, die Artikelnummer, das Bestelldatum und das Versanddatum eingetragen. Diese Daten gehören inhaltlich zusammen und werden deshalb DATENSATZ genannt. Anhand der Kundennummer und der Artikelnummer des Datensatzes kann nun zur Rechnungsstellung die Adresse aus der Adresstabelle und die Artikelbezeichnung aus der Artikeltabelle ausgelesen und in der Rechnung zusammengefasst dargestellt werden.
Merkmale einer Datenbank
- Daten werden nicht doppelt gespeichert, somit kann es nicht zu Versionskonflikten kommen.
- Eine Datenbank ist eine Ansammlung von Tabellen, die miteinander in Beziehung stehen können.
- In den Tabellen werden Informationen beliebiger Art abgelegt.
- Jede Zeile einer Tabelle wird als Datensatz bezeichnet.
Mit einem Datenbankprogramm lassen sich Datenbanken verwalten
Die Verwaltung der Datenbank übernimmt ein Datenbankprogramm. Es hat die Aufgabe, Datensätze in die Tabelle hinein zuschreiben, diese zu löschen, Datensätze zu ändern, nach Wunsch aus der Tabelle auszulesen oder Datensätze verschiedener Tabellen miteinander so zu verknüpfen, dass wie im obigen Beispiel anhand einer Kundennummer die Kundenadresse auszulesen ist. Datensätze können beliebig abgefragt oder verknüpft werden. Die Verknüpfungen lassen sich dabei immer wieder beliebig bearbeiten, ohne dass der Datensatz dabei geändert wird. Dies ist ein sehr großer Vorteil für spätere Änderungen an einer Datenbank.
Wie funktioniert ein Datenbankprogramm
Die häufigste Art der Datenbank ist die relationale Datenbank, so auch Access. In ihr werden die Daten, wie oben beschrieben, in mehrere Tabellen gespeichert. Die Bezüge zwischen den einzelnen Datensätzen lassen sich durch zwei übereinstimmende Werte in beiden Tabellen herstellen (Beispiel: Kundennummern in der Kundentabelle und Kundennummer in der Bestelltabelle). Andere Datenbanktypen wie hierarchische Datenbanken, Netzwerkdatenbanken, objektorientierte Datenbanken oder objektrelationale Datenbanken werden hier nicht weiter besprochen. Datenbanksysteme sind so aufgebaut, dass die Daten unabhängig sind. Die Unabhängigkeit wir dadurch erreicht, dass die Daten physikalisch und softwaretechnisch an unterschiedlichen Orten gespeichert werden. In Anwendungsprogrammen wird die Verarbeitung der Daten vorgenommen, in der Datenbank werden die bearbeiteten Daten gespeichert. Um auf Daten aus einem Anwendungsprogramm zugreifen zu können, verstehen Datenbanksysteme eine Datenbanksprache. Gewöhnlich arbeiten relationale Datenbanksysteme mit einer Datenbanksprache, meist SQL (Structured Query Language). Mit dieser Datenbanksprache kann man Datensätze in die Datenbank eintragen oder manipulieren. Der Vorteil einer weit verbreiteten Datenbanksprache wie SQL liegt darin, dass man so die Daten mit vielen Programmen auswerten kann. Es ist quasi egal, ob ich die Daten in einem in Visual Basic, oder in Java geschriebenen Programm aufrufen möchte. Fast alle Programme beherrschen SQL. Genauso verbreitet ist die Möglichkeit, aus Internetanwendungen heraus auf Datenbanken per SQL zuzugreifen oder diese zu manipulieren. Fast jeder Web-Shop (Amazon, Ebay, ...) bedient sich dieser Technik.
Beispiel einer relationalen Datenbank
Eine sinnvolle Datenbank für den privaten Bereich ist die Verwaltung der eigenen CD- oder DVD-Sammlung, Mp3 und Hörbuchsammlung. In einer Tabelle werden die Titel , die Interpreten, der Inhalt, das Medium (CD, DVD, ...) gesammelt. Diese Tabelle lässt sich dann beliebig nach Titel, Inhalt oder Interpret durchsuchen. Damit man den Überblick behält, wem man seine Cd's und Hörbücher verliehen hat, wird die Datenbank um eine Ausleihe ergänzt. Dafür wird eine Nutzertabelle mit Name, Vornamen, Adresse, usw. benötigt, sowie eine Tabelle in der aufgelistet ist, wer gerade welches Medium ausgeliehen hat und wann es zurückgegeben wurde.
1. Tabelle: Medium
id_medium | Titel | Interpret / Autor | Inhalt | Medium |
5 | Potter | Rowling | Buch |
2. Tabelle: Nutzer
id_nutzer | Vorname | Nachname | Telefon | Mailadresse |
8 | Hans | Buchwurm | 0815 | hans@dd.de |
3. Tabelle: Ausleihe
Id_ausleihe | id_medium | id_nutzer | ausgeliehen am | zurück am |
1 | 5 | 8 | 20.08.2008 | 30.8.2008 |
2 | 6 | 8 | 20.08.2008 |
In der Tabelle Ausleihe wird nun das Medium mit dem Nutzer verknüpft. Die Verknüpfung wird über die ID (Nummer, die in einer Tabelle nur einmal vorkommen darf) vorgenommen. In der Tabelle Ausleihe wird deshalb nicht der Name, sondern nur die ID-Nummer der Nutzertabelle und die der Tabelle Medium eingetragen.
Das hat den Vorteil, dass man beispielsweise den Fehler im Namen des Nutzers ändern kann, ohne dass es zu Fehlern in der Tabelle Ausleihe kommt.
Wo befindet sich eigentlich eine Datenbank?
Wie oben schon erwähnt, werden die Daten einer Datenbank ganz unabhängig vom Anwenderprogramm gespeichert. In der Praxis sieht das so aus, dass sich die Datenbank an einem zentralen Ort, meist auf einen Datenbankserver, befindet. Auf diesen Server können nun alle Anwender zugreifen und die Daten bearbeiten. Mittels der zentralen Verarbeitung kann man Daten verschiedener Versionen vermeiden. Datenbanken lassen sich aber auch lokal, also auf dem eigenen Computer, speichern. Dies ist dann sinnvoll, wenn die Datenbank immer nur von einem Rechner aus benutzt wird.
Access - Datenbanksoftware und Abfrageprogramm in einem
Das besondere an Access ist, dass das Programm eine Kombination aus Datenbank und Anwenderprogramm ist.
Benutzt man Microsoft Access ohne besondere Einstellungen, wird die Datenbank lokal auf dem Computer gespeichert. Man kann aber auch Datenbanken, die sich auf einem Server befinden, mit Access aufrufen.
Die Daten werden in Tabellen nach dem relationalen Prinzip gespeichert. Als Abfrageprogramm bietet Access eine Benutzeroberfläche an, die nach den eigenen Bedürfnissen erstellt werden kann.
Dies mag auf den ersten Blick von Vorteil sein, weil die Nutzung und die Datenspeicherung von einem Programm erledigt werden, führt aber in der Praxis des Öfteren zu Verwirrungen, weil das Programm nicht immer klar kennzeichnet, auf welcher Ebene man sich befindet.