Formulare [basics]: Beispiel Bücherverwaltung

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Für die neue Artikelreihe Formulare [basics] wollen wir zuvor eine passende Beispieldatenbank erstellen. Mit dieser wollen wir Bücher verwalten. Dieser Artikel zeigt, welche Tabellen wir in einer Bücherverwaltung benötigen und welche Daten diese Tabellen aufnehmen. Wir zeigen, wie Du die Tabellen erstellst und wie diese Tabellen miteinander verknüpft sind. Wichtig ist, dass wir alle Verknüpfungstypen abdecken, damit wir Beispiele für die Darstellungsarten für die verschiedenen Konstellationen haben – und wir wollen auch alle Felddatentypen vorhalten, um alle möglichen Such- und Filtermöglichkeiten programmieren zu können.

Beispieldatenbank

Die Beispiele dieses Artikels findest Du in der Datenbank FormulareBasics_BeispielBuecherverwaltung.accdb.

Tabellen einer Bücherverwaltung

Für eine Bücherverwaltung benötigt man in der Regel folgende Tabellen:

  • Bücher: Diese Tabelle enthält alle Informationen zu den Büchern wie Titel, Autor, ISBN-Nummer, Verlag, Erscheinungsjahr, Genre, Anzahl der Seiten, Erscheinungsland und so weiter.
  • Ausleihe: Diese Tabelle enthält Informationen darüber, wer das Buch ausgeliehen hat, wann es ausgeliehen wurde und wann es zurückgegeben werden soll. Zusätzlich können noch Spalten für die Ausleihdauer und eventuelle Strafen hinzugefügt werden.
  • Leser: Diese Tabelle enthält Informationen über die Kunden, die die Bücher ausleihen. Dazu gehören Name, Adresse, Telefonnummer und E-Mail-Adresse.
  • Autoren: Diese Tabelle enthält Informationen über die Autoren, die die Bücher geschrieben haben. Dazu gehören Name, Geburtsdatum, Nationalität, Bibliographie und gegebenenfalls weitere Informationen.
  • Verlage: Diese Tabelle enthält Informationen über die Verlage, bei denen die Bücher veröffentlicht wurden. Dazu gehören Name, Adresse, Telefonnummer, E-Mail-Adresse und weitere Informationen.
  • Kategorien: Diese Tabelle enthält Informationen über die Kategorien, in die die Bücher eingeteilt werden können. Dazu gehören Name, Beschreibung und eventuell weitere Informationen (zum Beispiel Sachbuch, Belletristik et cetera).
  • Genre: Genre des Buchs, also beispielsweise Krimi, Horror, Liebe, …
  • Länder: Länder für verschiedene Elemente wie Nationalität von Autoren oder Erscheinungsland von Büchern.
  • Daneben gibt es noch Verknüpfungstabellen, die dafür sorgen, dass ein oder mehrere Datensätze der einen Tabelle mit einem oder mehreren Datensätzen der anderen Tabelle verknüpft werden können. Diese verknüpfen beispielsweise die Tabellen mit den Büchern und den Autoren und die mit den Büchern und Genres. Außerdem ist prinzipiell auch die Tabelle mit den Ausleihen eine solche Verknüpfungstabelle, wenn auch mit weiteren Daten als nur den reinen Verknüpfungsdaten. Mehr dazu weiter unten!

Damit haben wir genügend Material, mit denen wir die Formulare dieser Artikelreihe bestücken können. Wir haben Tabellen, die nicht über Fremdschlüsselfelder mit anderen Tabellen verknüpft sind und die wir in einem einfachen Formular abbilden können, das nur an diese Tabelle gebunden ist. Wir haben 1:n-Beziehungen dabei, wo Daten über ein Nachschlagefeld ausgewählt werden (Lookupbeziehung, Bücher und Genre) und wir haben 1:n-Beziehungen, wo wir die Daten über ein Unterformular zu denen im Hauptformular zuordnen können (beispielsweise Verlage und Bücher).

Und wir haben eine m:n-Beziehung zwischen den beiden Tabellen mit den Büchern und Kategorien, damit wir jedem Buch eine oder mehrere Kategorien zuweisen können, das Gleiche können wir noch mit Autoren und Büchern erledigen.

Reihenfolge beim Erstellen des Datenmodells

Wenn wir ein Datenmodell erstellen, starten wir am einfachsten mit den Tabellen, die keine Fremdschlüsselfelder zur Verknüpfung mit den Daten anderer Tabellen enthalten. Erst danach legen wir die Tabellen an, die über Fremdschlüsselfelder mit den zuerst angelegten Tabellen verknüpft sind. Der Hintergrund ist, dass wir dann die Fremdschlüsselfelder direkt mit dem Nachschlage-Assistenten hinzufügen können und nicht mit der Erstellung zweiter Tabellen gleichzeitig beschäftigt sind.

Am Besten beginnt man mit den sogenannten Lookup-Tabellen, die meist lediglich ein Primärschlüsselfeld sowie eine Bezeichnung enthalten. In diesem Fall finden wir mit der Tabelle tblLaender ein passendes Exemplar.

Die Tabelle tblLaender

Die Tabelle tblLaender enthält drei Felder: Das Primärschlüsselfeld LandID, das Feld mit der Bezeichnung des Landes namens Land sowie ein Feld namens Nationalität. Für das Primärschlüsselfeld legen wir den Datentyp Autowert fest. Für das Feld Land definieren wir einen eindeutigen Index, damit jedes Land nur einmal eingegeben werden kann (siehe Bild 1).

Tabelle zum Speichern der Länder

Bild 1: Tabelle zum Speichern der Länder

Diese Tabelle dient später als Nachschlagetabelle gleich für zwei weitere Tabellen. In der Tabelle tblBuecher wird es für die Auswahl des Erscheinungslands verwendet, in der Tabelle tblAutoren für die Nationalität des jeweiligen Autors.

Die Tabelle tblKategorien

Ähnlich aufgebaut wie die Tabelle tblLaender ist die Tabelle tblKategorien. Sie enthält ebenfalls nur ein Primärschlüsselfeld namens KategorieID sowie ein Feld zur Eingabe der jeweiligen Bezeichnung mit dem Datentyp Kurzer Text.

Auch für dieses Feld legen wir einen eindeutigen Index fest, damit jede Kategorie nur einmal vorkommt (siehe Bild 2).

Tabelle zum Speichern der Kategorien

Bild 2: Tabelle zum Speichern der Kategorien

Die Tabelle tblGenres

Und mit der Tabelle tblGenres erhalten wir die dritte Tabelle, die als Nachschlagetabelle dient (siehe Bild 3). Neben dem Primärschüsselfeld GenreID enthält die Tabelle das mit einem eindeutigen Index versehene Feld Genre.

Tabelle zum Speichern der Genres

Bild 3: Tabelle zum Speichern der Genres

Die Tabelle tblRollen

Mit dieser Tabelle wollen wir die verschiedenen Rollen festhalten, die Autoren eines Buchs einnehmen können – zum Beispiel Hauptautor, Co-Autor et cetera.

Die Tabelle tblLeser

Wir wollen in unserer Bücherverwaltung auch festhalten, wem wir ein Buch aus unserer Sammlung geliehen haben. Die entsprechende Tabelle heißt tblLeser und sieht in der Entwurfsansicht wie in Bild 4 aus.

Tabelle zum Speichern der Leser

Bild 4: Tabelle zum Speichern der Leser

Diese Tabelle enthält neben dem Primärschlüsselfeld LeserID die Textfelder Vorname, Nachname, Telefon und EMail sowie ein Datumsfeld namens Geburtsdatum.

Die Tabelle tblVerlage

Danach folgt die Tabelle tblVerlage. Diese hat bereits ein Fremdschlüsselfeld, nämlich zur Auswahl des Landes des Verlags. Gleichzeitig wird sie über ihr Primärschlüsselfeld mit dem Fremdschlüsselfeld einer noch zu erstellenden Tabelle namens tblBuecher verknüpft. Die Tabelle enthält die Felder VerlagID, Verlag, Strasse, PLZ, Ort, LandID und EMail. Für das Feld VerlagID hinterlegen wir den Datentyp Autowert und legen es als Primärschlüsselfeld der Tabelle fest. Für das Feld Verlag definieren wir durch Einstellen der Eigenschaft Indiziert auf den Wert Ja (Ohne Duplikate) einen eindeutigen Index. Dadurch stellen wir sicher, dass kein Verlagsname doppelt eingetragen wird, was später zu Duplikaten und Inkonsistenzen führen könnte. Die übrigen Felder definieren wir fast alle mit dem Datentyp Kurzer Text. Die Ausnahme ist das Feld LandID. Für dieses wählen wir den Datentyp Nachschlage-Assistent aus. Hier wählen wir im ersten Schritt die Tabelle tblLaender aus. Im zweiten Schritt selektieren wir die Felder LandID und Land (siehe Bild 5).

Hinzufügen der Felder für das Nachschlagefeld

Bild 5: Hinzufügen der Felder für das Nachschlagefeld

Danach stellen wir noch eine aufsteigende Sortierung für das Feld Land ein und aktivieren im letzten Schritt die Eigenschaft Datenintegrität aktivieren, damit referenzielle Integrität für die Beziehung festgelegt wird. Anschließend sieht die Tabelle im Entwurf wie in Bild 6 aus. Hier haben wir die Registerseite Nachschlagen der Eigenschaften für das Feld LandID aktiviert, damit man erkennen kann, welche Änderungen durch das Anwenden des Nachschlage-Assistenten erfolgt sind. Hier wurden sämtliche für das Nachschlagefeld relevanten Daten definiert.

Tabelle zum Speichern der Verlage

Bild 6: Tabelle zum Speichern der Verlage

Die Tabelle tblAutoren

Die Tabelle tblAutoren ist die zweite Tabelle, welche ein Nachschlagefeld zum Auswählen von Daten aus der Tabelle tblLaender enthält. Daneben enthält die Tabelle die Felder AutorID als Primärschlüsselfeld, zwei Textfelder für Vorname und Nachname sowie ein Datumsfeld namens Geburtsdatum.

Das Feld, welches wir mit der Tabelle tblLaender verknüpfen wollen, heißt nun allerdings nicht LandID, sondern NationalitaetID und wir wollen aus der Tabelle tblLaender nicht die Werte des Feldes Land, sondern Nationalitaet zur Auswahl anbieten. Deshalb fügen wir im entsprechenden Schritt des Nachschlage-Assistenten auch das Feld Nationalitaet als zweites Feld neben LandID hinzu und nicht Land (siehe Bild 7).

Nachschlage-Assistent, diesmal für die Nationalität

Bild 7: Nachschlage-Assistent, diesmal für die Nationalität

Die Tabelle tblAutoren gestalten wir in der Entwurfsansicht wie in Bild 8.

Tabelle zum Speichern der Autoren

Bild 8: Tabelle zum Speichern der Autoren

Die Tabelle tblBuecher

Eine der wichtigsten Tabellen ist die zum Speichern der Bücher und ihrer Informationen. Diese sieht in der Entwurfsansicht wie in Bild 9 aus.

Tabelle zum Speichern der Bücher

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar