Access 2010: Was ist eigentlich eine Datenbank

Aus Augenbit

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 wird 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

Fähigkeiten von Access

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.

Access bietet also folgende Fähigkeiten:

  • eine Datenbank erstellen
  • Informationen zur Datenbank hinzufügen
  • Daten beliebig bearbeiten und verändern
  • Daten sortieren und nach bestimmten Kriterien filtern
  • mithilfe von Abfragen Daten auswerten
  • Daten mithilfe von Berichten übersichtlich ausdrucken
  • Diagramme zur Darstellung von Daten einsetzen

Access Anwendergruppen

Diese vielen Fähigkeiten von Access werden von folgenden Anwendergruppen unterschiedlich genutzt:

Datenbankentwickler
entwerfen und erstellen Datenbanken. Dies beinhaltet das Planen der Datenbanken, das Erstellen der Datenbankstruktur und das Hinzufügen von sogenannten Formularen zur Datenerfassung bzw. von Berichten zur Darstellung und Auswertung von Daten.
Datenbankadministratoren
ersteilen bestimmten Benutzern bzw. Benutzergruppen (Zugriffs-)Rechte, die regeln, welche Änderungen die entsprechenden Personen in einer Datenbank durchführen bzw. auf welche Daten sie zugreifen dürfen. Daneben sind die Datenbankadministratoren für die Wiederherstellung beschädigter oder fehlerhafter Datenbanken zuständig (beispielsweise nach einem Systemabsturz).
Datenbankanwender
greifen auf eine Datenbank zu, um neue Datensätze anzulegen, Informationen zu suchen oder bereits eingegebene Datensätze zu verändern. Sie arbeiten also mit bestehenden Datenbanken.
Als Datenbankanwender wird man beispielsweise
  • Datenbanken öffnen
  • Daten eingeben, bearbeiten und löschen
  • mit Formularen arbeiten
  • bestimmte Datensätze suchen und filtern
  • mithilfe von Abfragen die Daten einer oder mehrerer Tabellen auswerten
  • Berichte drucken

Datenbankbegriffe

Im folgenden werden einige Begriffe definiert, die bei der Arbeit mit dem Datenbankprogramm Access benötigt werden:

Daten
sind einzelne Informationsbestandteile (z.B. Text oder Zahl)
Tabelle
Eine Tabelle ist eine Sammlung von Daten zu einem Bestimmten Thema. Alle Daten, die zusammengehören, stehen dabei in einer Zeile. Die Sammlung alles Nutzer, die sich von uns Medien ausleihen.
Datensatz
Ein Datensatz ist eine Zeile in einer Tabelle, in unserem Beispiel wäre ein Datensatz alle Informationen, die wir über einen Nutzer gesammelt haben.
Feld
Ein Feld ist ein Teil einer Tabelle, z.B. besteht unsere Nutzer Tabelle aus den fünf Feldern: id_nutzer, Vorname, Nachname, Telefon, Mailadresse
Datenbank
Eine Datenbank ist eine Sammlung von Informationen, die durch ihre Struktur das Wiederfinden von Informationen erleichtert. In unserem Beispiel enthält die Datenbank drei Tabellen: Medium, Nutzer, Ausleihe
Datenbankdatei
Eine Datenbankdatei in Access enthält eine oder Mehrere Tabellen mit Daten. Darüberhinaus enthält sie zusätzliche Informationen und Hilfsmittel, die Access benötigt, um die Daten zu organisieren und anzuzeigen.

Datenbankobjekt

Informationen werden innerhalb einer Datenbank in Tabellen abgelegt. Um die in den Tabellen enthaltenen Informationen aber auch verwalten und bearbeiten zu können, benötigt man eine Reihe von Werkzeugen. Sowohl die Tabellen als auch die Werkzeuge bezeichnet man als Datenbankobjekte. Die folgende Liste fasst die Datenbankobjekte von Access kurz zusammen:

Tabellen
In einer Tabelle werden Daten zu einem Thema gesammelt. Jede Zeile der Tabelle entspricht einem Datensatz. Ein Adress-Datensatz speichert beispielsweise innerhalb einer Zeile und auf verschiedene Spalten verteilt den Namen einer Person, seinen Wohnort, bestehend aus Straße, Hausnummer, Postleitzahl usw..
Abfragen
Mit Abfragen können eine oder mehrere Tabellen ausgewertet werden. Zum Beispiel könnte nach Kunden aus einem bestimmten Postleitzahlenbereich gesucht werden.
Formulare
Formulare Formulare erleichtern die Ansicht, die Eingabe und das Bearbeiteten von Daten. Anders als Tabellen lassen sie sich individuell gestalten und an die Bedürfnisse einer Nutzergruppe anpassen.
Berichte
Berichte fassen Daten aus Tabellen oder Abfragen übersichtlich zusammen. Sie sind vorwiegend zum Ausdrucken gedacht. So könnte man beispielsweise eine Liste aller Schüler ausdrucken, die gemeinsam eine Klasse besuchen.
Module
Access beinhaltet die Programmiersprache VBS (Visual Basic for Application), mit der Access programmiert werden kann. Diese Arbeit übernimmt in der Regel der Datenbankentwickler.
Makros
Access lässt sich mit Hilfe der bereits im Programmpaket enthaltenen Programmiersprache VBA (Visual Basic for Applications) um weitere Funktionen (sogenannte Module) erweitern. Diese Arbeit übernimmt in der Regel der Datenbankentwickler.
Seiten
Seiten (Abkürzung für Datenzugriffsseiten)
Access erlaubt es, Webseiten anzulegen, über die im Intra- oder Internet den Zugriff auf die Datenbank ermöglichen. Seiten sind den Formularen und Berichten sehr ähnlich.

Wie diese erstellt und bearbeitet werden, wird in späteren Kapiteln erläutert.

Im Arbeitsbereich wird jedes Objekt auf einer neuen Registerkarte abgelegt.

Übung: Datenbank

  1. Was versteht man unter dem Begriff "Datensatz"?
  2. Nenne die wichtigen Merkmale einer Datenbank?
  3. Welche Aufgaben hat ein Datenbankprogramm?
  4. Für das Sportfest der Schule soll eine Datenbank entwickelt werden. Eignet sich dafür eine lokale Access Datenbank oder sollte man eine servergestütze Datenbank wählen? Begründung der Entscheidung!