8.2 Anlegen einer Datenbank in Microsoft Access
Bei Microsoft Access handelt es sich um ein Datenbanksystem als Bestandteil bestimmter Versionen von Microsoft Office.
Falls Sie noch nicht mit Access gearbeitet haben, lernen Sie in diesem Abschnitt, wie Sie Datenbanken mit Access in der Version 2010 anlegen, z. B. die in den weiteren Abschnitten benutzte Datenbank firma. Anderenfalls können Sie diese Beispiel-Datenbank direkt vom beiliegenden Datenträger kopieren und gleich zum Abschnitt 8.3 übergehen.
Es gibt noch weitere Möglichkeiten, Datenbanken zu erstellen, z. B. mit Hilfe des MySQL-Datenbankservers.
Daten können aus anderen Anwendungen leicht nach Access importiert werden bzw. aus Access exportiert werden. Außerdem können Bedienung und Darstellung der internen Strukturen einer Datenbank durch Grafik und Maus vereinfacht werden.
8.2.1 Aufbau von Access
Im Datenbanksystem Access wird mit Objekten gearbeitet. Neben den Datenbeständen, die in Tabellen organisiert sind, können in einer Access-Datenbank weitere Objekte gespeichert werden, die den Zugriff auf die Daten und die Darstellung der Daten regeln. Dies sind u. a. Abfragen, Berichte und Formulare.
Jedes dieser Elemente ist für Access ein Objekt, das einen eigenen Namen erhält und bestimmte Eigenschaften hat, die Sie einstellen können. Komplexe Objekte wie Formulare enthalten ihrerseits benannte Objekte mit einstellbaren Eigenschaften, z. B. Eingabefelder. Auf jedes Objekt kann durch seinen Namen Bezug genommen werden.
Alle Objekte einer Datenbank werden zusammen in einer Datei gespeichert, sodass Sie beim Öffnen einer Datenbankdatei sicher sein können, alle benötigten Elemente verfügbar zu haben.
Tabellen
Die Grundlage einer Access-Datenbank sind die Tabellen, in denen der Datenbestand gespeichert wird. Wie viele Tabellen eine Datenbank umfasst und in welcher Weise die Tabellen verknüpft werden, hängt von der speziellen Aufgabenstellung der Datenbank ab. Tabellen sind in Zeilen und Spalten organisiert. Jede Zeile stellt einen Datensatz dar, jede Spalte ein Feld.
Abfragen
Während die Gesamtheit der Tabellen in den Daten gespeichert ist, können Sie mit Abfragen die jeweils gewünschten Teilinformationen abrufen. Das Ergebnis einer Abfrage wird Dynaset genannt und ebenfalls in Tabellenform dargestellt. Sie können beliebig viele Abfragen zusammen mit der Datenbank speichern. Wenn Sie eine Abfrage verwenden, wird das entsprechende Dynaset gemäß der gespeicherten Abfragevorschrift jedes Mal neu erzeugt.
Formulare
Für die Bildschirmdarstellung der Daten können Formulare erstellt werden, die den früher verwendeten Papierformularen entsprechen. Zum Eingeben und Ändern der Daten bieten Formulare eine gute Benutzerführung, aber auch wenn es um die übersichtliche Darstellung von Abfrageergebnissen geht, sollten Sie Formulare verwenden.
Der Formularassistent führt den Anwender bei der Erstellung eines Formulars und hält Standardmaskenformate bereit. Sie können aber auch selbst die Anordnung, Gestaltung und Auswertung bestimmen.
Berichte
Mit Berichten können Sie nicht nur die Druckausgabe gestalten, sondern Sie können auch gruppenweise Daten zusammenfassen und statistische sowie grafische Auswertungen durchführen. Als Basis können Sie eine Tabelle oder Abfrage verwenden.
Auch bei der Berichtserstellung können Sie sich von einem Assistenten unterstützen lassen. Sie können natürlich auch einen eigenen Berichtsentwurf anlegen oder das vom Berichtsassistenten erzeugte Berichtsformat individuell umgestalten.
8.2.2 Datenbank-Entwurf in Access 2010
Jeder Einzelinformation, die zum selben Tabellenthema gehört, entspricht ein eigenes Feld. Dagegen sollten Sie für Informationen, die sich ableiten oder berechnen lassen, keine Tabellenfelder vorsehen. Diese Informationen werden mit Abfragen erzeugt und stets mit den aktuellen Daten aus der Tabelle berechnet, wenn Sie die Abfrage aufrufen.
Erstellung von Tabellen, Indizes und Relationen
Die beschriebenen Bestandteile einer Datenbank werden nun anhand von eigenen Datenbanken bearbeitet. Geben Sie das Beispiel mit den drei Tabellen aus Abschnitt 8.1 ein. Die Datenbank erhält den Namen lager. Im Folgenden sind die Entwürfe der drei Tabellen und diejenigen Indizes aufgeführt, die in jedem Fall benötigt werden.
- Rufen Sie Access 2010 auf.
- Wählen Sie über das Menü Datei • Neu die Einstellung Leere Datenbank aus.
- Wählen Sie den gewünschten Dateinamen und das Verzeichnis aus bzw. geben Sie beides ein. In diesem Fall ist dies C:\Temp\lager.accdb, die Endung .accdb wird von Access 2010 ergänzt, siehe Abbildung 8.3.
Abbildung 8.3 Erstellung der Datenbank
Hinweis: Access 2007 verwendet dasselbe Datenbank-Format wie Access 2010. Sie können mit Access 2010 aber auch Datenbanken mit der Endung .mdb für noch ältere Access-Versionen anlegen und bearbeiten.
- Nach Betätigung des Buttons Erstellen erscheint die leere Datenbank mit einem Fenster für Tabelle1. Sie könnten hier direkt die Daten der Tabelle1 eingeben. Allerdings soll zunächst eine Tabellenstruktur erzeugt werden. Daher wird das Fenster von Tabelle1 geschlossen, ohne zu speichern.
- Über den Menüpunkt Erstellen • Tabellenentwurf gelangen Sie zur Entwurfsansicht für die erste neue Tabelle. Hier werden die Daten wie in Abbildung 8.4 eingegeben.
Abbildung 8.4 Entwurf der ersten Tabelle
- Nun schließen Sie das Tabellenfenster. Da Sie noch nicht gespeichert haben, werden Sie gefragt, ob Sie speichern möchten. Nach Betätigung des Buttons Ja können Sie den Namen der Tabelle (art_einzel) eingeben.
- Sie werden darauf aufmerksam gemacht, dass die Tabelle über keinen Primärschlüssel verfügt und gefragt, ob Sie einen solchen erstellen möchten. Nach Betätigung des Buttons Nein erscheint die neue Tabelle im Datenbankfenster, siehe Abbildung 8.5.
Abbildung 8.5 Neue Tabelle »art_einzel«
- Im Kontextmenü der neuen Tabelle könnten Sie über den Menüpunkt Entwurfsansicht wiederum in die entsprechende Ansicht gelangen, um die Struktur zu verändern.
- Wählen Sie im Kontextmenü den Menüpunkt Öffnen oder führen Sie einen Doppelklick auf der Tabelle aus, so gelangen Sie zur Datenblattansicht und können Daten in die Tabelle eingeben.
- Wiederum über den Menüpunkt Erstellen • Tabellenentwurf gelangen Sie zur Entwurfsansicht für die nächste Tabelle. Hier geben Sie die Daten wie in Abbildung 8.6 ein.
- Zum Erstellen eines Primärschlüssels wählen Sie die betreffende Zeile aus (artnr) und klicken Sie auf das Symbol Primärschlüssel. Anschließend ist der Primärschlüssel zu sehen, ebenfalls in Abbildung 8.6.
Abbildung 8.6 Neue Tabelle mit Primärschlüssel
- Diese Tabelle wird unter dem Namen art_gesamt gespeichert.
- Die dritte Tabelle (lieferanten) wird ebenso eingegeben und gespeichert, dabei wird der Primärschlüssel auf das Feld lnr gesetzt, siehe Abbildung 8.7.
Abbildung 8.7 Dritte Tabelle, mit Primärschlüssel
Herstellen der Relationen zwischen den Tabellen
Die folgenden beiden Relationen werden benötigt:
- Tabelle art_gesamt, Feld artnr (1-Seite) zu Tabelle art_einzel, Feld artnr (n-Seite), mit referentieller Integrität, ohne Aktualisierungsweitergabe, ohne Löschweitergabe.
- Tabelle lieferanten, Feld lnr (1-Seite) zu Tabelle art_einzel, Feld lnr (n-Seite), mit referentieller Integrität, ohne Aktualisierungsweitergabe, ohne Löschweitergabe.
- Wählen Sie (bei geschlossenen Tabellen und Tabellenentwürfen) den Menüpunkt Datenbanktools • Beziehungen. In dem darauf erscheinenden Dialogfenster markieren Sie alle drei Tabellen mithilfe der -Taste.
- Betätigen Sie nacheinander die Buttons Hinzufügen und Schliessen. Nun sind alle drei Tabellen im Beziehungsfenster zu sehen. Die Tabellen können leicht mit der Maus verschoben werden.
- Für jede Relation werden die beiden Felder, zwischen denen die Relation erstellt werden soll, mithilfe der Maus wie folgt miteinander verbunden: Sie betätigen auf einem der beiden Felder die linke Maustaste, halten sie gedrückt, gehen zum anderen Feld (in der anderen Tabelle) und lassen die Maustaste dort wieder los.
- Führen Sie dies für die beiden Felder lnr durch, so erscheint das Dialogfeld in Abbildung 8.8.
- Hier sollten Sie Mit referentieller Integrität auswählen (Erklärung weiter unten) und anschließend den Button Erstellen betätigen.
Abbildung 8.8 Erstellung einer Beziehung
- Zwischen den ausgewählten Feldern erscheint eine Linie, die die 1:n Relation darstellt (sofern die Felder auf beiden Seiten der Relation den gleichen Datentyp haben und auf einem der beiden Felder ein Primärindex liegt).
- Die zweite Relation kann auf die gleiche Art erstellt werden, sodass sich Abbildung 8.2 ergibt.
Referentielle Integrität
Sie können bei der Herstellung von Relationen auswählen, ob die Regeln der referentiellen Integrität eingehalten werden sollen. Wenn Sie beim Aktualisieren oder Löschen von Daten in einer der beiden Tabellen gegen diese Regeln verstoßen, zeigt Access eine Meldung an und lässt diese Änderung nicht zu. Regelverstöße wären zum Beispiel:
- das Hinzufügen von Datensätzen in einer Detailtabelle, für die kein Primärdatensatz vorhanden ist
- Änderungen von Werten in einer Mastertabelle, die verwaiste Datensätze in einer Detailtabelle zur Folge hätten
- das Löschen von Datensätzen in einer Mastertabelle, wenn übereinstimmende verknüpfte Datensätze vorhanden sind
Die Option Mit referentieller Integrität dient der Datensicherheit und der Fehlerverminderung bei der Eingabe von Daten und der Aktualisierung von Datenbanken. Sie können diese Option nur unter folgenden Voraussetzungen auswählen:
- Das Feld der Mastertabelle hat einen Primärindex oder zumindest einen eindeutigen Index.
- Das Detailfeld weist denselben Datentyp auf.
- Beide Tabellen sind in derselben Access-Datenbank gespeichert.
8.2.3 Übungen
Erzeugen Sie aus den beiden Modellen des vorherigen Abschnitts (Projektverwaltung, Mietwagen) jeweils eine eigene, relationale Datenbank in Access. Erstellen Sie Tabellen, Indizes und Relationen. Tragen Sie einige geeignete Beispieldaten ein. Achten Sie dabei darauf, dass zuerst Daten auf der Master-Seite einer Beziehung eingetragen werden müssen, bevor Daten auf der Detail-Seite einer Beziehung eingetragen werden können.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.