Datenbank mit Access
Erstellen einer neuen Datenbank

Wir entwickeln eine Datenbank mit persönlichen Daten von Verkehrssündern und Angaben über ihre Strafen. Die Grundlage der Datenbank sind durch ein Schlüsselfeld miteinander verknüpfte Tabellen.

Persönliche Daten und Strafen werden in getrennten Tabellen gespeichert, die durch eine Personenkennziffer verknüpft werden. Die Trennung ist angebracht, weil Daten, die jeder Person nur einmal zugeordnet sind, nur einmal gespeichert werden sollen. Daten, die sich auf die Person beziehen, werden deshalb in der "Sündertabelle" erfasst.

Andererseits kann man Strafen nicht bei den Personen speichern, weil jede Person mehrere Strafen haben kann. Für Daten, die sich auf eine spezielle Strafe beziehen, steht deshalb die "Strafentabelle" zur Verfügung. Zwischen den Tabellen besteht demnach eine 1:n-Beziehung.

1. Wir erstellen eine neue Datenbank:

Nach dem Start von Access ist im Menu "Datei" den Punkt "Neue Datenbank anlegen" zu wählen. Gib danach zunächst den Namen "verkehr.mdb" als Dateiname an und speichere in Deinem Arbeitsverzeichnis. Danach erscheint dieses Fenster, das die - noch nicht vorhandenen - Bestandteile der Datenbank anzeigt:
Bild: Bestandteile

2. Wir erzeugen eine Tabelle mit Verkehrssündern:

- Wähle das Registerblatt "Tabellen" und klicke auf "Neu". Im folgenden Fenster kann man die Felder einer Tabelle mitsamt ihren Eigenschaften definieren.
- Jedes Feld hat einen Namen und einen Datentyp. Die Beschreibung dient als Kommentar, der anzeigt, welche Inhalte das Feld aufnehmen soll.
Das Feld "ID" dient der Numerierung der Datensätze durch Access und braucht nicht - wie im folgenden Bild - umbenannt zu werden. Wir werden es nicht weiter benutzen.
Sündertabelle: Entwurf

3. Felder und ihre Eigenschaften:

- Feldname und Felddatentyp sollten genau wie im obigen Bild dargestellt eingegeben werden.
- Die Felddatentypen werden nicht eingetippt, sondern aus einer Liste ausgewählt. Klicke zuerst mit der Maus ins Eingabefeld, dann auf den kleinen Keil, der am rechten Feldrand angezeigt wird. Markiere dann in der Liste, die aufgeklappt wird, das Gewünschte.
- Zu jedem Feld lassen sich noch Feldeigenschaften angeben, die zum Beispiel beim Feld "Nr" so aussehen sollten:
Eigenschaften

4. Setzen des Primärschlüssels und Indizieren von Feldern:

- Felder, die häufig nach bestimmten Merkmalen durchsucht werden, sollten indiziert werden, weil das Suchen in indizierten Feldern schneller abläuft.
- Für indizierte Felder wird eine spezielle Tabelle erstellt, die mit Hilfe des Indexbegriffs das schnelle Auffinden eines Datensatzes erlaubt. Für die Erstellung des Index ist es wichtig, ob der Inhalt des Indexfeldes den Datensatz eindeutig identifiziert oder nicht (ohne/mit Duplikate)
- Insbesondere sollte ein Feld indiziert werden, über dessen Inhalt zwei Tabellen miteinander verknüpft werden. In diesem Fall ist es die Personenkennzahl. Beachte, daß diese in der Sündertabelle jedem Eintrag eindeutig zugeordnet ist, in der Strafentabelle aber nicht.

- Der Primärschlüssel ist ein Feld, das zur eindeutigen Erkennung eines Datensatzes dient. Dessen Inhalt darf in der Tabelle also nur in einem einzigen Datensatz vorkommen. Standardmässig verwendet Access dazu das Feld "ID", mit dem die Datensätze numeriert werden.
- Dieses Feld ist für unsere Zwecke untauglich, weil zur Verknüpfung der Tabellen die Personenkennnummer dient. Diese wird als Primärschlüssel definiert, indem man in der Entwurfsansicht den Cursor in die entsprechende Zeile setzt, die rechte Maustaste drückt und im Kontextmenu "Primärschlüssel setzen" wählt.

5. Hinweise:

- Wenn die Definition der Tabelle fertig ist, speichert man sie ab: Wähle den Menupunkt "Datei/Speichern unter" und gib als Tabellenname "Sünder" an.
- Falls noch kein Primärschlüssel festgeöegt ist: Die Frage, ob ein Primärschlüssel erstellt werden soll, ist mit "ja" zu beantworten. Im Zweifel verwendet Access die Datensatznummer als Schlüssel, weil sie den Datensatz eindeutig identifiziert. Hier ist die Personenkennzahl zu wählen.
- Außerdem solltest Du die wichtigsten Teile der Definition der Tabelle für Deine Unterlagen ausdrucken. Dies geschieht mit "Datei/Definition drucken". Vorsicht: Um kein Papier zu verschwenden, sollte man bei den Angaben für den Ausdruck nicht alle Informationen einschließen.

6. Eingabe von Daten:

- Bei geöffneter Datenbank markiere die gewünschte Tabelle und klicke auf "Öffnen". Gib nach dem folgenden Muster eine Anzahl Daten ein.
- Speichere die Daten ab (Menu "Datei/Tabelle Speichern") und drucke ein Muster der Tabelle für Deine Unterlagen (Menu "Datei/Drucken").
Suuml;ndertabelle

7. Aufgabe:

- Erstelle eine weitere Tabelle innerhalb der selben Datenbank. Nenne die Tabelle "Strafen" und definiere die Felder wie im folgenden Bild.
- Beachte das Feld "Nr", das in beiden Tabellen vorkommt und über das sie später verknüpft werden. Dieses Feld sollte auch hier indiziert werden.
- Denke bei der Dateneingabe daran, Nummern zu verwenden, die schon in der Sünder-Tabelle vorkamen. Da jeder Sünder mehrere Einträge bei den Strafen haben kann, darf eine Nummer in dieser Tabelle mehrfach vorkommen!
- Drucke auch hier die Tabellendefinition und die eingegebenen Daten zwecks Dokumentation aus.
- Das Feld "Nr", das die Kennnummer des Sünders enthält, ist zu indizieren, damit die Strafentabelle mit der Sündertabelle später verknüpft werden kann.
- Als Primärschlüssel ist das Feld "Nr" hier ungeeignet, weil mehrere Datensätze die selbe Kennnummer enthallten können. Sinnvoll ist es, das Feld "ID" als Primärschlüssel festzulegen.
Strafentabelle

8. Gültigkeitsprüfung:

- Bei der Festlegung der Eigenschaften von Feldern lässt sich für jedes Feld eine Bedingung angeben, die gültige Dateneingaben zu erfüllen haben. Gültige Postleitzahlen beginnen z.B. mit Ziffern im Bereich von 010 (Dresden) bis 990 (Erfurt).
- Für den Fall einer Fehleingabe kann eine Gültigkeitsmeldung vorgegeben werden, also etwa "Postleitzahl muss zwischen 10001 und 99099 liegen".
- Sollte z.B. die Mindeststrafe das 10-fache der Strafpunktzahl betragen, dann wäre eine Gültigkeitsregel "[Strafe in DM] >= 10*[Punkte]". Beachte dabei, daß der Feldname in eckige Klammern gesetzt wird.

9. Aufgabe:

- Ändere bei beiden Tabellen die Eigenschaften der Felder so ab, daß Access die Eingabe von Datensätzen ablehnt, wenn Name, Vorname oder Kennummer fehlen.
- Gib ausserdem bei der Postleitzahl, der Punktzahl und der Strafe sinnvolle Gültigkeitsregeln und entsprechende Meldungen vor.
- Teste die korrekte Funktion dieser Änderungen anhand einiger Beispiele.

10. Verknüpfung der beiden Tabellen:

- Wir stellen jetzt noch die Verknüpfung der beiden Tabellen her. Dazu schliesst man die Tabellen und wählt im Hauptmenu den Punkt "Bearbeiten/Beziehungen".
- Jetzt kann man einfach beide Tabellen mit der Maus aus dem Fenster "Datenbank" ins Fenster "Beziehungen" hinüberziehen.
- Anschliessend zieht man aus der Tabelle der Sünder das Feld "Nr" mit der Maus auf die Tabelle der Strafen und lässt es dort auf das Feld "Nr" fallen.
- Jetzt geht ein weiteres Fenster auf, in dem man "mit referentieller Integrität" ankreuzt und auf "Erstellen" klickt. Beachte aber vorher die weiteren vorhandenen Radiobuttons und Checkboxen!

[Inhalt] [Relationale Datenbanken] [Tabellen] [Abfragen] [Formulare] [Berichte] [Makros und Schaltflächen] [Übersichten]