Geräteeinweisungen verwalten 1: Datenmodell

Die Einweisung in Geräte für verschiedene Mitarbeiter ist ein tolles Beispiel für eine m:n-Beziehung. Wir werden uns in diesem Artikel ansehen, wie das Datenmodell für die m:n-Beziehung aufgebaut wird, wie Sie das Formular zur Verwaltung der Einweisungen gestalten und wie Sie mit Berichten verschiedene Listen ausgeben können – zum Beispiel, welcher Mitarbeiter welche Einweisungen erhalten hat oder für welches Gerät welcher Mitarbeiter geschult wurde. Im ersten Teil schauen wir uns das überschaubare Datenmodell für diese Lösung an.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 2103_GeraeteeinweisungenVerwalten.accdb.

Tabelle tblMitarbeiter entwerfen

Die Tabelle tblMitarbeiter soll zu Beispielzwecken lediglich die grundlegenden Daten eines Mitarbeiters aufnehmen. Dazu gehören neben dem Primärschlüsselfeld MitarbeiterID noch die beiden Felder Vorname und Nachname (siehe Bild 1).

Entwurf der Tabelle tblMitarbeiter

Bild 1: Entwurf der Tabelle tblMitarbeiter

Tabelle tblGeraete entwerfen

Die Tabelle tblGeraete zum Speichern der Geräte fällt noch einfacher aus, denn hier fügen wir neben dem Primärschlüsselfeld GeraetID nur noch das Feld Geraet hinzu, das die Bezeichnung des Geräts aufnehmen soll (siehe Bild 2).

Entwurf der Tabelle tblGeraete

Bild 2: Entwurf der Tabelle tblGeraete

Tabelle tblGeraeteeinweisungen entwerfen

Damit kommen wir bereits zum aufwendigsten Teil des Datenmodells für unsere Beispieldatenbank – die Verknüpfungstabelle, mit der wir die m:n-Beziehung definieren wollen. Diese soll nicht nur die Beziehung definieren, sondern auch noch weitere Informationen speichern. Im einfachsten Fall ist dies schlicht das Datum, an dem der Mitarbeiter die Schulung für das Gerät durchgeführt hat. Also legen wir die Verknüpfungstabelle an, die wir der gängigen Logig nach tblMitarbeiterGeraete mit einem Primärschlüsselfeld namens MitarbeiterGeraet-ID benennen würden.

Hier ist es allerdings wie bei Bestellungen und Bestelldetails so, dass es einen besseren Begriff für die Bezeichnung der Tabelle gibt – nämlich tblGeraeteeinweisungen. Das Primärschlüsselfeld heißt dann GeraeteeinweisungID.

Außerdem fügen wir zwei Fremdschlüsselfelder namens Mitarbei-terID und GeraetID hinzu. Diese dienen dazu, jeweils einen Datensatz der Tabelle tblMitarbeiter mit einem Datensatz der Tabelle tblGeraete zu verbinden. Die Felder legen wir zunächst als Zahlenfelder an.

Schließlich erstellen wir noch ein Feld namens Einweisungsdatum mit dem Datentyp Datum/Uhrzeit.

Der Zwischenstand sieht nun wie in Bild 3 aus.

Entwurf der Tabelle tblGeraeteeinweisungen

Bild 3: Entwurf der Tabelle tblGeraeteeinweisungen

Eindeutigen zusammengesetzten Index hinzufügen

Bevor wir nun die Nachschlagefelder für die Fremdschlüsselfelder definieren, müssen wir noch über zusammengesetzte eindeutige Schlüssel reden. In vielen Fällen, wie beispielsweise auch bei Bestellpositionen, soll ein eindeutiger Index für die Kombination für die beiden beteiligten Fremdschlüsselfelder definiert werden. Auf diese Weise stellen wir sicher, dass jeder Artikel jeder Bestellung nur einmal hinzugefügt wird. Die Menge des Artikels regelt man dann über ein entsprechendes Feld namens Menge.

Wenn wir dies für unsere Tabelle für die beiden Felder MitarbeiterID und GeraetID umsetzen, dann können wir für jede Kombination aus Mitarbeiter und Gerät nur jeweils eine Einweisung hinterlegen. Es gibt aber sicher auch Einweisungen, die nach einer bestimmten Zeit aufgefrischt werden müssen. Dies wird aber sicher nicht direkt am gleichen Tag erfolgen. Also könnten wir einen eindeutigen Index für die drei Felder MitarbeiterID, GeraetID und Einweisungsdatum festlegen.

Um diesen Index zu erstellen, klicken Sie im Ribbon auf den Eintrag Entwurf|Einblenden/Ausblenden|Indizes. Dies öffnet den Dialog Indizes: tblGeraeteeinweisungen. Hier entfernen Sie alle Einträge mit Ausnahme des Eintrags für das Primärschlüsselfeld GeraeteeinweisungID. Dann fügen Sie einen neuen Eintrag hinzu, den Sie UniqueKey nennen. In der gleichen Zeile wählen Sie unter Feldname das Feld MitarbeiterID aus. In der Zeile darunter stellen Sie den Wert der Spalte Feldname auf GeraetID ein, die Spalte Indexname bleibt für diese Zeile leer. Das Gleiche erledigen Sie für die folgende Zeile, wo wir lediglich das Feld Einweisungsdatum in der Spalte Feldname eintragen. Schließlich stellen Sie für die Zeile mit dem Wert UniqueKey in der Spalte Indexname die Eigenschaft Eindeutig auf den Wert Ja ein. Das Ergebnis erscheint dann wie in Bild 4.

Hinzufügen eines eindeutigen Indexes

Bild 4: Hinzufügen eines eindeutigen Indexes

Beziehungen und/oder Nachschlagefelder

Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
Hier geht es zur Bestellung des Jahresabonnements des Magazins Access [basics]:
Zur Bestellung ...
Danach greifen Sie sofort auf alle rund 400 Artikel unseres Angebots zu - auch auf diesen hier!
Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar