Die Implementierung (Übertragung) des relationalen Datenbankmodells „Schule“ mit Hilfe von MS Access in eine digitale Datenbank
Nachdem wir das relationale Datenbankmodell für unsere Schuldatenbank mit allen Attributen und Beziehungen erstellt und um die Tabellen tbl_plz und tbl_ort ergänzt haben, gilt es nun, die Datenbank mit Hilfe eines DBMS zu realisieren. Diesen Vorgang nennt man Implementierung. Dieser erfolgt grundsätzlich auf der Grundlage des relationalen Datenmodells.
Um ein Gefühl für den Umgang mit dem Programm Access von Microsoft zu bekommen, sollen an dieser Stelle ein paar grundlegende Kenntnisse damit vermittelt werden.
Zur Erinnerung führen wir uns das fertige relationale DB-Modell „Schule“ noch einmal vor Augen:

Die Arbeit am PC beginnt zunächst mit dem Aufrufen von MS Access. Es bietet sich uns folgender Startbildschirm:

Ohne jetzt eine leere Datenbank zu erstellen, können wir mit der Arbeit nicht beginnen. Folglich wählen wir den Button „Leere Datenbank“, wodurch sich folgendes Dialogfenster öffnet:

An dieser Stelle ist es wichtig, dass wir – neben dem Speicherort für die neue Datenbank – für die spätere Programmierarbeit das Datenbankformat „%.mdb“ wählen, wobei % für einen frei wählbaren Dateinamen steht:

Nachdem dies erfolgt ist, klicken wir auf „Erstellen“, womit die neue Datenbank im gewünschten Format am gewählten Speicherort erstellt wird.
Eine Änderung an der Ansicht der neuen Datenbank nehmen wir noch vor, bevor wir mit der eigentlichen Arbeit beginnen: Zu diesem Zweck klicken wir auf Datei|Optionen|Aktuelle Datenbank. In der sich öffnenden Umgebung wählen wir „Überlappende Fenster“:

und bestätigen die Eingabe. Sodann bekommen wir die Meldung, dass die Datenbank geschlossen werden muss, bevor die Änderungen wirksam werden. Wie schließen die Datenbank (Datei|Schließen) und öffnen sie erneut.
Jetzt gilt es, die Informationen des relationalen Datenbankmodells mit Hilfe von MS Access umzusetzen. Dazu werden zunächst die Tabellen mit ihren Attributen definiert. Für jedes Merkmal wird ein Felddatentyp festgelegt.Hierbei ist es hilfreich, dass wir uns zunächst mit den wichtigsten Felddatentypen auseinander setzen, welche MS Access bereit hält. MS Access kennt unter anderem folgende Felddatentypen:
| Felddatentyp | Inhalt |
| Kurzer Text | Maximal 255 Zeichen können eingegeben werden. |
| Langer Text (Memo) |
Bis zu etwa 32.000 Zeichen können abgespeichert werden. |
| Zahl |
Möchte man mit den Feldern rechnen, so muss der Felddatentyp Zahl gewählt werden. |
| Datum/Uhrzeit | Für Datumseingaben mit und ohne Uhrzeit geeignet. |
| Währung |
Auch mit diesem Felddatentyp können Berechnungen vorgenommen werden. Außerdem wird ein Währungskürzel angezeigt. |
| Autowert | Das System vergibt automatisch eine eindeutige, fortlaufende Zahl. |
| Ja/Nein |
Hier können nur Wahrheitswerte eingetragen werden, also z.B. Großhändler: Ja/Nein |
Wir nehmen uns als erste anzulegende Tabelle „tbl_schüler“ vor. Zunächst legen wir die neue Tabelle in der sog. Entwurfsansicht an, um hier die Namen als auch den jeweiligen Datentyp der Felder zu bestimmen:
- schüler_id; Autowert (mit dem Schlüsselsymbol bestimmen wir das Feld auch gleich als Schlüsselattribut);
- (schüler-) name; Kurzer Text;
- (schüler-) vorname; Kurzer Text;
- Straße; Kurzer Text;
- Hausnummer; Kurzer Text (der Felddatentyp „Zahl“ würde verhindern, dass Hausnummer mit Buchstaben, wie z.B. 28a eingegeben werden können);
- plz_nr; Zahl; (Der Felddatentyp ist erforderlich, um einen numerischen Wert aus dem Feld plz_id der Tabelle tbl_plz aufnehmen zu können.)
- geburtsdatum; Kurzer Text; (Nach der erfolgten Festlegung können wir im unteren Bereich des Dialogfeldes unter Allgemein|Eingabeformat festlegen, dass das Geburtsdatum im Format tt.mm.jjjj eingegeben werden muss, um damit die Wertebereichsbedingung für dieses Feld festzulegen.)
- geschlecht; kurzer Text im Nachschlageassistenten legen wir die beiden Eingabemöglichkeiten „m“ für männlich und „w“ für weiblich fest;
- klassen_nr, Zahl (Begründung: siehe „plz_nr“);
Die Tabelle tbl_schüler sieht in der Entwurfsansicht nun folgendermaßen aus:

Nachdem wir jetzt gemeinsam die erste Tabelle unserer Schuldatenbank erstellt haben, versuchen Sie bitte, die übrigen Tabellen in der kennengelernten Vorgehensweise zu erstellen. Die Lösungen können Sie sich nach getaner Arbeit in der nächsten Abbildung ansehen:

Sicher haben Sie die einzelnen Tabellen in der korrekten Form schnell erstellt.
Wie wir ganz zu Beginn des Schuljahres bereits festgestellt haben, macht es wenig bis keinen Sinn, wenn die Tabellen einer relationalen Datenbank keinerlei Verbindungen zueinander haben bzw. in keinerlei Beziehung zueinander stehen. Diese Beziehungen wollen wir in einem nächsten Schritt erstellen:
Hierzu wählen wir unter dem Menüpunkt „Datenbanktools“ die „Beziehungen“ aus. Es öffnet sich ein leeres Feld, in welches wir jetzt die erstellten Tabellen einfügen werden: Das kann dadurch erfolgen, dass wir die Tabellen mit Drag and Drop aus der Objektspalte auf der linken Programmseite in das Feld ziehen. Oder wir klicken auf das Symbol mit dem grünen Kreuz, womit uns in einem Dialogfeld alle zur Verfügung stehenden Tabelle angezeigt werden, welche jetzt ausgewählt werden können. Sollten wir versehentlich eine Tabelle zwei- oder mehrmals eingefügt haben, so wird diese mit dem Zusatz „_1“ angezeigt und kann mit Rechtsklick und „Tabelle ausblenden“ wieder entfernt werden.
Nachdem wir alle Tabellen in das Fenster „Beziehungen“ eingefügt haben, bietet sich uns folgendes Bild (oder so ähnlich):

Zunächst verbinden wie die Tabellen tbl_schüler und tbl_klasse, indem wir mit der Maus auf die klassen_id klicken und diese mit gedrückter Maustaste auf die klassen_nr ziehen (Das ist auch in umgekehrter Richtung möglich.)
Es öffnet sich ein Dialogfenster, welches uns die zu verbindenden Attribute mit Nennung der Tabellen zeigt. Wir aktivieren alle Kontrollkästchen und bestätigen unsere Auswahl mit „Erstellen“. Das Dialogfenster schließt sich. Jetzt werden uns an der neu erstellten Beziehung auch die Kardinalitäten angezeigt. Einziger Unterschied: MS Access unterscheidet nicht zwischen „n“ und „m“. Stattdessen verwendet es das Symbol für unendlich: „∞“.
Die drei aktivierten Kästchen haben folgende Bedeutungen:
- mit referentieller Integrität (siehe strukturelle Integritätsbedingungen)
- Aktualisierungsweitergabe an verwandte Felder: sollte z.B. die ID in einer Tabelle geändert werden, so wird sie in den mit ihr verbundenen Fremdschlüsseln aktualisiert.
- Löschweitergabe an verwandte Felder: Wenn eine Löschabfrage z.B. einen Artikel löscht, so wird dieser in betreffenden Aufträgen gelöscht.
Verbinden Sie jetzt die übrigen Tabellen miteinander. Das Ergebnis sollte wie folgt aussehen:

Mit der Erstellung der Tabellen sowie der Beziehungen unter ihnen ist die unterste Schicht unserer Datenbank fertig. Sie wird Datenhaltungsschicht oder auch Persistenzschicht genannt und beinhaltet neben den Daten in den Tabellen auch die Struktur der Datenbank.
Im nächsten Schritt wollen wir die zweite von insgesamt drei Datenbankschichten hinzufügen:
Zu jeder Tabelle soll mittels des in MS Access vorhandenen Abfrageassistenten jetzt eine Abfrage generiert werden. Zu diesem Zweck rufen wir in der Registerkarte „Erstellen“ den Abfrageassistenten auf. Im sich öffnenden Dialogfenster wählen wir zunächst die Auswahlabfrage als Abfrageform. Danach können wir nach und nach alle Tabellen der Datenbank auswählen, für die wir die Abfragen erstellen wollen. Die jeweilige Abfrage enthält den Namen der zugehörigen Tabelle, jedoch tauschen wir das Präfix tbl gegen qry aus. So wird die Abfrage zu tbl_klasse qry_klasse heißen.
Das Ergebnis können wir im Explorer von MS Access wie folgt erkennen:

Die zweite Schicht der Datenbank „Schule“ ist nun fertig. Diese wird Fachkonzeptschicht genannt, und ist eine Kopie der Persistenzschicht, mit dem Unterschied, dass sie keinerlei Struktur enthält. Innerhalb der Fachkonzeptschicht werden vielmehr die Zugriffsrechte auf die Daten geregelt, welche die einzelnen Benutzer erhalten.
Die dritte Schicht des 3-Schichten-Modells wird durch die Benutzeroberfläche repräsentiert, welche sich in MS Access aus der Gesamtheit der Formulare einer Datenbank zusammensetzt. Diese werden wir in einem der folgenden Kapitel kennen lernen.