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:
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.
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:
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").
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.
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]