Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
52 Kapitel 1: Ein Blick hinter die Kulissen Beachten Sie bitte noch in Abbildung 1.16 die Zeile: Nur Listeneinträge = Ja. Wenn Sie dort Nein eingeben, kann der Benutzer später zwar die vordefinierten Werte aus einem Kombinationsfeld auswählen er kann aber auch andere Werte von Hand eingeben. Das würde z.B. in der Tabelle tblWettkampf beim Feld wet_ort Sinn machen, wenn fast alle Wettkämpfe in einer begrenzten Anzahl von Orten stattfinden ganz selten aber auch einmal anderswo. Dann könnte der Benutzer den Ort meistens ganz bequem aus dem Kombinationsfeld auswählen, könnte aber auch ausnahmsweise mal einen ande- ren Ort eintippen. Damit sind wir wieder mal bei der Benutzerfreundlichkeit. Nachschlagefelder haben aber auch noch einen zweiten Zweck: Das ist die Sicherheit vor Falscheingaben. Wenn Sie Nur Listeneinträge = Ja eingestellt haben, ist der Benutzer später nicht in der Lage, falsche Werte in dieser Tabellenspalte einzugeben. Abschließend noch ein Hinweis auf die Einstellung Zeilenanzahl: Damit legen Sie fest, wie viele Zeilen das Kombinationsfeld in der Tabellenansicht (siehe Abbildung 1.14) anzeigt. Bitte einmal ausprobieren: Ändern Sie den Wert auf »8«, öffnen Sie die Tabelle tblMitglied, klicken Sie in ein beliebiges Feld der Spalte mit_seitmonat und öffnen Sie dann das Kombinationsfeld. Es wird jetzt acht Zeilen haben. Diese Einstellung ist aber ziemlich belanglos, denn in der Tabellenansicht werden Sie höchstens einmal ganz zu Anfang der Anwendungsentwicklung arbeiten, wenn Sie erste Testdaten eingeben. Spä- ter benutzen Sie die Formulare zur Datenbearbeitung und dort können Sie für die An- zahl der Zeilen des Kombinationsfeldes einen beliebigen anderen Wert einstellen. Beziehungen und Fremdschlüssel Jetzt kommen wir wie schon mehrfach angekündigt zu den Fremdschlüsseln. In Abbildung 1.14 war uns die Spalte man_id_f als Fremdkörper in der Tabelle tblMitglied aufgefallen. Das soll auch so sein, denn man_id_f ist ein Fremdschlüssel. Damit sind wir beim geheimsten Geheimnis der Datenbanktechnik angekommen: Die einzelnen Tabellen sind nämlich nicht unabhängig voneinander. Was nützt es uns, eine Tabelle mit Mitgliedern zu haben und eine andere mit Mannschaften, wenn wir nicht wissen, welches Mitglied in welcher Mannschaft ist? In der Realität, im wahren Leben gehören verschiedene Dinge zusammen: Mitglieder sind in Mannschaften, Mit- glieder zahlen Beiträge, Mannschaften nehmen an Wettkämpfen teil, Trainer trainieren Mannschaften usw. In einer Datenbank werden diese Dinge auseinandergerissen und in separaten Tabellen abgespeichert: Mitglieder in der Tabelle tblMitglied, Mannschaften in der Tabelle tblMannschaft usw. Man sagt: eine Tabelle repräsentiert einen Objekttyp (z.B. »Mannschaft«) eine Zeile einer Tabelle repräsentiert ein konkretes Objekt (z.B. »Alte Herren«) eine Spalte einer Tabelle repräsentiert eine Objekteigenschaft (z.B. »Name«) Damit geht zunächst einmal der Zusammenhang zwischen den Objekten verloren. Da eine solche »Datenbank« aber völlig sinnlos wäre, gibt es die Fremdschlüssel.