Stellen wir uns vor, wir wollen in einer Datenbank die Namen von Orten in
Deutschland speichern. Dabei interessiert uns auch, in welchem Bundesland ein Ort
liegt. Würden wir nun in einer Tabelle ein Feld txtOrt
und ein Feld
txtLand
anlegen, wäre es nur eine Frage der Zeit, bis verschiedene
Schreibweisen ein und desselben Bundeslands in der Tabelle auftauchen, z. B.
„Bayern“ und „Baiern“, „Baden-Württemberg“ und „Baden - Württenberg“.
Das wäre natürlich nicht wünschenswert.
Stattdessen erstellen wir zwei Tabellen; eine namens tblOrte
, in
der wir die Ortsnamen eintragen, und eine weitere Tabelle tblLänder
für die Bundesländer. In tblOrte
wird nur die Nummer des jeweiligen
Bundeslands eingetragen:
tblOrte | ||
---|---|---|
IDOrt | txtOrt | lngLand |
1 | Berlin | 3 |
2 | Hamburg | 6 |
3 | München | 2 |
4 | Köln | 10 |
5 | Frankfurt | 7 |
6 | Stuttgart | 1 |
7 | Düsseldorf | 10 |
8 | Dortmund | 10 |
tblLänder | |
---|---|
IDLand | txtLand |
1 | Baden-Württemberg |
2 | Bayern |
3 | Berlin |
4 | Brandenburg |
5 | Bremen |
6 | Hamburg |
7 | Hessen |
8 | Mecklenburg-Vorpommern |
9 | Niedersachsen |
10 | Nordrhein-Westfalen |
11 | Rheinland-Pfalz |
12 | Saarland |
13 | Sachsen |
14 | Sachsen-Anhalt |
15 | Schleswig-Holstein |
16 | Thüringen |
Diese beiden Tabellen werden uns im weiteren Verlauf des Tutorials immer wieder begegnen, weswegen man sie am eigenen PC reproduzieren sollte. Die hier gezeigten acht größten Städte Deutschlands sind für die Zwecke des Tutorials vollkommen ausreichend, aber man kann natürlich nach Belieben weitere Orte hinzufügen.
Wer sich an die Namenskonventionen
erinnert, wird feststellen, dass die Tabelle tblLänder
ein Feld
IDLand
enthält, tblOrte
dagegen ein Feld
lngLand
. Das Nummerieren überlassen wir nämlich einfach der Datenbank:
IDLand
ist vom Typ Autowert. Trägt man im Feld txtLand
einen neuen Datensatz ein, wird IDLand
automatisch gefüllt. In der
Tabelle tblOrte
muss dann das Feld, in dem das Bundesland gespeichert
wird, den gleichen Zahlenumfang speichern können. Autowert entspricht insofern dem
Typ Long Integer.
Man mag sich fragen, ob man bei der Datenerfassung immer nach der richtigen Nummer des Bundeslands suchen muss. Keine Panik! Später werden wir sehen, dass nur der Programmierer, nicht der Anwender Tabellen sehen sollte. Die Nummer sucht Microsoft Access (in einem Formular) automatisch, ein Anwender sieht nur den Namen des Bundeslandes.
Je nach Zweck einer Datenbank können noch viele Tabellen hinzugefügt werden. In unserem Beispiel könnte man z. B. noch Tabellen benötigen, um Straßen zu erfassen. Dann würde in der Straßentabelle auch die Nummer der Stadt gespeichert werden. Die Nummer des Bundeslandes wäre bei den Straßen dagegen überflüssig, weil das Bundesland ja schon bei der Stadt gespeichert ist.
Würden wir weitere Angaben zum Bundesland benötigen, z. B. die Größe, würde
das ebenfalls in tblLänder
gespeichert. Jede Tabelle ist also eine
Informationssammlung gleichartiger Objekte, und jedes Feld speichert eine
Eigenschaft des Objekts. Die Felder innerhalb einer Tabelle stehen zueinander in
Relation (daher der Begriff „relationale Datenbank“).