Abfrage erstellen |
Bisher gab es schon viel Arbeit, wozu soll eine Abfrage gut sein?
Wenn wir schon eine Geräteliste und eine Übersicht der Reparaturbetriebe haben, wäre ja toll, wir könnten eine Liste erstellen, in der zu jedem Gerät angegeben wird, welche Telefonnummer man im Störungsfall wählen muß, damit möglichst schnell die Reparierer aufkreuzen. Wir brauchen eine "Abfrage", die Daten zweier Tabellen miteinander verbindet.
Jetzt kommt die zweite Option im Datenbankfenster ins Spiel, die "Abfragen" heißt. Es gibt wieder viele Möglichkeiten, eine "neue Abfrage in der Entwurfsansicht" zu erstellen. Die Entwurfsansicht sollten wir hier bevorzugen, damit wir lernen, wie es geht.
Es erscheinen gleich zwei Fenster, im Vordergrund dieses:

Der Sinn dieses Auswahlfensters ist klar, "Abfrage" meint die Suche in Datenbeständen, welche genau, muß angesagt werden. Hier geht es um alle vorhandenen, nämlich die beiden Tabellen. Die sollen also hier angewählt werden.
Danach wird geschlossen und was wir jetzt sehen, ist dies:

Eine Darstellung der Tabellen, die wir verknüpfen wollen. Allerdings müssen wir ein wenig mit der Maus arbeiten, zielen, linke Maustaste drücken und zurechtrücken, damit wir gut sehen:

Der verbindende Strich erscheint nur, wenn die Namen der Service-Betriebsnummern gleich lauten, wie oben vorgeschlagen. Fehlt sie, dann kann sie mit der Maus eingefügt werden, indem man einen der Feldnamen auf den zugehörigen der zweiten Tabellendarstellung zieht.
Die rechte Maustaste auf der Verbindung gedrückt ermöglicht das Löschen, wenn man sich vertan hat, aber auch -wichtig, wichtig- die Einstellung der "Verknüpfungseigenschaften", die uns brennend interessieren.

Hier muß man hingucken. Bitte! Die richtige Wahl hat eine zunächst recht unscheinbare Wirkung: Die Verbindungslinie ist nun ein Pfeil.

Der symbolisiert, was wir gewählt haben, die Anzeige aller Geräte, und nur derjenigen Servicebetriebe, die zu einem Gerät gehören. Könnte ja sein, die Betriebsliste ist viel länger.
| Man wird ja mal fragen dürfen: Wie kann man für ein Gerät mehrere Servicebetriebe vorsehen, weil evtl., wenn man sie braucht, einer in Pleite, einer im Urlaub, einer verzogen und einer verkauft ist? Achtung, eine Antwort gibt es nur, wenn JavaScript eingeschaltet ist! |
Wie weiter?
Nun zieht man mit der Maus diejenigen Feldnamen aus beiden Tabellen, die man in einer künftigen, unten symbolisierten Tabelle sehen will.
Also hier: Aus der Gerätetabelle holen wir den Geräte-Namen, aus der Servicetabelle den Betriebs-Namen und die Telefon-Nummer; so sieht es anschließend aus.

der früher erwähnte Button, ganz links in der Menüleiste, schaltet um in die Tabellenansicht

Toll, dies etwa wäre es, was man sich an die Labortür pinnt, damit es im Notfall schnell geht. Störend allerdings, daß die Geräte nicht wenigstens alfabetisch (das soll jetzt so heißen!?) angezeigt werden, es könnte ja sein, daß wir schrecklich viele Geräte besitzen.
Nichts leichter als das. Zurück in den Entwurf (Button mit dem Dreieck!), in der Zeile " Sortierung" unter der Überschrift " Geräte" " Aufsteigend" wählen, zurück in die Tabellenansicht (Button, na Sie wissen schon...)

Nachdem dies geschafft ist, wird man die Abfrage schließen, etwa mit dem Schließen-Knöpfchen des Fensters, oben rechts, schon kommt die Frage:

... die man tunlichst bejaht, um einen Namen zu vergeben und das wichtige Arbeitsergebnis zu sichern. Dabei kommt man eine der Stellen, an denen sich die Programmiererstreu vom Weizen scheidet:

"Abfrage1", so findet die Streu, ist ein schöner Name; der Weizen allerdings schreibt hier etwas Sinvolles hin, vielleicht "Geräteservice", und findet sich auch noch Jahre später in seiner Datenbank zurecht!
Abschließende Erläuterung:
Die Abfrage, nunmehr unter einem eigenen Namen in der Liste der Abfragen vertreten (bitte im Datenbankfenster überprüfen!), ergibt zwar eine Tabelle, wird aber nur als Arbeitsvorschrift, also ohne Daten gespeichert und bei jedem Aufruf neu erzeugt.
Wie diese Arbeitsvorschrift lautet, die in SQL (Structured Query Language) formuliert ist, wird uns verraten, wenn wir etwa im Menü den Button zum Wechsel der Ansicht nicht einfach anklicken, sondern die Auswahloption wählen:

Der Klick bringt den Abfragetext:

den man, glaubt es oder glaubt es nicht, auch von Hand erstellen oder ändern kann. Spräche man mit englischer Zunge, man läse (fast) in Klartext, was gewünscht wird.
Die SQL-Schlüsselworte sind hier durch Großschreibung hervorgehoben, Felder werden mit vorangestelltem Tabellennamen in der Form Tab_Name.Feld_Name angesprochen, Zeilenumbrüche sind optional, der ganze Abfragesatz wird mit Semikolon geschlossen. Der Rest ist klar.
Wer von Forschergeist beseelt ist, kann nun testen, welche Veränderungen in der Abfrage welche Veränderungen in SQL bewirken und diese schöne Sprache auf diese Weise erkunden.